X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6f02a879ed7efc5fcf6328ff47a1352ec82812b7..f9e19204bf8327f1e71f127e5542ee8306282280:/include/wx/gtk/tglbtn.h diff --git a/include/wx/gtk/tglbtn.h b/include/wx/gtk/tglbtn.h index 0c542ac0c9..052c88dc31 100644 --- a/include/wx/gtk/tglbtn.h +++ b/include/wx/gtk/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_GTK_TOGGLEBUTTON_H_ @@ -19,27 +19,21 @@ // classes //----------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxToggleButton; -class WXDLLIMPEXP_CORE wxToggleBitmapButton; +class WXDLLIMPEXP_FWD_CORE wxToggleButton; +class WXDLLIMPEXP_FWD_CORE wxToggleBitmapButton; //----------------------------------------------------------------------------- -// global data -//----------------------------------------------------------------------------- - -extern WXDLLIMPEXP_CORE const wxChar wxCheckBoxNameStr[]; - -//----------------------------------------------------------------------------- -// wxToggleBitmapButton +// wxToggleButton //----------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxToggleBitmapButton: public wxControl +class WXDLLIMPEXP_CORE wxToggleButton: public wxToggleButtonBase { public: // construction/destruction - wxToggleBitmapButton() {} - wxToggleBitmapButton(wxWindow *parent, + wxToggleButton() {} + wxToggleButton(wxWindow *parent, wxWindowID id, - const wxBitmap& label, + const wxString& label, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, @@ -52,7 +46,7 @@ public: // 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 wxValidator& validator = wxDefaultValidator, @@ -63,42 +57,43 @@ public: 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); + void SetLabel(const wxString& label); static wxVisualAttributes GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); - // implementation - bool m_blockEvent; - wxBitmap m_bitmap; - - void OnSetBitmap(); - bool IsOwnGtkWindow(GdkWindow *window); - - virtual void OnInternalIdle(); - protected: - void DoApplyWidgetStyle(GtkRcStyle *style); + void GTKDisableEvents(); + void GTKEnableEvents(); + virtual wxSize DoGetBestSize() const; + virtual void DoApplyWidgetStyle(GtkRcStyle *style); + +#if wxUSE_MARKUP + virtual bool DoSetLabelMarkup(const wxString& markup); +#endif // wxUSE_MARKUP private: - DECLARE_DYNAMIC_CLASS(wxToggleBitmapButton) + typedef wxToggleButtonBase base_type; + + // Return the GtkLabel used by this toggle button. + GtkLabel *GTKGetLabel() const; + + DECLARE_DYNAMIC_CLASS(wxToggleButton) }; //----------------------------------------------------------------------------- -// wxToggleButton +// wxBitmapToggleButton //----------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxToggleButton: public wxControl +class WXDLLIMPEXP_CORE wxBitmapToggleButton: public wxToggleButton { public: // construction/destruction - wxToggleButton() {} - wxToggleButton(wxWindow *parent, + wxBitmapToggleButton() {} + wxBitmapToggleButton(wxWindow *parent, wxWindowID id, - const wxString& label, + const wxBitmap& label, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, @@ -111,36 +106,22 @@ public: // 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 wxValidator& validator = wxDefaultValidator, const wxString& name = wxCheckBoxNameStr); - // Get/set the value - void SetValue(bool state); - bool GetValue() const; - - // Set the label - void SetLabel(const wxString& label); - bool Enable(bool enable = TRUE); - - static wxVisualAttributes - GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); - - // implementation - bool m_blockEvent; - - bool IsOwnGtkWindow(GdkWindow *window); - - virtual void OnInternalIdle(); - -protected: - void DoApplyWidgetStyle(GtkRcStyle *style); - virtual wxSize DoGetBestSize() 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(wxToggleButton) + typedef wxToggleButtonBase base_type; + + DECLARE_DYNAMIC_CLASS(wxBitmapToggleButton) }; #endif // _WX_GTK_TOGGLEBUTTON_H_