X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8e6efd1fd2f6cedda23140aff17f56b26ef7c2d2..6041f69ca7bbb7c39e4ba64e407bc3ac39e3687f:/include/wx/msw/tglbtn.h diff --git a/include/wx/msw/tglbtn.h b/include/wx/msw/tglbtn.h index 0a9df04949..2050ced6db 100644 --- a/include/wx/msw/tglbtn.h +++ b/include/wx/msw/tglbtn.h @@ -7,7 +7,7 @@ // Created: 08.02.01 // RCS-ID: $Id$ // Copyright: (c) 2000 Johnny C. Norris II -// License: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_TOGGLEBUTTON_H_ @@ -15,21 +15,14 @@ #include "wx/bitmap.h" -extern WXDLLIMPEXP_DATA_CORE(const char) wxCheckBoxNameStr[]; - -//----------------------------------------------------------------------------- -// wxBitmapToggleButton -//----------------------------------------------------------------------------- - - -class WXDLLIMPEXP_CORE wxBitmapToggleButton: public wxToggleButtonBase +// Checkbox item (single checkbox) +class WXDLLIMPEXP_CORE wxToggleButton : public wxToggleButtonBase { public: - // construction/destruction - wxBitmapToggleButton() { Init(); } - wxBitmapToggleButton(wxWindow *parent, + wxToggleButton() { Init(); } + wxToggleButton(wxWindow *parent, wxWindowID id, - const wxBitmap& label, + const wxString& label, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, @@ -39,52 +32,53 @@ public: Create(parent, id, label, pos, size, style, validator, name); } - // Create the control bool Create(wxWindow *parent, wxWindowID id, - const wxBitmap& label, + const wxString& label, const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = 0, + const wxSize& size = wxDefaultSize, + long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxCheckBoxNameStr); - // Get/set the value - void SetValue(bool state); - bool GetValue() const; + virtual void SetValue(bool value); + virtual bool GetValue() const ; - // Set the label - virtual void SetLabel(const wxString& label) { wxControl::SetLabel(label); } - virtual void SetLabel(const wxBitmap& label); - bool Enable(bool enable = true); + virtual bool MSWCommand(WXUINT param, WXWORD id); + virtual void Command(wxCommandEvent& event); + + virtual State GetNormalState() const; + + // returns true if the platform should explicitly apply a theme border + virtual bool CanApplyThemeBorder() const { return false; } protected: - void Init(); + virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; } - wxBitmap m_bitmap; - wxBitmap m_disabledBitmap; - bool m_capturing; - bool m_depressed,m_oldValue; + virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle = NULL) const; - void OnPaint(wxPaintEvent &event); - void OnMouse(wxMouseEvent &event); - void OnChar(wxKeyEvent &event); - void OnSize(wxSizeEvent &event); + void Init(); - virtual wxSize DoGetBestSize() const; + // current state of the button (when owner-drawn) + bool m_state; private: - DECLARE_EVENT_TABLE() - DECLARE_DYNAMIC_CLASS(wxBitmapToggleButton) + DECLARE_DYNAMIC_CLASS_NO_COPY(wxToggleButton) }; -// Checkbox item (single checkbox) -class WXDLLIMPEXP_CORE wxToggleButton : public wxToggleButtonBase +//----------------------------------------------------------------------------- +// wxBitmapToggleButton +//----------------------------------------------------------------------------- + + +class WXDLLIMPEXP_CORE wxBitmapToggleButton: public wxToggleButton { public: - wxToggleButton() {} - wxToggleButton(wxWindow *parent, + // construction/destruction + wxBitmapToggleButton() {} + wxBitmapToggleButton(wxWindow *parent, wxWindowID id, - const wxString& label, + const wxBitmap& label, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, @@ -94,34 +88,23 @@ public: Create(parent, id, label, pos, size, style, validator, name); } + // Create the control bool Create(wxWindow *parent, wxWindowID id, - const wxString& label, + const wxBitmap& label, const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = 0, + const wxSize& size = wxDefaultSize, long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxCheckBoxNameStr); - virtual void SetValue(bool value); - virtual bool GetValue() const ; - - virtual void SetLabel(const wxString& label); - - virtual bool MSWCommand(WXUINT param, WXWORD id); - virtual void Command(wxCommandEvent& event); - - // returns true if the platform should explicitly apply a theme border - virtual bool CanApplyThemeBorder() const { return false; } - -protected: - virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; } - virtual wxSize DoGetBestSize() const; - - virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle = NULL) const; + // 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_NO_COPY(wxToggleButton) + DECLARE_DYNAMIC_CLASS(wxBitmapToggleButton) }; #endif // _WX_TOGGLEBUTTON_H_