Refactor wxButton and wxToggleButton to derive from wxAnyButton.
[wxWidgets.git] / include / wx / button.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/button.h
3 // Purpose: wxButtonBase class
4 // Author: Vadim Zetlin
5 // Modified by:
6 // Created: 15.08.00
7 // RCS-ID: $Id$
8 // Copyright: (c) Vadim Zetlin
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_BUTTON_H_BASE_
13 #define _WX_BUTTON_H_BASE_
14
15 #include "wx/defs.h"
16
17 #if wxUSE_BUTTON
18
19 #include "wx/anybutton.h"
20
21 extern WXDLLIMPEXP_DATA_CORE(const char) wxButtonNameStr[];
22
23 // ----------------------------------------------------------------------------
24 // wxButton: a push button
25 // ----------------------------------------------------------------------------
26
27 class WXDLLIMPEXP_CORE wxButtonBase : public wxAnyButton
28 {
29 public:
30 wxButtonBase() { }
31
32 // show the authentication needed symbol on the button: this is currently
33 // only implemented on Windows Vista and newer (on which it shows the UAC
34 // shield symbol)
35 void SetAuthNeeded(bool show = true) { DoSetAuthNeeded(show); }
36 bool GetAuthNeeded() const { return DoGetAuthNeeded(); }
37
38 // make this button the default button in its top level window
39 //
40 // returns the old default item (possibly NULL)
41 virtual wxWindow *SetDefault();
42
43 // returns the default button size for this platform
44 static wxSize GetDefaultSize();
45
46 protected:
47 wxDECLARE_NO_COPY_CLASS(wxButtonBase);
48 };
49
50 #if defined(__WXUNIVERSAL__)
51 #include "wx/univ/button.h"
52 #elif defined(__WXMSW__)
53 #include "wx/msw/button.h"
54 #elif defined(__WXMOTIF__)
55 #include "wx/motif/button.h"
56 #elif defined(__WXGTK20__)
57 #include "wx/gtk/button.h"
58 #elif defined(__WXGTK__)
59 #include "wx/gtk1/button.h"
60 #elif defined(__WXMAC__)
61 #include "wx/osx/button.h"
62 #elif defined(__WXCOCOA__)
63 #include "wx/cocoa/button.h"
64 #elif defined(__WXPM__)
65 #include "wx/os2/button.h"
66 #elif defined(__WXPALMOS__)
67 #include "wx/palmos/button.h"
68 #endif
69
70 #endif // wxUSE_BUTTON
71
72 #endif // _WX_BUTTON_H_BASE_