]> git.saurik.com Git - wxWidgets.git/commitdiff
Add two step creation to wxTextEntryDialog.
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 27 Sep 2012 22:41:33 +0000 (22:41 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 27 Sep 2012 22:41:33 +0000 (22:41 +0000)
Add Create() method and default ctor for consistency with the other classes.

See #14702.

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

include/wx/generic/textdlgg.h
interface/wx/textdlg.h
src/generic/textdlgg.cpp

index d779ad2ef59b5126929ac322e8d65135009052e9..4d37d24251304e4cd5d03c14f93b1fe662f419d0 100644 (file)
@@ -37,12 +37,27 @@ extern WXDLLIMPEXP_DATA_CORE(const char) wxGetPasswordFromUserPromptStr[];
 class WXDLLIMPEXP_CORE wxTextEntryDialog : public wxDialog
 {
 public:
+    wxTextEntryDialog()
+    {
+        m_textctrl = NULL;
+    }
+
     wxTextEntryDialog(wxWindow *parent,
                       const wxString& message,
                       const wxString& caption = wxGetTextFromUserPromptStr,
                       const wxString& value = wxEmptyString,
                       long style = wxTextEntryDialogStyle,
-                      const wxPoint& pos = wxDefaultPosition);
+                      const wxPoint& pos = wxDefaultPosition)
+    {
+        Create(parent, message, caption, value, style, pos);
+    }
+
+    bool Create(wxWindow *parent,
+                const wxString& message,
+                const wxString& caption = wxGetTextFromUserPromptStr,
+                const wxString& value = wxEmptyString,
+                long style = wxTextEntryDialogStyle,
+                const wxPoint& pos = wxDefaultPosition);
 
     void SetValue(const wxString& val);
     wxString GetValue() const { return m_value; }
index 043145ca8964b8170c4e2dab7d3d4292c6eb8d1e..04157bea53075849bd39f3c04f90c4256758f600 100644 (file)
@@ -78,8 +78,28 @@ class wxTextEntryDialog : public wxDialog
 {
 public:
     /**
-        Constructor. Use ShowModal() to show the dialog.
+        Default constructor.
 
+        Call Create() to really create the dialog later.
+
+        @since 2.9.5
+     */
+    wxTextEntryDialog();
+
+    /**
+        Constructor.
+
+        Use ShowModal() to show the dialog.
+
+        See Create() method for parameter description.
+    */
+    wxTextEntryDialog(wxWindow* parent, const wxString& message,
+                      const wxString& caption = wxGetTextFromUserPromptStr,
+                      const wxString& value = wxEmptyString,
+                      long style = wxTextEntryDialogStyle,
+                      const wxPoint& pos = wxDefaultPosition);
+
+    /**
         @param parent
             Parent window.
         @param message
@@ -95,8 +115,10 @@ public:
             here.
         @param pos
             Dialog position.
+
+        @since 2.9.5
     */
-    wxTextEntryDialog(wxWindow* parent, const wxString& message,
+    bool Create(wxWindow* parent, const wxString& message,
                       const wxString& caption = wxGetTextFromUserPromptStr,
                       const wxString& value = wxEmptyString,
                       long style = wxTextEntryDialogStyle,
index 088391ea688a67f5c4b4ad4e6986d3ad09058de4..c2990265e3b83b8aca7fc1117abd9d98e6eece26 100644 (file)
@@ -65,17 +65,21 @@ END_EVENT_TABLE()
 
 IMPLEMENT_CLASS(wxTextEntryDialog, wxDialog)
 
-wxTextEntryDialog::wxTextEntryDialog(wxWindow *parent,
+bool wxTextEntryDialog::Create(wxWindow *parent,
                                      const wxString& message,
                                      const wxString& caption,
                                      const wxString& value,
                                      long style,
                                      const wxPoint& pos)
-                 : wxDialog(GetParentForModalDialog(parent, style),
-                            wxID_ANY, caption, pos, wxDefaultSize,
-                            wxDEFAULT_DIALOG_STYLE),
-                   m_value(value)
 {
+    if ( !wxDialog::Create(GetParentForModalDialog(parent, style),
+                           wxID_ANY, caption,
+                           pos, wxDefaultSize,
+                           wxDEFAULT_DIALOG_STYLE) )
+    {
+        return false;
+    }
+
     m_dialogStyle = style;
     m_value = value;
 
@@ -126,6 +130,8 @@ wxTextEntryDialog::wxTextEntryDialog(wxWindow *parent,
     m_textctrl->SetFocus();
 
     wxEndBusyCursor();
+
+    return true;
 }
 
 void wxTextEntryDialog::OnOK(wxCommandEvent& WXUNUSED(event) )