#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"
// 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,
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,
bool Create(wxWindow *parent,
wxWindowID id,
- const wxString& label,
+ const wxString& label = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0,
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,
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; }
-
// 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_