X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9b6dbb09746f8f5ee0549a2ff39ae0ac4c725898..d7eee191c55687785a2be927fd387d10514cdf1b:/include/wx/motif/control.h diff --git a/include/wx/motif/control.h b/include/wx/motif/control.h index 4913175b71..d164e52485 100644 --- a/include/wx/motif/control.h +++ b/include/wx/motif/control.h @@ -6,7 +6,7 @@ // Created: 17/09/98 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_CONTROL_H_ @@ -20,30 +20,59 @@ #include "wx/list.h" #include "wx/validate.h" +#define wxControlNameStr _T("control") + // General item class -class WXDLLEXPORT wxControl: public wxWindow +class WXDLLEXPORT wxControl: public wxControlBase { - DECLARE_ABSTRACT_CLASS(wxControl) + DECLARE_ABSTRACT_CLASS(wxControl) + public: - wxControl(); - ~wxControl(); + wxControl(); + wxControl( wxWindow *parent, + wxWindowID id, + const wxPoint &pos = wxDefaultPosition, + const wxSize &size = wxDefaultSize, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString &name = wxControlNameStr ) + { + Create(parent, id, pos, size, style, validator, name); + } + + bool Create(wxWindow *parent, wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxControlNameStr); + + // simulates the event, returns TRUE if the event was processed + virtual void Command(wxCommandEvent& WXUNUSED(event)) { } - virtual void Command(wxCommandEvent& WXUNUSED(event)) {}; // Simulates an event - virtual void ProcessCommand(wxCommandEvent& event); // Calls the callback and - // appropriate event handlers - virtual void SetLabel(const wxString& label); - virtual wxString GetLabel() const ; + // calls the callback and appropriate event handlers, returns TRUE if + // event was processed + virtual bool ProcessCommand(wxCommandEvent& event); - // Places item in centre of panel - so can't be used BEFORE panel->Fit() - void Centre(int direction = wxHORIZONTAL); - inline void Callback(const wxFunction function) { m_callback = function; }; // Adds callback + virtual void SetLabel(const wxString& label); + virtual wxString GetLabel() const ; - inline wxFunction GetCallback() { return m_callback; } +#if WXWIN_COMPATIBILITY + void Callback(const wxFunction function) { m_callback = function; }; // Adds callback + + wxFunction GetCallback() { return m_callback; } +#endif // WXWIN_COMPATIBILITY + + bool InSetValue() const { return m_inSetValue; } protected: - wxFunction m_callback; // Callback associated with the window +#if WXWIN_COMPATIBILITY + wxFunction m_callback; // Callback associated with the window +#endif // WXWIN_COMPATIBILITY + + bool m_inSetValue; // Motif: prevent callbacks being called while + // in SetValue -DECLARE_EVENT_TABLE() + DECLARE_EVENT_TABLE() }; #endif