X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dfe1eee3bb9ecde8c4490ea69c07b5030d69530c..fa8dca8dd1ba0d6ee9b2c5919a3a944ecde68a50:/src/motif/control.cpp diff --git a/src/motif/control.cpp b/src/motif/control.cpp index 70fa4f3d3c..c31dec797f 100644 --- a/src/motif/control.cpp +++ b/src/motif/control.cpp @@ -17,24 +17,49 @@ #include "wx/panel.h" #include "wx/utils.h" +#ifdef __VMS__ +#pragma message disable nosimpint +#endif #include +#ifdef __VMS__ +#pragma message enable nosimpint +#endif -#if !USE_SHARED_LIBRARY IMPLEMENT_ABSTRACT_CLASS(wxControl, wxWindow) BEGIN_EVENT_TABLE(wxControl, wxWindow) END_EVENT_TABLE() -#endif // Item members wxControl::wxControl() { m_backgroundColour = *wxWHITE; m_foregroundColour = *wxBLACK; + +#if WXWIN_COMPATIBILITY m_callback = 0; +#endif // WXWIN_COMPATIBILITY + m_inSetValue = FALSE; } +bool wxControl::Create( wxWindow *parent, + wxWindowID id, + const wxPoint &pos, + const wxSize &size, + long style, + const wxValidator& validator, + const wxString &name) +{ + bool ret = wxWindow::Create(parent, id, pos, size, style, name); + +#if wxUSE_VALIDATORS + SetValidator(validator); +#endif + + return ret; +} + wxControl::~wxControl() { // If we delete an item, we should initialize the parent panel, @@ -42,7 +67,7 @@ wxControl::~wxControl() wxPanel *panel = wxDynamicCast(GetParent(), wxPanel); if (panel) { - if (panel->GetDefaultItem() == this) + if ( (wxControl *)panel->GetDefaultItem() == this) panel->SetDefaultItem((wxButton*) NULL); } } @@ -89,43 +114,17 @@ wxString wxControl::GetLabel() const } } -void wxControl::ProcessCommand (wxCommandEvent & event) +bool wxControl::ProcessCommand(wxCommandEvent & event) { - // Tries: - // 1) A callback function (to become obsolete) - // 2) OnCommand, starting at this window and working up parent hierarchy - // 3) OnCommand then calls ProcessEvent to search the event tables. - if (m_callback) +#if WXWIN_COMPATIBILITY + if ( m_callback ) { - (void) (*(m_callback)) (*this, event); + (void)(*m_callback)(this, event); + + return TRUE; } else - { - GetEventHandler()->OnCommand(*this, event); - } -} - -void wxControl::Centre (int direction) -{ - int x, y, width, height, panel_width, panel_height, new_x, new_y; - - wxWindow *parent = (wxWindow *) GetParent (); - if (!parent) - return; - - parent->GetClientSize (&panel_width, &panel_height); - GetSize (&width, &height); - GetPosition (&x, &y); - - new_x = x; - new_y = y; +#endif // WXWIN_COMPATIBILITY - if (direction & wxHORIZONTAL) - new_x = (int) ((panel_width - width) / 2); - - if (direction & wxVERTICAL) - new_y = (int) ((panel_height - height) / 2); - - SetSize (new_x, new_y, width, height); + return GetEventHandler()->ProcessEvent(event); } -