]> git.saurik.com Git - wxWidgets.git/commitdiff
Move LabelWrapper, TextSizerWrapper classes out of function body to accommodate some...
authorMichael Wetherell <mike.wetherell@ntlworld.com>
Wed, 24 Aug 2005 14:59:36 +0000 (14:59 +0000)
committerMichael Wetherell <mike.wetherell@ntlworld.com>
Wed, 24 Aug 2005 14:59:36 +0000 (14:59 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35301 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/dlgcmn.cpp

index 9b6e38f81b63725d491b4f284844752bb11f1939..8ac52135d935b862c03b886d9856ba450e1a0b10 100644 (file)
@@ -177,6 +177,44 @@ void wxTextWrapper::Wrap(wxWindow *win, const wxString& text, int widthMax)
     }
 }
 
+class wxTextSizerWrapper : public wxTextWrapper
+{
+public:
+    wxTextSizerWrapper(wxWindow *win)
+    {
+        m_win = win;
+        m_hLine = 0;
+    }
+
+    wxSizer *CreateSizer(const wxString& text, int widthMax)
+    {
+        m_sizer = new wxBoxSizer(wxVERTICAL);
+        Wrap(m_win, text, widthMax);
+        return m_sizer;
+    }
+
+protected:
+    virtual void OnOutputLine(const wxString& line)
+    {
+        if ( !line.empty() )
+        {
+            m_sizer->Add(new wxStaticText(m_win, wxID_ANY, line));
+        }
+        else // empty line, no need to create a control for it
+        {
+            if ( !m_hLine )
+                m_hLine = m_win->GetCharHeight();
+
+            m_sizer->Add(5, m_hLine);
+        }
+    }
+
+private:
+    wxWindow *m_win;
+    wxSizer *m_sizer;
+    int m_hLine;
+};
+
 wxSizer *wxDialogBase::CreateTextSizer(const wxString& message)
 {
     // I admit that this is complete bogus, but it makes
@@ -194,49 +232,35 @@ wxSizer *wxDialogBase::CreateTextSizer(const wxString& message)
     wxString text(message);
     text.Replace(_T("&"), _T("&&"));
 
+    wxTextSizerWrapper wrapper(this);
 
-    class TextSizerWrapper : public wxTextWrapper
-    {
-    public:
-        TextSizerWrapper(wxWindow *win)
-        {
-            m_win = win;
-            m_hLine = 0;
-        }
-
-        wxSizer *CreateSizer(const wxString& text, int widthMax)
-        {
-            m_sizer = new wxBoxSizer(wxVERTICAL);
-            Wrap(m_win, text, widthMax);
-            return m_sizer;
-        }
-
-    protected:
-        virtual void OnOutputLine(const wxString& line)
-        {
-            if ( !line.empty() )
-            {
-                m_sizer->Add(new wxStaticText(m_win, wxID_ANY, line));
-            }
-            else // empty line, no need to create a control for it
-            {
-                if ( !m_hLine )
-                    m_hLine = m_win->GetCharHeight();
+    return wrapper.CreateSizer(text, widthMax);
+}
 
-                m_sizer->Add(5, m_hLine);
-            }
-        }
+class wxLabelWrapper : public wxTextWrapper
+{
+public:
+    void WrapLabel(wxWindow *text, int widthMax)
+    {
+        m_text.clear();
+        Wrap(text, text->GetLabel(), widthMax);
+        text->SetLabel(m_text);
+    }
 
-    private:
-        wxWindow *m_win;
-        wxSizer *m_sizer;
-        int m_hLine;
-    };
+protected:
+    virtual void OnOutputLine(const wxString& line)
+    {
+        m_text += line;
+    }
 
-    TextSizerWrapper wrapper(this);
+    virtual void OnNewLine()
+    {
+        m_text += _T('\n');
+    }
 
-    return wrapper.CreateSizer(text, widthMax);
-}
+private:
+    wxString m_text;
+};
 
 void
 #if defined(__WXGTK__) && !defined(__WXUNIVERSAL__)
@@ -246,32 +270,7 @@ wxStaticTextBase
 #endif
 ::Wrap(int width)
 {
-    class LabelWrapper : public wxTextWrapper
-    {
-    public:
-        void WrapLabel(wxWindow *text, int widthMax)
-        {
-            m_text.clear();
-            Wrap(text, text->GetLabel(), widthMax);
-            text->SetLabel(m_text);
-        }
-
-    protected:
-        virtual void OnOutputLine(const wxString& line)
-        {
-            m_text += line;
-        }
-
-        virtual void OnNewLine()
-        {
-            m_text += _T('\n');
-        }
-
-    private:
-        wxString m_text;
-    };
-
-    LabelWrapper wrapper;
+    wxLabelWrapper wrapper;
     wrapper.WrapLabel(this, width);
 }