X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a047aff270905b377a81657a90f92eb3297157d0..1f7d05f01923dd364101719c89d8db383e6f4903:/include/wx/msw/tglbtn.h diff --git a/include/wx/msw/tglbtn.h b/include/wx/msw/tglbtn.h index 9c3ef03c93..2050ced6db 100644 --- a/include/wx/msw/tglbtn.h +++ b/include/wx/msw/tglbtn.h @@ -7,19 +7,19 @@ // Created: 08.02.01 // RCS-ID: $Id$ // Copyright: (c) 2000 Johnny C. Norris II -// License: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_TOGGLEBUTTON_H_ #define _WX_TOGGLEBUTTON_H_ -extern WXDLLEXPORT_DATA(const wxChar) wxCheckBoxNameStr[]; +#include "wx/bitmap.h" // Checkbox item (single checkbox) -class WXDLLEXPORT wxToggleButton : public wxControl +class WXDLLIMPEXP_CORE wxToggleButton : public wxToggleButtonBase { public: - wxToggleButton() {} + wxToggleButton() { Init(); } wxToggleButton(wxWindow *parent, wxWindowID id, const wxString& label, @@ -46,18 +46,66 @@ public: virtual bool MSWCommand(WXUINT param, WXWORD id); virtual void Command(wxCommandEvent& event); - virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle = NULL) const; + + virtual State GetNormalState() const; // returns true if the platform should explicitly apply a theme border virtual bool CanApplyThemeBorder() const { return false; } protected: - virtual wxSize DoGetBestSize() const; - virtual wxBorder GetDefaultBorder() const; + virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; } + + virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle = NULL) const; + + void Init(); + + // current state of the button (when owner-drawn) + bool m_state; private: DECLARE_DYNAMIC_CLASS_NO_COPY(wxToggleButton) }; +//----------------------------------------------------------------------------- +// wxBitmapToggleButton +//----------------------------------------------------------------------------- + + +class WXDLLIMPEXP_CORE wxBitmapToggleButton: public wxToggleButton +{ +public: + // construction/destruction + wxBitmapToggleButton() {} + wxBitmapToggleButton(wxWindow *parent, + wxWindowID id, + const wxBitmap& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxCheckBoxNameStr) + { + Create(parent, id, label, pos, size, style, validator, name); + } + + // Create the control + bool Create(wxWindow *parent, + wxWindowID id, + const wxBitmap& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxCheckBoxNameStr); + + // deprecated synonym for SetBitmapLabel() + wxDEPRECATED_INLINE( void SetLabel(const wxBitmap& bitmap), + SetBitmapLabel(bitmap); ) + // prevent virtual function hiding + virtual void SetLabel(const wxString& label) { wxToggleButton::SetLabel(label); } + +private: + DECLARE_DYNAMIC_CLASS(wxBitmapToggleButton) +}; + #endif // _WX_TOGGLEBUTTON_H_