]> git.saurik.com Git - wxWidgets.git/commitdiff
Added a constructor that allows creation of independent wxControl
authorRobin Dunn <robin@alldunn.com>
Thu, 23 Dec 1999 19:23:13 +0000 (19:23 +0000)
committerRobin Dunn <robin@alldunn.com>
Thu, 23 Dec 1999 19:23:13 +0000 (19:23 +0000)
(for more easily creating custom controls)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5085 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/gtk/control.h
include/wx/gtk1/control.h
include/wx/msw/control.h
src/gtk/control.cpp
src/gtk/data.cpp
src/gtk1/control.cpp
src/gtk1/data.cpp
src/msw/control.cpp
src/msw/data.cpp

index e7869e4f0e7de21cf8a730f7ff83690edd49c521..93b2e8256605eef3aa06dc5e5c9c01699d0db28a 100644 (file)
@@ -29,6 +29,8 @@ class wxControl;
 // wxControl
 //-----------------------------------------------------------------------------
 
 // wxControl
 //-----------------------------------------------------------------------------
 
+extern const wxChar* wxControlNameStr;
+
 class wxControl : public wxControlBase
 {
 public:
 class wxControl : public wxControlBase
 {
 public:
@@ -38,7 +40,17 @@ public:
                const wxPoint &pos = wxDefaultPosition,
                const wxSize &size = wxDefaultSize,
                long style = 0,
                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)
 
     // 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
 
     wxString   m_label;
     char       m_chAccel;  // enabled to avoid breaking binary compatibility later on
-    
+
 private:
     DECLARE_DYNAMIC_CLASS(wxControl)
 };
 private:
     DECLARE_DYNAMIC_CLASS(wxControl)
 };
index e7869e4f0e7de21cf8a730f7ff83690edd49c521..93b2e8256605eef3aa06dc5e5c9c01699d0db28a 100644 (file)
@@ -29,6 +29,8 @@ class wxControl;
 // wxControl
 //-----------------------------------------------------------------------------
 
 // wxControl
 //-----------------------------------------------------------------------------
 
+extern const wxChar* wxControlNameStr;
+
 class wxControl : public wxControlBase
 {
 public:
 class wxControl : public wxControlBase
 {
 public:
@@ -38,7 +40,17 @@ public:
                const wxPoint &pos = wxDefaultPosition,
                const wxSize &size = wxDefaultSize,
                long style = 0,
                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)
 
     // 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
 
     wxString   m_label;
     char       m_chAccel;  // enabled to avoid breaking binary compatibility later on
-    
+
 private:
     DECLARE_DYNAMIC_CLASS(wxControl)
 };
 private:
     DECLARE_DYNAMIC_CLASS(wxControl)
 };
index 4c566bfb15e9104a5c1e4c0fba4389512fbc6afe..e63718755f778845223f780be1590c4a64fa8add 100644 (file)
@@ -18,6 +18,8 @@
 
 #include "wx/dynarray.h"
 
 
 #include "wx/dynarray.h"
 
+WXDLLEXPORT_DATA(extern const wxChar*) wxControlNameStr;
+
 // General item class
 class WXDLLEXPORT wxControl : public wxControlBase
 {
 // General item class
 class WXDLLEXPORT wxControl : public wxControlBase
 {
@@ -25,7 +27,26 @@ class WXDLLEXPORT wxControl : public wxControlBase
 
 public:
    wxControl();
 
 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); }
 
    // Simulates an event
    virtual void Command(wxCommandEvent& event) { ProcessCommand(event); }
index c150c147eec3f1dcd0b3f8c3cef857de35e411f4..b369c4d8c11ac1527db2a57fe5de03b41f440fde 100644 (file)
@@ -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 )
 {
     m_label.Empty();
 void wxControl::SetLabel( const wxString &label )
 {
     m_label.Empty();
index 6ecbf2a917a5dbde3d6638a8aee3e1569bd547ee..9971508a7b694ac4b93be8b6385865c59c0d80da 100644 (file)
@@ -130,6 +130,7 @@ wxColour   wxNullColour;
 wxPalette  wxNullPalette;
 
 /* Default window names */
 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");
 const wxChar *wxButtonNameStr = wxT("button");
 const wxChar *wxCanvasNameStr = wxT("canvas");
 const wxChar *wxCheckBoxNameStr = wxT("check");
index c150c147eec3f1dcd0b3f8c3cef857de35e411f4..b369c4d8c11ac1527db2a57fe5de03b41f440fde 100644 (file)
@@ -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 )
 {
     m_label.Empty();
 void wxControl::SetLabel( const wxString &label )
 {
     m_label.Empty();
index 6ecbf2a917a5dbde3d6638a8aee3e1569bd547ee..9971508a7b694ac4b93be8b6385865c59c0d80da 100644 (file)
@@ -130,6 +130,7 @@ wxColour   wxNullColour;
 wxPalette  wxNullPalette;
 
 /* Default window names */
 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");
 const wxChar *wxButtonNameStr = wxT("button");
 const wxChar *wxCanvasNameStr = wxT("canvas");
 const wxChar *wxCheckBoxNameStr = wxT("check");
index f6f67bac355088e4230c344921cabd0ce5dffb1e..0a177e8d69fa1f194e1d8f53dd1cfea24b9a5d23 100644 (file)
@@ -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,
                                  WXDWORD style,
                                  const wxPoint& pos,
 bool wxControl::MSWCreateControl(const wxChar *classname,
                                  WXDWORD style,
                                  const wxPoint& pos,
index b925bccfd51c09e4f7bdd29d7b77d1d2aef01a79..103f694ce0abd2858b26f789a69027847b3c6f41 100644 (file)
@@ -112,6 +112,7 @@ wxFont   wxNullFont;
 wxColour wxNullColour;
 
 // Default window names
 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");
 const wxChar *wxButtonNameStr = wxT("button");
 const wxChar *wxCanvasNameStr = wxT("canvas");
 const wxChar *wxCheckBoxNameStr = wxT("check");