X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4f85606724061367d0d5ab79444990e36b0acfa6..4ed85025f3ba537206f70f3dd10466e16da926d4:/include/wx/gtk/tglbtn.h diff --git a/include/wx/gtk/tglbtn.h b/include/wx/gtk/tglbtn.h index 9d66c44797..c1a19e2c93 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_ @@ -16,30 +16,17 @@ #include "wx/bitmap.h" //----------------------------------------------------------------------------- -// classes -//----------------------------------------------------------------------------- - -class wxToggleButton; -class 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 +39,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,36 +50,43 @@ public: bool GetValue() const; // Set the label - void SetLabel(const wxBitmap& label); - bool Enable(bool enable = TRUE); + void SetLabel(const wxString& label); - - // implementation - bool m_blockEvent; - wxBitmap m_bitmap; + static wxVisualAttributes + GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); - void OnSetBitmap(); - void ApplyWidgetStyle(); - 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, @@ -105,32 +99,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); - - - // implementation - bool m_blockEvent; - - void ApplyWidgetStyle(); - 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_