X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c71830c3b63568566cf5f006165e51ffaee0c704..4a46a5df879c4f820d0a0a435b34c7d5e4793991:/src/motif/menu.cpp?ds=inline diff --git a/src/motif/menu.cpp b/src/motif/menu.cpp index 7fa4d9f93b..84410f4f5f 100644 --- a/src/motif/menu.cpp +++ b/src/motif/menu.cpp @@ -22,6 +22,8 @@ // headers // ---------------------------------------------------------------------------- +#include "wx/defs.h" + #include "wx/menu.h" #include "wx/menuitem.h" #include "wx/log.h" @@ -30,6 +32,11 @@ #include "wx/frame.h" #include "wx/settings.h" +#ifdef __VMS__ +#pragma message disable nosimpint +#define XtDisplay XTDISPLAY +#define XtWindow XTWINDOW +#endif #include #include #include @@ -39,16 +46,17 @@ #include #include #include +#ifdef __VMS__ +#pragma message enable nosimpint +#endif #include "wx/motif/private.h" // other standard headers #include -#if !USE_SHARED_LIBRARY IMPLEMENT_DYNAMIC_CLASS(wxMenu, wxEvtHandler) IMPLEMENT_DYNAMIC_CLASS(wxMenuBar, wxEvtHandler) -#endif // ============================================================================ // implementation @@ -76,9 +84,9 @@ void wxMenu::Init() 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. @@ -162,14 +170,14 @@ bool wxMenu::ProcessCommand(wxCommandEvent & event) { bool processed = FALSE; -#if WXWIN_COMPATIBILITY +#if wxUSE_MENU_CALLBACK // Try a callback if (m_callback) { (void) (*(m_callback)) (*this, event); processed = TRUE; } -#endif // WXWIN_COMPATIBILITY +#endif // wxUSE_MENU_CALLBACK // Try the menu's event handler if ( !processed && GetEventHandler()) @@ -193,9 +201,9 @@ void wxMenuBar::Init() 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[]) @@ -216,7 +224,8 @@ wxMenuBar::~wxMenuBar() void wxMenuBar::EnableTop(size_t WXUNUSED(pos), bool WXUNUSED(flag)) { - wxFAIL_MSG("TODO"); + // wxFAIL_MSG("TODO"); +// wxLogWarning("wxMenuBar::EnableTop not yet implemented."); } void wxMenuBar::SetLabelTop(size_t pos, const wxString& label) @@ -277,7 +286,7 @@ bool wxMenuBar::Append(wxMenu * menu, const wxString& title) menu->SetButtonWidget(w); } - menu->SetMenuBar(this); + //menu->SetMenuBar(this); m_titles.Add(title); @@ -356,7 +365,7 @@ bool wxMenuBar::CreateMenuBar(wxFrame* parent) { 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); @@ -365,7 +374,7 @@ bool wxMenuBar::CreateMenuBar(wxFrame* parent) 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(); @@ -385,6 +394,9 @@ bool wxMenuBar::CreateMenuBar(wxFrame* parent) XtVaSetValues(GetWidget(menu), XmNtearOffModel, XmTEAR_OFF_ENABLED, NULL); + Widget tearOff = XmGetTearOffControl(GetWidget(menu)); + wxDoChangeForegroundColour((Widget) tearOff, m_foregroundColour); + wxDoChangeBackgroundColour((Widget) tearOff, m_backgroundColour, TRUE); #endif } } @@ -393,7 +405,7 @@ bool wxMenuBar::CreateMenuBar(wxFrame* parent) 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);