+ m_children.Append( new wxSizerItem( width, height, option, flag, border, userData ) );
+}
+
+void wxSizer::Prepend( wxWindow *window, int option, int flag, int border, wxObject* userData )
+{
+ m_children.Insert( new wxSizerItem( window, option, flag, border, userData ) );
+}
+
+void wxSizer::Prepend( wxSizer *sizer, int option, int flag, int border, wxObject* userData )
+{
+ m_children.Insert( new wxSizerItem( sizer, option, flag, border, userData ) );
+}
+
+void wxSizer::Prepend( int width, int height, int option, int flag, int border, wxObject* userData )
+{
+ m_children.Insert( new wxSizerItem( width, height, option, flag, border, userData ) );
+}
+
+void wxSizer::Insert( int before, wxWindow *window, int option, int flag, int border, wxObject* userData )
+{
+ m_children.Insert( before, new wxSizerItem( window, option, flag, border, userData ) );
+}
+
+void wxSizer::Insert( int before, wxSizer *sizer, int option, int flag, int border, wxObject* userData )
+{
+ m_children.Insert( before, new wxSizerItem( sizer, option, flag, border, userData ) );
+}
+
+void wxSizer::Insert( int before, int width, int height, int option, int flag, int border, wxObject* userData )
+{
+ m_children.Insert( before, new wxSizerItem( width, height, option, flag, border, userData ) );
+}
+
+bool wxSizer::Remove( wxWindow *window )
+{
+ wxASSERT( window );
+
+ wxNode *node = m_children.First();
+ while (node)
+ {
+ wxSizerItem *item = (wxSizerItem*)node->Data();
+ if (item->GetWindow() == window)
+ {
+ m_children.DeleteNode( node );
+ return TRUE;
+ }
+ node = node->Next();
+ }
+
+ return FALSE;
+}
+
+bool wxSizer::Remove( wxSizer *sizer )
+{
+ wxASSERT( sizer );
+
+ wxNode *node = m_children.First();
+ while (node)
+ {
+ wxSizerItem *item = (wxSizerItem*)node->Data();
+ if (item->GetSizer() == sizer)
+ {
+ m_children.DeleteNode( node );
+ return TRUE;
+ }
+ node = node->Next();
+ }
+
+ return FALSE;
+}
+
+bool wxSizer::Remove( int pos )
+{
+ wxNode *node = m_children.Nth( pos );
+ if (!node) return FALSE;
+
+ m_children.DeleteNode( node );
+
+ return TRUE;
+}
+
+void wxSizer::Clear( bool delete_windows )
+{
+ if (delete_windows)
+ DeleteWindows();
+
+ m_children.Clear();
+}
+
+void wxSizer::DeleteWindows()
+{
+ wxNode *node = m_children.First();
+ while (node)
+ {
+ wxSizerItem *item = (wxSizerItem*)node->Data();
+ item->DeleteWindows();
+ node = node->Next();
+ }