Added a constructor that allows creation of independent wxControl
(for more easily creating custom controls) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5085 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
17bec151f9
commit
8d772832a0
@ -29,6 +29,8 @@ class wxControl;
|
||||
// wxControl
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
extern const wxChar* wxControlNameStr;
|
||||
|
||||
class wxControl : public wxControlBase
|
||||
{
|
||||
public:
|
||||
@ -38,7 +40,17 @@ public:
|
||||
const wxPoint &pos = wxDefaultPosition,
|
||||
const wxSize &size = wxDefaultSize,
|
||||
long style = 0,
|
||||
const wxString &name = wxPanelNameStr );
|
||||
const wxString &name = wxControlNameStr );
|
||||
|
||||
#if wxUSE_VALIDATORS
|
||||
wxControl( wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxPoint &pos = wxDefaultPosition,
|
||||
const wxSize &size = wxDefaultSize,
|
||||
long style = 0,
|
||||
const wxValidator& validator = wxDefaultValidator,
|
||||
const wxString &name = wxControlNameStr );
|
||||
#endif
|
||||
|
||||
// this function will filter out '&' characters and will put the accelerator
|
||||
// char (the one immediately after '&') into m_chAccel (TODO not yet)
|
||||
@ -50,7 +62,7 @@ protected:
|
||||
|
||||
wxString m_label;
|
||||
char m_chAccel; // enabled to avoid breaking binary compatibility later on
|
||||
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS(wxControl)
|
||||
};
|
||||
|
@ -29,6 +29,8 @@ class wxControl;
|
||||
// wxControl
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
extern const wxChar* wxControlNameStr;
|
||||
|
||||
class wxControl : public wxControlBase
|
||||
{
|
||||
public:
|
||||
@ -38,7 +40,17 @@ public:
|
||||
const wxPoint &pos = wxDefaultPosition,
|
||||
const wxSize &size = wxDefaultSize,
|
||||
long style = 0,
|
||||
const wxString &name = wxPanelNameStr );
|
||||
const wxString &name = wxControlNameStr );
|
||||
|
||||
#if wxUSE_VALIDATORS
|
||||
wxControl( wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxPoint &pos = wxDefaultPosition,
|
||||
const wxSize &size = wxDefaultSize,
|
||||
long style = 0,
|
||||
const wxValidator& validator = wxDefaultValidator,
|
||||
const wxString &name = wxControlNameStr );
|
||||
#endif
|
||||
|
||||
// this function will filter out '&' characters and will put the accelerator
|
||||
// char (the one immediately after '&') into m_chAccel (TODO not yet)
|
||||
@ -50,7 +62,7 @@ protected:
|
||||
|
||||
wxString m_label;
|
||||
char m_chAccel; // enabled to avoid breaking binary compatibility later on
|
||||
|
||||
|
||||
private:
|
||||
DECLARE_DYNAMIC_CLASS(wxControl)
|
||||
};
|
||||
|
@ -18,6 +18,8 @@
|
||||
|
||||
#include "wx/dynarray.h"
|
||||
|
||||
WXDLLEXPORT_DATA(extern const wxChar*) wxControlNameStr;
|
||||
|
||||
// General item class
|
||||
class WXDLLEXPORT wxControl : public wxControlBase
|
||||
{
|
||||
@ -25,7 +27,26 @@ class WXDLLEXPORT wxControl : public wxControlBase
|
||||
|
||||
public:
|
||||
wxControl();
|
||||
virtual ~wxControl();
|
||||
wxControl(wxWindow *parent, wxWindowID id,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize, long style = 0,
|
||||
#if wxUSE_VALIDATORS
|
||||
const wxValidator& validator = wxDefaultValidator,
|
||||
#endif
|
||||
const wxString& name = wxControlNameStr)
|
||||
{
|
||||
Create(parent, id, pos, size, style, validator, name);
|
||||
}
|
||||
|
||||
bool Create(wxWindow *parent, wxWindowID id,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize, long style = 0,
|
||||
#if wxUSE_VALIDATORS
|
||||
const wxValidator& validator = wxDefaultValidator,
|
||||
#endif
|
||||
const wxString& name = wxControlNameStr);
|
||||
|
||||
virtual ~wxControl();
|
||||
|
||||
// Simulates an event
|
||||
virtual void Command(wxCommandEvent& event) { ProcessCommand(event); }
|
||||
|
@ -36,6 +36,20 @@ wxControl::wxControl( wxWindow *parent,
|
||||
(void)Create(parent, id, pos, size, style, name);
|
||||
}
|
||||
|
||||
#if wxUSE_VALIDATORS
|
||||
wxControl::wxControl( wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxPoint &pos,
|
||||
const wxSize &size,
|
||||
long style,
|
||||
const wxValidator& validator,
|
||||
const wxString &name)
|
||||
{
|
||||
(void)Create(parent, id, pos, size, style, name);
|
||||
SetValidator(validator);
|
||||
}
|
||||
#endif
|
||||
|
||||
void wxControl::SetLabel( const wxString &label )
|
||||
{
|
||||
m_label.Empty();
|
||||
|
@ -130,6 +130,7 @@ wxColour wxNullColour;
|
||||
wxPalette wxNullPalette;
|
||||
|
||||
/* Default window names */
|
||||
const wxChar *wxControlNameStr = wxT("control");
|
||||
const wxChar *wxButtonNameStr = wxT("button");
|
||||
const wxChar *wxCanvasNameStr = wxT("canvas");
|
||||
const wxChar *wxCheckBoxNameStr = wxT("check");
|
||||
|
@ -36,6 +36,20 @@ wxControl::wxControl( wxWindow *parent,
|
||||
(void)Create(parent, id, pos, size, style, name);
|
||||
}
|
||||
|
||||
#if wxUSE_VALIDATORS
|
||||
wxControl::wxControl( wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxPoint &pos,
|
||||
const wxSize &size,
|
||||
long style,
|
||||
const wxValidator& validator,
|
||||
const wxString &name)
|
||||
{
|
||||
(void)Create(parent, id, pos, size, style, name);
|
||||
SetValidator(validator);
|
||||
}
|
||||
#endif
|
||||
|
||||
void wxControl::SetLabel( const wxString &label )
|
||||
{
|
||||
m_label.Empty();
|
||||
|
@ -130,6 +130,7 @@ wxColour wxNullColour;
|
||||
wxPalette wxNullPalette;
|
||||
|
||||
/* Default window names */
|
||||
const wxChar *wxControlNameStr = wxT("control");
|
||||
const wxChar *wxButtonNameStr = wxT("button");
|
||||
const wxChar *wxCanvasNameStr = wxT("canvas");
|
||||
const wxChar *wxCheckBoxNameStr = wxT("check");
|
||||
|
@ -56,6 +56,24 @@ wxControl::~wxControl()
|
||||
m_isBeingDeleted = TRUE;
|
||||
}
|
||||
|
||||
|
||||
bool wxControl::Create(wxWindow *parent, wxWindowID id,
|
||||
const wxPoint& pos,
|
||||
const wxSize& size, long style,
|
||||
#if wxUSE_VALIDATORS
|
||||
const wxValidator& validator,
|
||||
#endif
|
||||
const wxString& name)
|
||||
{
|
||||
bool rval = wxWindow::Create(parent, id, pos, size, style, name);
|
||||
if (rval) {
|
||||
#if wxUSE_VALIDATORS
|
||||
SetValidator(validator);
|
||||
#endif
|
||||
}
|
||||
return rval;
|
||||
}
|
||||
|
||||
bool wxControl::MSWCreateControl(const wxChar *classname,
|
||||
WXDWORD style,
|
||||
const wxPoint& pos,
|
||||
|
@ -112,6 +112,7 @@ wxFont wxNullFont;
|
||||
wxColour wxNullColour;
|
||||
|
||||
// Default window names
|
||||
const wxChar *wxControlNameStr = wxT("control");
|
||||
const wxChar *wxButtonNameStr = wxT("button");
|
||||
const wxChar *wxCanvasNameStr = wxT("canvas");
|
||||
const wxChar *wxCheckBoxNameStr = wxT("check");
|
||||
|
Loading…
Reference in New Issue
Block a user