1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxButton class
4 // Author: Stefan Csomor
8 // Copyright: (c) Stefan Csomor
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_OSX_BUTTON_H_
13 #define _WX_OSX_BUTTON_H_
15 #include "wx/control.h"
16 #include "wx/gdicmn.h"
19 class WXDLLIMPEXP_CORE wxButton
: public wxButtonBase
23 wxButton(wxWindow
*parent
,
25 const wxString
& label
= wxEmptyString
,
26 const wxPoint
& pos
= wxDefaultPosition
,
27 const wxSize
& size
= wxDefaultSize
,
29 const wxValidator
& validator
= wxDefaultValidator
,
30 const wxString
& name
= wxButtonNameStr
)
32 Create(parent
, id
, label
, pos
, size
, style
, validator
, name
);
35 bool Create(wxWindow
*parent
,
37 const wxString
& label
= wxEmptyString
,
38 const wxPoint
& pos
= wxDefaultPosition
,
39 const wxSize
& size
= wxDefaultSize
,
41 const wxValidator
& validator
= wxDefaultValidator
,
42 const wxString
& name
= wxButtonNameStr
);
44 static wxSize
GetDefaultSize();
46 virtual void SetLabel(const wxString
& label
);
47 virtual wxWindow
*SetDefault();
48 virtual void Command(wxCommandEvent
& event
);
50 // osx specific event handling common for all osx-ports
52 virtual bool OSXHandleClicked( double timestampsec
);
55 virtual wxSize
DoGetBestSize() const ;
57 void OnEnterWindow( wxMouseEvent
& event
);
58 void OnLeaveWindow( wxMouseEvent
& event
);
60 virtual wxBitmap
DoGetBitmap(State which
) const;
61 virtual void DoSetBitmap(const wxBitmap
& bitmap
, State which
);
62 virtual void DoSetBitmapPosition(wxDirection dir
);
64 virtual void DoSetBitmapMargins(int x
, int y
)
71 // the margins around the bitmap
75 // the bitmaps for the different state of the buttons, all of them may be
76 // invalid and the button only shows a bitmap at all if State_Normal bitmap
78 wxBitmap m_bitmaps
[State_Max
];
80 DECLARE_DYNAMIC_CLASS(wxButton
)
84 // OS X specific class, not part of public wx API
85 class WXDLLIMPEXP_CORE wxDisclosureTriangle
: public wxControl
88 wxDisclosureTriangle(wxWindow
*parent
,
90 const wxString
& label
= wxEmptyString
,
91 const wxPoint
& pos
= wxDefaultPosition
,
92 const wxSize
& size
= wxDefaultSize
,
93 long style
= wxBORDER_NONE
,
94 const wxValidator
& validator
= wxDefaultValidator
,
95 const wxString
& name
= wxButtonNameStr
)
97 Create(parent
, id
, label
, pos
, size
, style
, validator
, name
);
100 bool Create(wxWindow
*parent
,
102 const wxString
& label
= wxEmptyString
,
103 const wxPoint
& pos
= wxDefaultPosition
,
104 const wxSize
& size
= wxDefaultSize
,
105 long style
= wxBORDER_NONE
,
106 const wxValidator
& validator
= wxDefaultValidator
,
107 const wxString
& name
= wxButtonNameStr
);
109 void SetOpen( bool open
);
112 // osx specific event handling common for all osx-ports
114 virtual bool OSXHandleClicked( double timestampsec
);
117 virtual wxSize
DoGetBestSize() const ;
120 #endif // _WX_OSX_BUTTON_H_