]> git.saurik.com Git - wxWidgets.git/blob - include/wx/gtk/button.h
fix for sf bug 1448153: Widgets sample hangs on Japanese radio label
[wxWidgets.git] / include / wx / gtk / 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 #include "wx/defs.h"
14 #include "wx/object.h"
15 #include "wx/list.h"
16 #include "wx/control.h"
17
18 //-----------------------------------------------------------------------------
19 // classes
20 //-----------------------------------------------------------------------------
21
22 class WXDLLIMPEXP_CORE wxButton;
23
24 //-----------------------------------------------------------------------------
25 // global data
26 //-----------------------------------------------------------------------------
27
28 extern WXDLLIMPEXP_CORE const wxChar wxButtonNameStr[];
29
30 //-----------------------------------------------------------------------------
31 // wxButton
32 //-----------------------------------------------------------------------------
33
34 class WXDLLIMPEXP_CORE wxButton: public wxButtonBase
35 {
36 public:
37 wxButton();
38 wxButton(wxWindow *parent, wxWindowID id,
39 const wxString& label = wxEmptyString,
40 const wxPoint& pos = wxDefaultPosition,
41 const wxSize& size = wxDefaultSize, long style = 0,
42 const wxValidator& validator = wxDefaultValidator,
43 const wxString& name = wxButtonNameStr)
44 {
45 Create(parent, id, label, pos, size, style, validator, name);
46 }
47
48 virtual ~wxButton();
49
50 bool Create(wxWindow *parent, wxWindowID id,
51 const wxString& label = wxEmptyString,
52 const wxPoint& pos = wxDefaultPosition,
53 const wxSize& size = wxDefaultSize, long style = 0,
54 const wxValidator& validator = wxDefaultValidator,
55 const wxString& name = wxButtonNameStr);
56
57 virtual void SetDefault();
58 virtual void SetLabel( const wxString &label );
59 virtual bool Enable( bool enable = TRUE );
60
61 // implementation
62 // --------------
63
64 bool IsOwnGtkWindow( GdkWindow *window );
65
66 // Since this wxButton doesn't derive from wxButtonBase (why?) we need
67 // to override this here too...
68 virtual bool ShouldInheritColours() const { return false; }
69
70 static wxVisualAttributes
71 GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
72
73 // helper to allow access to protected member from GTK callback
74 void MoveWindow(int x, int y, int width, int height) { DoMoveWindow(x, y, width, height); }
75
76 protected:
77 virtual wxSize DoGetBestSize() const;
78 void DoApplyWidgetStyle(GtkRcStyle *style);
79
80 private:
81 DECLARE_DYNAMIC_CLASS(wxButton)
82 };
83
84 #endif // __GTKBUTTONH__