]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/toolbar.cpp
add wxGet/Set/HasWindowExStyle() helpers and use them
[wxWidgets.git] / src / msw / toolbar.cpp
index 16bd76be16725f674805b32abca48fe80dab53b6..33c4950b307032a0dcd2df623e9a1b9b95f1a2a6 100644 (file)
@@ -397,9 +397,7 @@ wxToolBar::~wxToolBar()
 {
     // we must refresh the frame size when the toolbar is deleted but the frame
     // is not - otherwise toolbar leaves a hole in the place it used to occupy
-    wxFrame *frame = wxDynamicCast(GetParent(), wxFrame);
-    if ( frame && !frame->IsBeingDeleted() )
-        frame->SendSizeEvent();
+    SendSizeEventToParent();
 
     if ( m_hBitmap )
         ::DeleteObject((HBITMAP) m_hBitmap);
@@ -581,13 +579,15 @@ bool wxToolBar::DoDeleteTool(size_t pos, wxToolBarToolBase *tool)
         wxToolBarTool *tool2 = (wxToolBarTool*)node->GetData();
         if ( tool2->IsControl() )
         {
+            wxControl * const control = tool2->GetControl();
+
             int x;
-            wxControl *control = tool2->GetControl();
             control->GetPosition(&x, NULL);
             control->Move(x - width, wxDefaultCoord);
 
-            wxStaticText* staticText = tool2->GetStaticText();
-            staticText->Move(x - width, wxDefaultCoord);
+            wxStaticText * const staticText = tool2->GetStaticText();
+            if ( staticText )
+                staticText->Move(x - width, wxDefaultCoord);
         }
     }
 
@@ -1420,11 +1420,7 @@ void wxToolBar::UpdateSize()
     // toolbar to full width again, but only if the parent is a frame and the
     // toolbar is managed by the frame.  Otherwise assume that some other
     // layout mechanism is controlling the toolbar size and leave it alone.
-    wxFrame *frame = wxDynamicCast(GetParent(), wxFrame);
-    if ( frame && frame->GetToolBar() == this )
-    {
-        frame->SendSizeEvent();
-    }
+    SendSizeEventToParent();
 }
 
 // ----------------------------------------------------------------------------