fixed GTK styles handling:
[wxWidgets.git] / include / wx / gtk1 / button.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/gtk/button.h
3 // Purpose:
4 // Author: Robert Roebling
5 // Id: $Id$
6 // Copyright: (c) 1998 Robert Roebling
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
9
10 #ifndef __GTKBUTTONH__
11 #define __GTKBUTTONH__
12
13 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
14 #pragma interface
15 #endif
16
17 #include "wx/defs.h"
18 #include "wx/object.h"
19 #include "wx/list.h"
20 #include "wx/control.h"
21
22 //-----------------------------------------------------------------------------
23 // classes
24 //-----------------------------------------------------------------------------
25
26 class wxButton;
27
28 //-----------------------------------------------------------------------------
29 // global data
30 //-----------------------------------------------------------------------------
31
32 extern const wxChar *wxButtonNameStr;
33
34 //-----------------------------------------------------------------------------
35 // wxButton
36 //-----------------------------------------------------------------------------
37
38 class wxButton: public wxControl
39 {
40 public:
41 wxButton();
42 wxButton(wxWindow *parent, wxWindowID id, const wxString& label,
43 const wxPoint& pos = wxDefaultPosition,
44 const wxSize& size = wxDefaultSize, long style = 0,
45 const wxValidator& validator = wxDefaultValidator,
46 const wxString& name = wxButtonNameStr)
47 {
48 Create(parent, id, label, pos, size, style, validator, name);
49 }
50 virtual ~wxButton();
51
52 bool Create(wxWindow *parent, wxWindowID id, const wxString& label,
53 const wxPoint& pos = wxDefaultPosition,
54 const wxSize& size = wxDefaultSize, long style = 0,
55 const wxValidator& validator = wxDefaultValidator,
56 const wxString& name = wxButtonNameStr);
57
58 virtual void SetDefault();
59 virtual void SetLabel( const wxString &label );
60 virtual bool Enable( bool enable = TRUE );
61
62 static wxSize GetDefaultSize();
63
64 // implementation
65 // --------------
66
67 void DoApplyWidgetStyle(GtkRcStyle *style);
68 bool IsOwnGtkWindow( GdkWindow *window );
69
70 // Since this wxButton doesn't derive from wxButtonBase (why?) we need
71 // to override this here too...
72 virtual bool ShouldInheritColours() const { return false; }
73
74 static wxVisualAttributes
75 GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
76
77 protected:
78 virtual wxSize DoGetBestSize() const;
79
80 private:
81 DECLARE_DYNAMIC_CLASS(wxButton)
82 };
83
84 #endif // __GTKBUTTONH__