X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f40fdaa339e19bbdf60c9c065c82daae4ca77b36..f9e19204bf8327f1e71f127e5542ee8306282280:/include/wx/gtk/tglbtn.h?ds=sidebyside diff --git a/include/wx/gtk/tglbtn.h b/include/wx/gtk/tglbtn.h index 06f317f52b..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: Rocketeer license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_GTK_TOGGLEBUTTON_H_ @@ -19,27 +19,21 @@ // classes //----------------------------------------------------------------------------- -class wxToggleButton; -class wxToggleBitmapButton; +class WXDLLIMPEXP_FWD_CORE wxToggleButton; +class WXDLLIMPEXP_FWD_CORE wxToggleBitmapButton; //----------------------------------------------------------------------------- -// global data -//----------------------------------------------------------------------------- - -extern const wxChar *wxCheckBoxNameStr; - -//----------------------------------------------------------------------------- -// wxToggleBitmapButton +// wxToggleButton //----------------------------------------------------------------------------- -class 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,39 +57,43 @@ public: bool GetValue() const; // Set the label - 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(); - void DoApplyWidgetStyle(GtkRcStyle *style); - bool IsOwnGtkWindow(GdkWindow *window); +protected: + void GTKDisableEvents(); + void GTKEnableEvents(); - virtual void OnInternalIdle(); 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 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, @@ -108,34 +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; - - void DoApplyWidgetStyle(GtkRcStyle *style); - bool IsOwnGtkWindow(GdkWindow *window); - - virtual void OnInternalIdle(); - 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_