]> git.saurik.com Git - wxWidgets.git/commitdiff
added optional parameter to SetSizer, to allow replacing a window's
authorRon Lee <ron@debian.org>
Sun, 10 Mar 2002 11:19:16 +0000 (11:19 +0000)
committerRon Lee <ron@debian.org>
Sun, 10 Mar 2002 11:19:16 +0000 (11:19 +0000)
sizer without deleting the existing one.

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

docs/latex/wx/window.tex
include/wx/window.h
src/common/wincmn.cpp

index af3fa748329123c64bb2a9a4900e2e23f1a276be..9fbd49fbcfafdab28f9d14e8bc132ded7da89673 100644 (file)
@@ -2483,17 +2483,20 @@ The resizing increments are only significant under Motif or Xt.
 
 \membersection{wxWindow::SetSizer}\label{wxwindowsetsizer}
 
-\func{void}{SetSizer}{\param{wxSizer* }{sizer}}
+\func{void}{SetSizer}{\param{wxSizer* }{sizer}, \param{bool }{deleteOld=TRUE}}
 
 Sets the window to have the given layout sizer. The window
 will then own the object, and will take care of its deletion.
 If an existing layout constraints object is already owned by the
-window, it will be deleted.
+window, it will be deleted if the deleteOld parameter is TRUE.
 
 \wxheading{Parameters}
 
-\docparam{sizer}{The sizer to set. Pass NULL to disassociate and delete the window's
-sizer.}
+\docparam{sizer}{The sizer to set. Pass NULL to disassociate and conditionally delete
+the window's sizer.  See below.}
+
+\docparam{deleteOld}{If TRUE (the default), this will delete any prexisting sizer.
+Pass FALSE if you wish to handle deleting the old sizer yourself.}
 
 \wxheading{Remarks}
 
index 40538ca5a6669b5e1498ef9c34bd43b4165a1375..1b7071d6264ab10acb7cec7cca3970463cc4b424 100644 (file)
@@ -739,7 +739,7 @@ public:
     virtual bool Layout();
 
         // sizers
-    void SetSizer( wxSizer *sizer );
+    void SetSizer(wxSizer *sizer, bool deleteOld = TRUE );
     wxSizer *GetSizer() const { return m_windowSizer; }
 
     // Track if this window is a member of a sizer
index f738746d004b99cd4f6ac1ca52a6728c366cdcb7..2641125c24f86cb5226e7f20f8aa33d1e812449a 100644 (file)
@@ -1185,9 +1185,9 @@ void wxWindowBase::DeleteRelatedConstraints()
 }
 #endif
 
-void wxWindowBase::SetSizer(wxSizer *sizer)
+void wxWindowBase::SetSizer(wxSizer *sizer, bool deleteOld)
 {
-    if (m_windowSizer) delete m_windowSizer;
+    if (m_windowSizer && deleteOld) delete m_windowSizer;
 
     m_windowSizer = sizer;
 }