diff -ur abi/src/af/ev/unix/ev_UnixMenuBar.h abi-dynamic-menu/src/af/ev/unix/ev_UnixMenuBar.h --- abi/src/af/ev/unix/ev_UnixMenuBar.h Thu Sep 6 10:35:42 2001 +++ abi-dynamic-menu/src/af/ev/unix/ev_UnixMenuBar.h Mon Sep 17 10:30:01 2001 @@ -43,9 +43,9 @@ XAP_UnixFrame * pUnixFrame, const char * szMenuLayoutName, const char * szMenuLabelSetName); - virtual ~EV_UnixMenuBar(void); + virtual ~EV_UnixMenuBar(); - virtual bool synthesizeMenuBar(void); + virtual bool synthesizeMenuBar(); virtual bool refreshMenu(AV_View * pView); protected: diff -ur abi/src/af/xap/beos/xap_BeOSFrame.cpp abi-dynamic-menu/src/af/xap/beos/xap_BeOSFrame.cpp --- abi/src/af/xap/beos/xap_BeOSFrame.cpp Thu Sep 6 10:35:42 2001 +++ abi-dynamic-menu/src/af/xap/beos/xap_BeOSFrame.cpp Mon Sep 17 11:27:08 2001 @@ -569,3 +569,8 @@ static_cast(frame), szLayout, szLanguage)); } + +EV_Menu* XAP_BeOSFrame::getMainMenu() +{ + return m_pBeOSMenu; +} diff -ur abi/src/af/xap/beos/xap_BeOSFrame.h abi-dynamic-menu/src/af/xap/beos/xap_BeOSFrame.h --- abi/src/af/xap/beos/xap_BeOSFrame.h Thu Sep 6 10:35:42 2001 +++ abi-dynamic-menu/src/af/xap/beos/xap_BeOSFrame.h Mon Sep 17 11:27:42 2001 @@ -153,6 +153,7 @@ virtual void toggleRuler(bool bRulerOn) = 0; virtual void translateDocumentToScreen(UT_sint32 &x, UT_sint32 &y) = 0; + virtual EV_Menu* getMainMenu(); protected: // virtual GtkWidget * _createDocumentWindow(void)=0; diff -ur abi/src/af/xap/mac/xap_MacFrame.cpp abi-dynamic-menu/src/af/xap/mac/xap_MacFrame.cpp --- abi/src/af/xap/mac/xap_MacFrame.cpp Thu Sep 6 10:35:42 2001 +++ abi-dynamic-menu/src/af/xap/mac/xap_MacFrame.cpp Mon Sep 17 11:36:12 2001 @@ -371,3 +371,7 @@ //_setOrigin (0, top); } +EV_Menu* XAP_MacFrame::getMainMenu() +{ + return m_pMacMenu; +} diff -ur abi/src/af/xap/mac/xap_MacFrame.h abi-dynamic-menu/src/af/xap/mac/xap_MacFrame.h --- abi/src/af/xap/mac/xap_MacFrame.h Thu Sep 6 10:35:42 2001 +++ abi-dynamic-menu/src/af/xap/mac/xap_MacFrame.h Mon Sep 17 11:34:54 2001 @@ -104,6 +104,8 @@ short _getVisibleRgnTop () { return m_visibleRgnTop; }; void _setVisibleRgnTop (short top); + virtual EV_Menu* getMainMenu(); + protected: virtual EV_Toolbar * _newToolbar(XAP_App *app, XAP_Frame *frame, const char *, const char *); diff -ur abi/src/af/xap/qnx/xap_QNXFrame.cpp abi-dynamic-menu/src/af/xap/qnx/xap_QNXFrame.cpp --- abi/src/af/xap/qnx/xap_QNXFrame.cpp Thu Sep 6 10:35:42 2001 +++ abi-dynamic-menu/src/af/xap/qnx/xap_QNXFrame.cpp Mon Sep 17 11:35:25 2001 @@ -620,3 +620,8 @@ return (new EV_QNXToolbar((XAP_QNXApp *)(app), (XAP_QNXFrame *)(frame), szLayout, szLanguage)); } + +EV_Menu* XAP_QNXFrame::getMainMenu() +{ + return m_pQNXMenu; +} diff -ur abi/src/af/xap/qnx/xap_QNXFrame.h abi-dynamic-menu/src/af/xap/qnx/xap_QNXFrame.h --- abi/src/af/xap/qnx/xap_QNXFrame.h Thu Sep 6 10:35:42 2001 +++ abi-dynamic-menu/src/af/xap/qnx/xap_QNXFrame.h Mon Sep 17 11:34:29 2001 @@ -84,6 +84,7 @@ int getPopupDone() { return m_PopupDone; }; void setPopupDone(int value) { m_PopupDone = value; }; + virtual EV_Menu* getMainMenu(); PhArea_t m_AvailableArea; PtWidget_t * m_wSunkenBox; --- abi/src/af/xap/unix/xap_UnixFrame.cpp Thu Sep 6 10:35:42 2001 +++ abi-dynamic-menu/src/af/xap/unix/xap_UnixFrame.cpp Mon Sep 17 10:34:28 2001 @@ -890,6 +890,11 @@ void XAP_UnixFrame::queue_resize() { - UT_DEBUGMSG(("XAP_UnixFrame::queue_resize\n")); + xxx_UT_DEBUGMSG(("XAP_UnixFrame::queue_resize\n")); gtk_widget_queue_resize(m_wTopLevelWindow); +} + +EV_Menu* XAP_UnixFrame::getMainMenu() +{ + return m_pUnixMenu; } diff -ur abi/src/af/xap/unix/xap_UnixFrame.h abi-dynamic-menu/src/af/xap/unix/xap_UnixFrame.h --- abi/src/af/xap/unix/xap_UnixFrame.h Thu Sep 6 10:35:42 2001 +++ abi-dynamic-menu/src/af/xap/unix/xap_UnixFrame.h Mon Sep 17 10:33:56 2001 @@ -81,6 +81,8 @@ virtual void toggleRuler(bool bRulerOn) = 0; virtual void queue_resize(); + virtual EV_Menu* getMainMenu(); + protected: virtual GtkWidget * _createDocumentWindow() = 0; virtual GtkWidget * _createStatusBarWindow() = 0; diff -ur abi/src/af/xap/win/xap_Win32Frame.cpp abi-dynamic-menu/src/af/xap/win/xap_Win32Frame.cpp --- abi/src/af/xap/win/xap_Win32Frame.cpp Thu Sep 6 10:35:42 2001 +++ abi-dynamic-menu/src/af/xap/win/xap_Win32Frame.cpp Mon Sep 17 11:26:38 2001 @@ -691,3 +691,8 @@ return result; } + +EV_Menu* XAP_Win32Frame::getMainMenu() +{ + return m_pWin32Menu; +} diff -ur abi/src/af/xap/win/xap_Win32Frame.h abi-dynamic-menu/src/af/xap/win/xap_Win32Frame.h --- abi/src/af/xap/win/xap_Win32Frame.h Thu Sep 6 10:35:42 2001 +++ abi-dynamic-menu/src/af/xap/win/xap_Win32Frame.h Mon Sep 17 11:26:18 2001 @@ -67,6 +67,7 @@ HWND getTopLevelWindow(void) const; HWND getToolbarWindow(void) const; EV_Win32Mouse * getWin32Mouse(void); + virtual EV_Menu* getMainMenu(); virtual XAP_DialogFactory * getDialogFactory(void); virtual void setXScrollRange(void)=0; diff -ur abi/src/af/xap/xp/xap_Frame.cpp abi-dynamic-menu/src/af/xap/xp/xap_Frame.cpp --- abi/src/af/xap/xp/xap_Frame.cpp Thu Sep 6 10:35:42 2001 +++ abi-dynamic-menu/src/af/xap/xp/xap_Frame.cpp Mon Sep 17 10:44:45 2001 @@ -45,6 +45,8 @@ #include "xap_Scrollbar_ViewListener.h" #include "ev_Keyboard.h" #include "ev_Mouse.h" +#include "ev_Toolbar.h" +#include "ev_Menu.h" #include "xap_Strings.h" #include "xap_DialogFactory.h" #include "xap_Dialog_Id.h" @@ -233,7 +235,7 @@ const char * szToolbarLayouts = NULL; if ((pApp->getPrefsValue(szToolbarLayoutsKey, - (const XML_Char**)&szToolbarLayouts)) && + (const XML_Char**)&szToolbarLayouts)) && (szToolbarLayouts) && (*szToolbarLayouts)) ; else diff -ur abi/src/af/xap/xp/xap_Frame.h abi-dynamic-menu/src/af/xap/xp/xap_Frame.h --- abi/src/af/xap/xp/xap_Frame.h Thu Sep 6 10:35:42 2001 +++ abi-dynamic-menu/src/af/xap/xp/xap_Frame.h Mon Sep 17 10:43:54 2001 @@ -28,7 +28,7 @@ #include "xav_Listener.h" // for AV_ListenerID #include "xap_Dlg_MessageBox.h" #include "xap_Strings.h" -#include "ev_Toolbar.h" +//#include "ev_Toolbar.h" class XAP_App; class XAP_DialogFactory; @@ -36,12 +36,11 @@ class AV_View; class AD_Document; class EV_EditEventMapper; -class EV_Menu_Layout; -class EV_Menu_LabelSet; class EV_EditBindingMap; class EV_Mouse; -//class EV_Toolbar; +class EV_Toolbar; class EV_Keyboard; +class EV_Menu; class AV_ScrollObj; class ap_Scrollbar_ViewListener; @@ -145,6 +144,7 @@ EV_Mouse * getMouse(void); EV_Keyboard * getKeyboard(void); EV_Toolbar * getToolbar(UT_uint32 ibar); + virtual EV_Menu* getMainMenu() = 0; bool repopulateCombos(void); void setAutoSaveFile(bool); @@ -165,6 +165,7 @@ // when the user selects hide statusbar, the Frame has to be // resized in order to fill the gap leaved by the statusbar virtual void queue_resize() {} + protected: virtual void _createToolbars(void); virtual EV_Toolbar * _newToolbar(XAP_App *app, XAP_Frame *frame, const char *, const char *)