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: button.h 49563 2007-10-31 20:46:21Z VZ $ 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 // ---------------------------------------------------------------------------- 18 // wxButton flags shared with other classes 19 // ---------------------------------------------------------------------------- 20 21 #if wxUSE_TOGGLEBTN || wxUSE_BUTTON 22 23 // These flags affect label alignment 24 #define wxBU_LEFT 0x0040 25 #define wxBU_TOP 0x0080 26 #define wxBU_RIGHT 0x0100 27 #define wxBU_BOTTOM 0x0200 28 #define wxBU_ALIGN_MASK ( wxBU_LEFT | wxBU_TOP | wxBU_RIGHT | wxBU_BOTTOM ) 29 #endif 30 31 #if wxUSE_BUTTON 32 33 // ---------------------------------------------------------------------------- 34 // wxButton specific flags 35 // ---------------------------------------------------------------------------- 36 37 // These two flags are obsolete 38 #define wxBU_NOAUTODRAW 0x0000 39 #define wxBU_AUTODRAW 0x0004 40 41 // by default, the buttons will be created with some (system dependent) 42 // minimal size to make them look nicer, giving this style will make them as 43 // small as possible 44 #define wxBU_EXACTFIT 0x0001 45 46 #include "wx/control.h" 47 48 class WXDLLIMPEXP_FWD_CORE wxBitmap; 49 50 extern WXDLLEXPORT_DATA(const wxChar) wxButtonNameStr[]; 51 52 // ---------------------------------------------------------------------------- 53 // wxButton: a push button 54 // ---------------------------------------------------------------------------- 55 56 class WXDLLEXPORT wxButtonBase : public wxControl 57 { 58 public: wxButtonBase()59 wxButtonBase() { } 60 61 // show the image in the button in addition to the label SetImageLabel(const wxBitmap & WXUNUSED (bitmap))62 virtual void SetImageLabel(const wxBitmap& WXUNUSED(bitmap)) { } 63 64 // set the margins around the image SetImageMargins(wxCoord WXUNUSED (x),wxCoord WXUNUSED (y))65 virtual void SetImageMargins(wxCoord WXUNUSED(x), wxCoord WXUNUSED(y)) { } 66 67 // this wxButton method is called when the button becomes the default one 68 // on its panel SetDefault()69 virtual void SetDefault() { } 70 71 // Buttons on MSW can look bad if they are not native colours, because 72 // then they become owner-drawn and not theme-drawn. Disable it here 73 // in wxButtonBase to make it consistent. ShouldInheritColours()74 virtual bool ShouldInheritColours() const { return false; } 75 76 // returns the default button size for this platform 77 static wxSize GetDefaultSize(); 78 79 protected: 80 DECLARE_NO_COPY_CLASS(wxButtonBase) 81 }; 82 83 #if defined(__WXUNIVERSAL__) 84 #include "wx/univ/button.h" 85 #elif defined(__WXMSW__) 86 #include "wx/msw/button.h" 87 #elif defined(__WXMOTIF__) 88 #include "wx/motif/button.h" 89 #elif defined(__WXGTK20__) 90 #include "wx/gtk/button.h" 91 #elif defined(__WXGTK__) 92 #include "wx/gtk1/button.h" 93 #elif defined(__WXMAC__) 94 #include "wx/mac/button.h" 95 #elif defined(__WXCOCOA__) 96 #include "wx/cocoa/button.h" 97 #elif defined(__WXPM__) 98 #include "wx/os2/button.h" 99 #elif defined(__WXPALMOS__) 100 #include "wx/palmos/button.h" 101 #endif 102 103 #endif // wxUSE_BUTTON 104 105 #endif 106 // _WX_BUTTON_H_BASE_ 107