]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/tbarmsw.cpp
* Added threads event propagation. Should compile on GTK (tested).
[wxWidgets.git] / src / msw / tbarmsw.cpp
index 15dd0eafaed6589c6716a9357f308c892c6c87d2..2e5fdab316a83ef464c90d2403d99caecb4c2cbf 100644 (file)
 #endif
 
 #ifndef WX_PRECOMP
-#include "wx.h"
+#include "wx/wx.h"
 #endif
 
 #if wxUSE_BUTTONBAR && wxUSE_TOOLBAR
 
-#ifndef __GNUWIN32__
+#if !defined(__GNUWIN32__) && !defined(__SALFORDC__)
 #include "malloc.h"
 #endif
 
+#if !defined(__MWERKS__) && !defined(__SALFORDC__)
 #include <memory.h>
+#endif
+
 #include <stdlib.h>
 
 #include "wx/tbarmsw.h"
+#include "wx/event.h"
 #include "wx/app.h"
+#include "wx/bitmap.h"
 #include "wx/msw/private.h"
 #include "wx/msw/dib.h"
 
@@ -339,14 +344,13 @@ wxToolBarTool *wxToolBarMSW::AddTool(int index, const wxBitmap& bitmap, const wx
 
   // TODO: use the mapping code from wxToolBar95 to get it right in this class
 #if !defined(__WIN32__) && !defined(__WIN386__)
-  wxBitmap *bitmap2 = NULL;
+  wxBitmap bitmap2;
   if (toggle)
   {
-    bitmap2 = new wxBitmap;
-    bitmap2->SetHBITMAP( (WXHBITMAP) CreateMappedBitmap(wxGetInstance(), (HBITMAP) ((wxBitmap& )bitmap).GetHBITMAP()));
+    bitmap2.SetHBITMAP( (WXHBITMAP) CreateMappedBitmap(wxGetInstance(), (HBITMAP) ((wxBitmap& )bitmap).GetHBITMAP()));
   }
 
-  wxToolBarTool *tool = new wxToolBarTool(index, bitmap, *bitmap2, toggle, xPos, yPos, helpString1, helpString2);
+  wxToolBarTool *tool = new wxToolBarTool(index, bitmap, bitmap2, toggle, xPos, yPos, helpString1, helpString2);
 #else
   wxToolBarTool *tool = new wxToolBarTool(index, bitmap, wxNullBitmap, toggle, xPos, yPos, helpString1, helpString2);
 #endif
@@ -461,12 +465,20 @@ void wxToolBarMSW::Layout(void)
     node = node->Next();
   }
   if ( GetWindowStyleFlag() & wxTB_HORIZONTAL )
+  {
     m_maxWidth += maxToolWidth;
+    m_maxHeight += maxToolHeight;
+  }
   else
+  {
+    m_maxWidth += maxToolWidth;
     m_maxHeight += maxToolHeight;
+  }
 
   m_maxWidth += m_xMargin;
   m_maxHeight += m_yMargin;
+
+  SetSize(m_maxWidth, m_maxHeight);
 }