]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/menu.cpp
ignore clicks on a toolbar but outside any button
[wxWidgets.git] / src / motif / menu.cpp
index 30ca32e4cd7cb6bd269f90c7f95062ad62a68ce8..c5d3232ead6330e8d5bde438578366a7b2355828 100644 (file)
@@ -22,6 +22,8 @@
 // headers
 // ----------------------------------------------------------------------------
 
 // headers
 // ----------------------------------------------------------------------------
 
+#include "wx/defs.h"
+
 #include "wx/menu.h"
 #include "wx/menuitem.h"
 #include "wx/log.h"
 #include "wx/menu.h"
 #include "wx/menuitem.h"
 #include "wx/log.h"
 #include "wx/frame.h"
 #include "wx/settings.h"
 
 #include "wx/frame.h"
 #include "wx/settings.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#define XtDisplay XTDISPLAY
+#define XtWindow XTWINDOW
+#endif
 #include <Xm/Label.h>
 #include <Xm/LabelG.h>
 #include <Xm/CascadeBG.h>
 #include <Xm/Label.h>
 #include <Xm/LabelG.h>
 #include <Xm/CascadeBG.h>
 #include <Xm/ToggleB.h>
 #include <Xm/ToggleBG.h>
 #include <Xm/RowColumn.h>
 #include <Xm/ToggleB.h>
 #include <Xm/ToggleBG.h>
 #include <Xm/RowColumn.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
 // other standard headers
 #include <string.h>
 
 
 #include "wx/motif/private.h"
 
 // other standard headers
 #include <string.h>
 
-#if !USE_SHARED_LIBRARY
 IMPLEMENT_DYNAMIC_CLASS(wxMenu, wxEvtHandler)
 IMPLEMENT_DYNAMIC_CLASS(wxMenuBar, wxEvtHandler)
 IMPLEMENT_DYNAMIC_CLASS(wxMenu, wxEvtHandler)
 IMPLEMENT_DYNAMIC_CLASS(wxMenuBar, wxEvtHandler)
-#endif
 
 // ============================================================================
 // implementation
 
 // ============================================================================
 // implementation
@@ -76,9 +84,9 @@ void wxMenu::Init()
         AppendSeparator() ;
     }
 
         AppendSeparator() ;
     }
 
-    m_backgroundColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_MENU);
-    m_foregroundColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_MENUTEXT);
-    m_font = wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT);
+    m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_MENU);
+    m_foregroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_MENUTEXT);
+    m_font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
 }
 
 // The wxWindow destructor will take care of deleting the submenus.
 }
 
 // The wxWindow destructor will take care of deleting the submenus.
@@ -162,12 +170,14 @@ bool wxMenu::ProcessCommand(wxCommandEvent & event)
 {
     bool processed = FALSE;
 
 {
     bool processed = FALSE;
 
+#if wxUSE_MENU_CALLBACK
     // Try a callback
     if (m_callback)
     {
         (void) (*(m_callback)) (*this, event);
         processed = TRUE;
     }
     // Try a callback
     if (m_callback)
     {
         (void) (*(m_callback)) (*this, event);
         processed = TRUE;
     }
+#endif // wxUSE_MENU_CALLBACK
 
     // Try the menu's event handler
     if ( !processed && GetEventHandler())
 
     // Try the menu's event handler
     if ( !processed && GetEventHandler())
@@ -191,9 +201,9 @@ void wxMenuBar::Init()
     m_eventHandler = this;
     m_menuBarFrame = NULL;
     m_mainWidget = (WXWidget) NULL;
     m_eventHandler = this;
     m_menuBarFrame = NULL;
     m_mainWidget = (WXWidget) NULL;
-    m_backgroundColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_MENU);
-    m_foregroundColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_MENUTEXT);
-    m_font = wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT);
+    m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_MENU);
+    m_foregroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_MENUTEXT);
+    m_font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
 }
 
 wxMenuBar::wxMenuBar(int n, wxMenu *menus[], const wxString titles[])
 }
 
 wxMenuBar::wxMenuBar(int n, wxMenu *menus[], const wxString titles[])
@@ -276,7 +286,7 @@ bool wxMenuBar::Append(wxMenu * menu, const wxString& title)
         menu->SetButtonWidget(w);
     }
 
         menu->SetButtonWidget(w);
     }
 
-    menu->SetMenuBar(this);
+    //menu->SetMenuBar(this);
 
     m_titles.Add(title);
 
 
     m_titles.Add(title);
 
@@ -355,7 +365,7 @@ bool wxMenuBar::CreateMenuBar(wxFrame* parent)
 {
     if (m_mainWidget)
     {
 {
     if (m_mainWidget)
     {
-        XtVaSetValues((Widget) parent->GetMainWindowWidget(), XmNmenuBar, (Widget) m_mainWidget, NULL);
+        XtVaSetValues((Widget) parent->GetMainWidget(), XmNmenuBar, (Widget) m_mainWidget, NULL);
         /*
         if (!XtIsManaged((Widget) m_mainWidget))
         XtManageChild((Widget) m_mainWidget);
         /*
         if (!XtIsManaged((Widget) m_mainWidget))
         XtManageChild((Widget) m_mainWidget);
@@ -364,7 +374,7 @@ bool wxMenuBar::CreateMenuBar(wxFrame* parent)
         return TRUE;
     }
 
         return TRUE;
     }
 
-    Widget menuBarW = XmCreateMenuBar ((Widget) parent->GetMainWindowWidget(), "MenuBar", NULL, 0);
+    Widget menuBarW = XmCreateMenuBar ((Widget) parent->GetMainWidget(), "MenuBar", NULL, 0);
     m_mainWidget = (WXWidget) menuBarW;
 
     size_t menuCount = GetMenuCount();
     m_mainWidget = (WXWidget) menuBarW;
 
     size_t menuCount = GetMenuCount();
@@ -395,7 +405,7 @@ bool wxMenuBar::CreateMenuBar(wxFrame* parent)
     SetForegroundColour(m_foregroundColour);
     SetFont(m_font);
 
     SetForegroundColour(m_foregroundColour);
     SetFont(m_font);
 
-    XtVaSetValues((Widget) parent->GetMainWindowWidget(), XmNmenuBar, (Widget) m_mainWidget, NULL);
+    XtVaSetValues((Widget) parent->GetMainWidget(), XmNmenuBar, (Widget) m_mainWidget, NULL);
     XtRealizeWidget ((Widget) menuBarW);
     XtManageChild ((Widget) menuBarW);
     SetMenuBarFrame(parent);
     XtRealizeWidget ((Widget) menuBarW);
     XtManageChild ((Widget) menuBarW);
     SetMenuBarFrame(parent);
@@ -516,8 +526,6 @@ WXWidget wxMenu::CreateMenu (wxMenuBar * menuBar, WXWidget parent, wxMenu * topM
     else
     {
         char mnem = wxFindMnemonic (title);
     else
     {
         char mnem = wxFindMnemonic (title);
-        wxStripMenuCodes ((char*) (const char*) title, wxBuffer);
-
         menu = XmCreatePulldownMenu ((Widget) parent, "pulldown", args, 2);
 
         wxString title2(wxStripMenuCodes(title));
         menu = XmCreatePulldownMenu ((Widget) parent, "pulldown", args, 2);
 
         wxString title2(wxStripMenuCodes(title));