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:
@@ -29,6 +29,8 @@ class wxControl;
|
|||||||
// wxControl
|
// wxControl
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
extern const wxChar* wxControlNameStr;
|
||||||
|
|
||||||
class wxControl : public wxControlBase
|
class wxControl : public wxControlBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -38,7 +40,17 @@ public:
|
|||||||
const wxPoint &pos = wxDefaultPosition,
|
const wxPoint &pos = wxDefaultPosition,
|
||||||
const wxSize &size = wxDefaultSize,
|
const wxSize &size = wxDefaultSize,
|
||||||
long style = 0,
|
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
|
// this function will filter out '&' characters and will put the accelerator
|
||||||
// char (the one immediately after '&') into m_chAccel (TODO not yet)
|
// char (the one immediately after '&') into m_chAccel (TODO not yet)
|
||||||
@@ -50,7 +62,7 @@ protected:
|
|||||||
|
|
||||||
wxString m_label;
|
wxString m_label;
|
||||||
char m_chAccel; // enabled to avoid breaking binary compatibility later on
|
char m_chAccel; // enabled to avoid breaking binary compatibility later on
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_DYNAMIC_CLASS(wxControl)
|
DECLARE_DYNAMIC_CLASS(wxControl)
|
||||||
};
|
};
|
||||||
|
@@ -29,6 +29,8 @@ class wxControl;
|
|||||||
// wxControl
|
// wxControl
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
extern const wxChar* wxControlNameStr;
|
||||||
|
|
||||||
class wxControl : public wxControlBase
|
class wxControl : public wxControlBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -38,7 +40,17 @@ public:
|
|||||||
const wxPoint &pos = wxDefaultPosition,
|
const wxPoint &pos = wxDefaultPosition,
|
||||||
const wxSize &size = wxDefaultSize,
|
const wxSize &size = wxDefaultSize,
|
||||||
long style = 0,
|
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
|
// this function will filter out '&' characters and will put the accelerator
|
||||||
// char (the one immediately after '&') into m_chAccel (TODO not yet)
|
// char (the one immediately after '&') into m_chAccel (TODO not yet)
|
||||||
@@ -50,7 +62,7 @@ protected:
|
|||||||
|
|
||||||
wxString m_label;
|
wxString m_label;
|
||||||
char m_chAccel; // enabled to avoid breaking binary compatibility later on
|
char m_chAccel; // enabled to avoid breaking binary compatibility later on
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_DYNAMIC_CLASS(wxControl)
|
DECLARE_DYNAMIC_CLASS(wxControl)
|
||||||
};
|
};
|
||||||
|
@@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
#include "wx/dynarray.h"
|
#include "wx/dynarray.h"
|
||||||
|
|
||||||
|
WXDLLEXPORT_DATA(extern const wxChar*) wxControlNameStr;
|
||||||
|
|
||||||
// General item class
|
// General item class
|
||||||
class WXDLLEXPORT wxControl : public wxControlBase
|
class WXDLLEXPORT wxControl : public wxControlBase
|
||||||
{
|
{
|
||||||
@@ -25,7 +27,26 @@ class WXDLLEXPORT wxControl : public wxControlBase
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
wxControl();
|
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
|
// Simulates an event
|
||||||
virtual void Command(wxCommandEvent& event) { ProcessCommand(event); }
|
virtual void Command(wxCommandEvent& event) { ProcessCommand(event); }
|
||||||
|
@@ -36,6 +36,20 @@ wxControl::wxControl( wxWindow *parent,
|
|||||||
(void)Create(parent, id, pos, size, style, name);
|
(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 )
|
void wxControl::SetLabel( const wxString &label )
|
||||||
{
|
{
|
||||||
m_label.Empty();
|
m_label.Empty();
|
||||||
|
@@ -130,6 +130,7 @@ wxColour wxNullColour;
|
|||||||
wxPalette wxNullPalette;
|
wxPalette wxNullPalette;
|
||||||
|
|
||||||
/* Default window names */
|
/* Default window names */
|
||||||
|
const wxChar *wxControlNameStr = wxT("control");
|
||||||
const wxChar *wxButtonNameStr = wxT("button");
|
const wxChar *wxButtonNameStr = wxT("button");
|
||||||
const wxChar *wxCanvasNameStr = wxT("canvas");
|
const wxChar *wxCanvasNameStr = wxT("canvas");
|
||||||
const wxChar *wxCheckBoxNameStr = wxT("check");
|
const wxChar *wxCheckBoxNameStr = wxT("check");
|
||||||
|
@@ -36,6 +36,20 @@ wxControl::wxControl( wxWindow *parent,
|
|||||||
(void)Create(parent, id, pos, size, style, name);
|
(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 )
|
void wxControl::SetLabel( const wxString &label )
|
||||||
{
|
{
|
||||||
m_label.Empty();
|
m_label.Empty();
|
||||||
|
@@ -130,6 +130,7 @@ wxColour wxNullColour;
|
|||||||
wxPalette wxNullPalette;
|
wxPalette wxNullPalette;
|
||||||
|
|
||||||
/* Default window names */
|
/* Default window names */
|
||||||
|
const wxChar *wxControlNameStr = wxT("control");
|
||||||
const wxChar *wxButtonNameStr = wxT("button");
|
const wxChar *wxButtonNameStr = wxT("button");
|
||||||
const wxChar *wxCanvasNameStr = wxT("canvas");
|
const wxChar *wxCanvasNameStr = wxT("canvas");
|
||||||
const wxChar *wxCheckBoxNameStr = wxT("check");
|
const wxChar *wxCheckBoxNameStr = wxT("check");
|
||||||
|
@@ -56,6 +56,24 @@ wxControl::~wxControl()
|
|||||||
m_isBeingDeleted = TRUE;
|
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,
|
bool wxControl::MSWCreateControl(const wxChar *classname,
|
||||||
WXDWORD style,
|
WXDWORD style,
|
||||||
const wxPoint& pos,
|
const wxPoint& pos,
|
||||||
|
@@ -112,6 +112,7 @@ wxFont wxNullFont;
|
|||||||
wxColour wxNullColour;
|
wxColour wxNullColour;
|
||||||
|
|
||||||
// Default window names
|
// Default window names
|
||||||
|
const wxChar *wxControlNameStr = wxT("control");
|
||||||
const wxChar *wxButtonNameStr = wxT("button");
|
const wxChar *wxButtonNameStr = wxT("button");
|
||||||
const wxChar *wxCanvasNameStr = wxT("canvas");
|
const wxChar *wxCanvasNameStr = wxT("canvas");
|
||||||
const wxChar *wxCheckBoxNameStr = wxT("check");
|
const wxChar *wxCheckBoxNameStr = wxT("check");
|
||||||
|
Reference in New Issue
Block a user