X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7491d644e6103afc2a69b750ca255218181b63a3..a2ee1945871d7b9d71ec18954ffb2f0f239c2e57:/include/wx/motif/control.h diff --git a/include/wx/motif/control.h b/include/wx/motif/control.h index 7eef8e4bc0..a212c38f56 100644 --- a/include/wx/motif/control.h +++ b/include/wx/motif/control.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: control.h +// Name: wx/motif/control.h // Purpose: wxControl class // Author: Julian Smart // Modified by: @@ -12,45 +12,64 @@ #ifndef _WX_CONTROL_H_ #define _WX_CONTROL_H_ -#ifdef __GNUG__ -#pragma interface "control.h" -#endif - #include "wx/window.h" #include "wx/list.h" #include "wx/validate.h" // General item class -class WXDLLEXPORT wxControl: public wxWindow +class WXDLLIMPEXP_CORE wxControl: public wxControlBase { DECLARE_ABSTRACT_CLASS(wxControl) public: 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); + } - 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 ; + 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); - // Places item in centre of panel - so can't be used BEFORE panel->Fit() - void Centre(int direction = wxHORIZONTAL); - void Callback(const wxFunction function) { m_callback = function; }; // Adds callback + // simulates the event, returns true if the event was processed + virtual void Command(wxCommandEvent& WXUNUSED(event)) { } - wxFunction GetCallback() { return m_callback; } + // calls the callback and appropriate event handlers, returns true if + // event was processed + virtual bool ProcessCommand(wxCommandEvent& event); + + virtual void SetLabel(const wxString& label); + virtual wxString GetLabel() const ; bool InSetValue() const { return m_inSetValue; } protected: - wxFunction m_callback; // Callback associated with the window + // calls wxControlBase::CreateControl, also sets foreground, background and + // font to parent's values + bool CreateControl(wxWindow *parent, + wxWindowID id, + const wxPoint& pos, + const wxSize& size, + long style, + const wxValidator& validator, + const wxString& name); + + // native implementation using XtQueryGeometry + virtual wxSize DoGetBestSize() const; - bool m_inSetValue; // Motif: prevent callbacks being called while - // in SetValue + // Motif: prevent callbacks being called while in SetValue + bool m_inSetValue; DECLARE_EVENT_TABLE() }; -#endif - // _WX_CONTROL_H_ +#endif // _WX_CONTROL_H_