/////////////////////////////////////////////////////////////////////////////
// Name: button.h
// Purpose: wxButton class
-// Author: AUTHOR
+// Author: David Webster
// Modified by:
-// Created: ??/??/98
+// Created: 10/13/99
// RCS-ID: $Id$
-// Copyright: (c) AUTHOR
-// Licence: wxWindows licence
+// Copyright: (c) David Webster
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_BUTTON_H_
#define _WX_BUTTON_H_
-#ifdef __GNUG__
-#pragma interface "button.h"
-#endif
-
#include "wx/control.h"
-#include "wx/gdicmn.h"
-
-WXDLLEXPORT_DATA(extern const char*) wxButtonNameStr;
// Pushbutton
-class WXDLLEXPORT wxButton: public wxControl
+class WXDLLEXPORT wxButton: public wxButtonBase
{
- DECLARE_DYNAMIC_CLASS(wxButton)
public:
- inline wxButton() {}
- inline wxButton(wxWindow *parent, wxWindowID id, const wxString& label,
+ inline wxButton() {}
+ inline wxButton( wxWindow* pParent
+ ,wxWindowID vId
+ ,const wxString& rsLabel
+ ,const wxPoint& rPos = wxDefaultPosition
+ ,const wxSize& rSize = wxDefaultSize
+ ,long lStyle = 0
+ ,const wxValidator& rValidator = wxDefaultValidator
+ ,const wxString& rsName = wxButtonNameStr
+ )
+ {
+ Create( pParent
+ ,vId
+ ,rsLabel
+ ,rPos
+ ,rSize
+ ,lStyle
+ ,rValidator
+ ,rsName
+ );
+ }
+
+ wxButton(wxWindow *parent, wxWindowID id, wxStockItemID stock,
+ const wxString& descriptiveLabel = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize, long style = 0,
+ long style = 0,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxButtonNameStr)
- {
- Create(parent, id, label, pos, size, style, validator, name);
- }
+ {
+ Create(parent, id, stock, descriptiveLabel, pos, style, validator, name);
+ }
- bool Create(wxWindow *parent, wxWindowID id, const wxString& label,
+ bool Create( wxWindow* pParent
+ ,wxWindowID vId
+ ,const wxString& rsLabel
+ ,const wxPoint& rPos = wxDefaultPosition
+ ,const wxSize& rSize = wxDefaultSize
+ ,long lStyle = 0
+ ,const wxValidator& rValidator = wxDefaultValidator
+ ,const wxString& rsName = wxButtonNameStr
+ );
+
+ bool Create(wxWindow *parent, wxWindowID id, wxStockItemID stock,
+ const wxString& descriptiveLabel = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize, long style = 0,
+ long style = 0,
const wxValidator& validator = wxDefaultValidator,
- const wxString& name = wxButtonNameStr);
+ const wxString& name = wxButtonNameStr)
+ {
+ return CreateStock(parent, id, stock, descriptiveLabel,
+ pos, style, validator, name);
+ }
- virtual ~wxButton();
+ virtual ~wxButton();
- virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
- virtual void SetDefault();
- virtual void SetLabel(const wxString& label);
- virtual wxString GetLabel() const ;
+ virtual void SetDefault(void);
+ static wxSize GetDefaultSize(void);
+ virtual void Command(wxCommandEvent& rEvent);
+ virtual bool OS2Command( WXUINT uParam
+ ,WXWORD vId
+ );
+ virtual WXHBRUSH OnCtlColor( WXHDC hDC
+ ,WXHWND hWnd
+ ,WXUINT uCtlColor
+ ,WXUINT uMessage
+ ,WXWPARAM wParam
+ ,WXLPARAM lParam
+ );
+ void MakeOwnerDrawn(void);
- static wxSize GetDefaultSize();
+ virtual MRESULT WindowProc( WXUINT uMsg
+ ,WXWPARAM wParam
+ ,WXLPARAM lParam
+ );
- virtual void Command(wxCommandEvent& event);
-};
+protected:
+
+ bool SendClickEvent(void);
+ void SetTmpDefault(void);
+ void UnsetTmpDefault(void);
+
+ static void SetDefaultStyle( wxButton* pButton
+ ,bool bOn
+ );
+
+ virtual wxSize DoGetBestSize(void) const;
+ virtual WXDWORD OS2GetStyle( long style
+ ,WXDWORD* exstyle
+ ) const;
+private:
+ DECLARE_DYNAMIC_CLASS(wxButton)
+}; // end of CLASS wxButton
#endif
// _WX_BUTTON_H_
+