X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d41f7b204176282f7cc49f4055924c847a7c3474..4b1e72e266ec6993d665c65d5f5e59e7981afc17:/include/wx/msw/control.h?ds=sidebyside diff --git a/include/wx/msw/control.h b/include/wx/msw/control.h index c8e1e94644..49c170cd0d 100644 --- a/include/wx/msw/control.h +++ b/include/wx/msw/control.h @@ -6,7 +6,7 @@ // Created: 01/02/97 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWidgets licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_CONTROL_H_ @@ -22,7 +22,8 @@ class WXDLLEXPORT wxControl : public wxControlBase { public: - wxControl(); + wxControl() { } + wxControl(wxWindow *parent, wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, @@ -43,9 +44,18 @@ public: // Simulates an event virtual void Command(wxCommandEvent& event) { ProcessCommand(event); } + // implementation from now on // -------------------------- + virtual wxVisualAttributes GetDefaultAttributes() const + { + return GetClassDefaultAttributes(GetWindowVariant()); + } + + static wxVisualAttributes + GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); + // Calls the callback and appropriate event handlers bool ProcessCommand(wxCommandEvent& event); @@ -58,7 +68,7 @@ public: virtual bool MSWOnDraw(WXDRAWITEMSTRUCT *WXUNUSED(item)) { return FALSE; }; virtual bool MSWOnMeasure(WXMEASUREITEMSTRUCT *WXUNUSED(item)) { return FALSE; }; - wxArrayLong GetSubcontrols() { return m_subControls; } + const wxArrayLong& GetSubcontrols() const { return m_subControls; } void OnEraseBackground(wxEraseEvent& event); @@ -87,7 +97,7 @@ protected: // implement MSWGetStyle() this version will disappear. // // create the control of the given class with the given style (combination - // of WS_XXX flags, i.e. Windows style, not wxWindows one), returns + // of WS_XXX flags, i.e. Windows style, not wxWidgets one), returns // FALSE if creation failed // // All parameters except classname and style are optional, if the @@ -105,6 +115,14 @@ protected: // default style for the control include WS_TABSTOP if it AcceptsFocus() virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const; + // this is a helper for the derived class GetClassDefaultAttributes() + // implementation: it returns the right colours for the classes which + // contain something else (e.g. wxListBox, wxTextCtrl, ...) instead of + // being simple controls (such as wxButton, wxCheckBox, ...) + static wxVisualAttributes + GetCompositeControlsDefaultAttributes(wxWindowVariant variant); + + // for controls like radiobuttons which are really composite this array // holds the ids (not HWNDs!) of the sub controls wxArrayLong m_subControls;