#ifndef _WX_UNIV_BUTTON_H_
#define _WX_UNIV_BUTTON_H_
-class WXDLLEXPORT wxInputHandler;
+class WXDLLIMPEXP_FWD_CORE wxInputHandler;
#include "wx/bitmap.h"
// wxButton: a push button
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxButton : public wxButtonBase
+class WXDLLIMPEXP_CORE wxButton : public wxButtonBase
{
public:
wxButton() { Init(); }
Create(parent, id, bitmap, label, pos, size, style, validator, name);
}
-
+
wxButton(wxWindow *parent,
wxWindowID id,
const wxString& label = wxEmptyString,
return Create(parent, id, wxNullBitmap, label,
pos, size, style, validator, name);
}
-
+
bool Create(wxWindow *parent,
wxWindowID id,
const wxBitmap& bitmap,
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();
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_