X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/401e3b6e5f50f15571b86297b5d1e3f55c473f6f..c6ea1fdaf924be4ee49a19d12f76e4fcd257bb0a:/include/wx/univ/button.h diff --git a/include/wx/univ/button.h b/include/wx/univ/button.h index a3732858e8..542f9579d6 100644 --- a/include/wx/univ/button.h +++ b/include/wx/univ/button.h @@ -12,11 +12,7 @@ #ifndef _WX_UNIV_BUTTON_H_ #define _WX_UNIV_BUTTON_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "univbutton.h" -#endif - -class WXDLLEXPORT wxInputHandler; +class WXDLLIMPEXP_FWD_CORE wxInputHandler; #include "wx/bitmap.h" @@ -24,23 +20,23 @@ class WXDLLEXPORT wxInputHandler; // the actions supported by this control // ---------------------------------------------------------------------------- -#define wxACTION_BUTTON_TOGGLE _T("toggle") // press/release the button -#define wxACTION_BUTTON_PRESS _T("press") // press the button -#define wxACTION_BUTTON_RELEASE _T("release") // release the button -#define wxACTION_BUTTON_CLICK _T("click") // generate button click event +#define wxACTION_BUTTON_TOGGLE wxT("toggle") // press/release the button +#define wxACTION_BUTTON_PRESS wxT("press") // press the button +#define wxACTION_BUTTON_RELEASE wxT("release") // release the button +#define wxACTION_BUTTON_CLICK wxT("click") // generate button click event // ---------------------------------------------------------------------------- // wxButton: a push button // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxButton : public wxButtonBase +class WXDLLIMPEXP_CORE wxButton : public wxButtonBase { public: wxButton() { Init(); } wxButton(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap, - const wxString& label, + const wxString& label = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, @@ -51,22 +47,10 @@ public: Create(parent, id, bitmap, label, pos, size, style, validator, name); } - - wxButton(wxWindow *parent, wxWindowID id, wxStockItemID stock, - const wxString& descriptiveLabel = wxEmptyString, - const wxPoint& pos = wxDefaultPosition, - long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxButtonNameStr) - { - Init(); - - Create(parent, id, stock, descriptiveLabel, pos, style, validator, name); - } wxButton(wxWindow *parent, wxWindowID id, - const wxString& label, + const wxString& label = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, @@ -80,7 +64,7 @@ public: bool Create(wxWindow *parent, wxWindowID id, - const wxString& label, + const wxString& label = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, @@ -90,22 +74,11 @@ public: return Create(parent, id, wxNullBitmap, label, pos, size, style, validator, name); } - - bool Create(wxWindow *parent, wxWindowID id, wxStockItemID stock, - const wxString& descriptiveLabel = wxEmptyString, - const wxPoint& pos = wxDefaultPosition, - long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxButtonNameStr) - { - return CreateStock(parent, id, stock, descriptiveLabel, - pos, style, validator, name); - } bool Create(wxWindow *parent, wxWindowID id, const wxBitmap& bitmap, - const wxString& label, + const wxString& label = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, @@ -114,29 +87,38 @@ public: virtual ~wxButton(); - virtual void SetImageLabel(const wxBitmap& bitmap); - virtual void SetImageMargins(wxCoord x, wxCoord y); - virtual void SetDefault(); + virtual wxWindow *SetDefault(); virtual bool IsPressed() const { return m_isPressed; } virtual bool IsDefault() const { return m_isDefault; } // wxButton actions - void Toggle(); + virtual void Toggle(); virtual void Press(); virtual void Release(); virtual void Click(); -protected: virtual bool PerformAction(const wxControlAction& action, long numArg = -1, const wxString& strArg = wxEmptyString); + + virtual bool CanBeHighlighted() const { return true; } + + static wxInputHandler *GetStdInputHandler(wxInputHandler *handlerDef); + virtual wxInputHandler *DoGetStdInputHandler(wxInputHandler *handlerDef) + { + return GetStdInputHandler(handlerDef); + } + + +protected: virtual wxSize DoGetBestClientSize() const; - + virtual bool DoDrawBackground(wxDC& dc); virtual void DoDraw(wxControlRenderer *renderer); - virtual bool CanBeHighlighted() const { return true; } + virtual void DoSetBitmap(const wxBitmap& bitmap, State which); + virtual void DoSetBitmapMargins(wxCoord x, wxCoord y); // common part of all ctors void Init(); @@ -154,31 +136,5 @@ private: DECLARE_DYNAMIC_CLASS(wxButton) }; -// ---------------------------------------------------------------------------- -// wxStdButtonInputHandler: translates SPACE and ENTER keys and the left mouse -// click into button press/release actions -// ---------------------------------------------------------------------------- - -class WXDLLEXPORT wxStdButtonInputHandler : public wxStdInputHandler -{ -public: - wxStdButtonInputHandler(wxInputHandler *inphand); - - virtual bool HandleKey(wxInputConsumer *consumer, - const wxKeyEvent& event, - bool pressed); - virtual bool HandleMouse(wxInputConsumer *consumer, - const wxMouseEvent& event); - virtual bool HandleMouseMove(wxInputConsumer *consumer, const wxMouseEvent& event); - virtual bool HandleFocus(wxInputConsumer *consumer, const wxFocusEvent& event); - virtual bool HandleActivation(wxInputConsumer *consumer, bool activated); - -private: - // the window (button) which has capture or NULL and the flag telling if - // the mouse is inside the button which captured it or not - wxWindow *m_winCapture; - bool m_winHasMouse; -}; - #endif // _WX_UNIV_BUTTON_H_