X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/20123d495814b8b8543bf43fbd63aa7ec21e5d78..9869c26285dc51d13607cddaa04f65ce983653a5:/include/wx/gtk/tglbtn.h diff --git a/include/wx/gtk/tglbtn.h b/include/wx/gtk/tglbtn.h index 8aa5434314..d6975311f4 100644 --- a/include/wx/gtk/tglbtn.h +++ b/include/wx/gtk/tglbtn.h @@ -5,9 +5,8 @@ // Author: John Norris, minor changes by Axel Schlueter // Modified by: // 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_ @@ -16,30 +15,17 @@ #include "wx/bitmap.h" //----------------------------------------------------------------------------- -// classes -//----------------------------------------------------------------------------- - -class WXDLLIMPEXP_CORE wxToggleButton; -class WXDLLIMPEXP_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 +38,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 +49,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; +protected: + void GTKDisableEvents(); + void GTKEnableEvents(); - void OnSetBitmap(); - void DoApplyWidgetStyle(GtkRcStyle *style); - bool IsOwnGtkWindow(GdkWindow *window); - - 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 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, @@ -108,34 +98,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_