X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/85284ca4b226d9a1ab6bed26c5eaa480543649d5..e3ab69523b78d79752943ab6d044c334045a1e57:/include/wx/osx/button.h diff --git a/include/wx/osx/button.h b/include/wx/osx/button.h index 8a1a8e06e6..5b189fc940 100644 --- a/include/wx/osx/button.h +++ b/include/wx/osx/button.h @@ -9,16 +9,14 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifndef _WX_BUTTON_H_ -#define _WX_BUTTON_H_ +#ifndef _WX_OSX_BUTTON_H_ +#define _WX_OSX_BUTTON_H_ #include "wx/control.h" #include "wx/gdicmn.h" -WXDLLIMPEXP_DATA_CORE(extern const char) wxButtonNameStr[]; - // Pushbutton -class WXDLLIMPEXP_CORE wxButton: public wxButtonBase +class WXDLLIMPEXP_CORE wxButton : public wxButtonBase { public: wxButton() {} @@ -50,16 +48,41 @@ public: virtual void Command(wxCommandEvent& event); // osx specific event handling common for all osx-ports - + virtual bool OSXHandleClicked( double timestampsec ); protected: virtual wxSize DoGetBestSize() const ; + void OnEnterWindow( wxMouseEvent& event); + void OnLeaveWindow( wxMouseEvent& event); + + virtual wxBitmap DoGetBitmap(State which) const; + virtual void DoSetBitmap(const wxBitmap& bitmap, State which); + virtual void DoSetBitmapPosition(wxDirection dir); + + virtual void DoSetBitmapMargins(int x, int y) + { + m_marginX = x; + m_marginY = y; + InvalidateBestSize(); + } + + // the margins around the bitmap + int m_marginX; + int m_marginY; + + // the bitmaps for the different state of the buttons, all of them may be + // invalid and the button only shows a bitmap at all if State_Normal bitmap + // is valid + wxBitmap m_bitmaps[State_Max]; + DECLARE_DYNAMIC_CLASS(wxButton) + DECLARE_EVENT_TABLE() }; -class WXDLLIMPEXP_CORE wxDisclosureTriangle: public wxControl +// OS X specific class, not part of public wx API +class WXDLLIMPEXP_CORE wxDisclosureTriangle : public wxControl { public: wxDisclosureTriangle(wxWindow *parent, @@ -67,7 +90,7 @@ public: const wxString& label = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - long style = 0, + long style = wxBORDER_NONE, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxButtonNameStr) { @@ -79,7 +102,7 @@ public: const wxString& label = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - long style = 0, + long style = wxBORDER_NONE, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxButtonNameStr); @@ -87,13 +110,11 @@ public: bool IsOpen() const; // osx specific event handling common for all osx-ports - + virtual bool OSXHandleClicked( double timestampsec ); protected: virtual wxSize DoGetBestSize() const ; - }; -#endif - // _WX_BUTTON_H_ +#endif // _WX_OSX_BUTTON_H_