]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/tbarsmpl.cpp
ignore clicks on a toolbar but outside any button
[wxWidgets.git] / src / generic / tbarsmpl.cpp
index 7ddf168ec678e1cadb9b4bc608ab51aba4e683e9..1a0cddfd35d18112e8009cf0a8ae6a391809933d 100644 (file)
@@ -85,7 +85,7 @@ public:
 
 IMPLEMENT_DYNAMIC_CLASS(wxToolBarSimple, wxToolBarBase)
 
 
 IMPLEMENT_DYNAMIC_CLASS(wxToolBarSimple, wxToolBarBase)
 
-#if !wxUSE_TOOLBAR_NATIVE || defined(__WXUNIVERSAL__)
+#if !wxUSE_TOOLBAR_NATIVE
     #include "wx/toolbar.h"
 
     IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxToolBarSimple)
     #include "wx/toolbar.h"
 
     IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxToolBarSimple)
@@ -202,10 +202,10 @@ bool wxToolBarSimple::DoInsertTool(size_t WXUNUSED(pos),
     if ( tool->IsButton() )
     {
         // Calculate reasonable max size in case Layout() not called
     if ( tool->IsButton() )
     {
         // Calculate reasonable max size in case Layout() not called
-        if ((tool->m_x + tool->GetBitmap1().GetWidth() + m_xMargin) > m_maxWidth)
+        if ((tool->m_x + tool->GetNormalBitmap().GetWidth() + m_xMargin) > m_maxWidth)
             m_maxWidth = (wxCoord)((tool->m_x + tool->GetWidth() + m_xMargin));
 
             m_maxWidth = (wxCoord)((tool->m_x + tool->GetWidth() + m_xMargin));
 
-        if ((tool->m_y + tool->GetBitmap1().GetHeight() + m_yMargin) > m_maxHeight)
+        if ((tool->m_y + tool->GetNormalBitmap().GetHeight() + m_yMargin) > m_maxHeight)
             m_maxHeight = (wxCoord)((tool->m_y + tool->GetHeight() + m_yMargin));
     }
 
             m_maxHeight = (wxCoord)((tool->m_y + tool->GetHeight() + m_yMargin));
     }
 
@@ -234,8 +234,7 @@ bool wxToolBarSimple::Create(wxWindow *parent,
         return FALSE;
 
     // Set it to grey (or other 3D face colour)
         return FALSE;
 
     // Set it to grey (or other 3D face colour)
-    wxSystemSettings settings;
-    SetBackgroundColour(settings.GetSystemColour(wxSYS_COLOUR_3DFACE));
+    SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE));
 
     if ( GetWindowStyleFlag() & wxTB_VERTICAL )
     {
 
     if ( GetWindowStyleFlag() & wxTB_VERTICAL )
     {
@@ -509,8 +508,8 @@ void wxToolBarSimple::DrawTool(wxDC& dc, wxToolBarToolBase *toolBase)
     PrepareDC(dc);
 
     wxPen dark_grey_pen(wxColour( 85,85,85 ), 1, wxSOLID);
     PrepareDC(dc);
 
     wxPen dark_grey_pen(wxColour( 85,85,85 ), 1, wxSOLID);
-    wxPen white_pen("WHITE", 1, wxSOLID);
-    wxPen black_pen("BLACK", 1, wxSOLID);
+    wxPen white_pen(wxT("WHITE"), 1, wxSOLID);
+    wxPen black_pen(wxT("BLACK"), 1, wxSOLID);
 
     wxBitmap bitmap = tool->GetBitmap();
 
 
     wxBitmap bitmap = tool->GetBitmap();
 
@@ -557,7 +556,8 @@ void wxToolBarSimple::DrawTool(wxDC& dc, wxToolBarToolBase *toolBase)
 
 #if wxUSE_PALETTE
 #ifndef __WXGTK__
 
 #if wxUSE_PALETTE
 #ifndef __WXGTK__
-        memDC.SetPalette(wxNullPalette);
+        if (bitmap.GetPalette())
+            memDC.SetPalette(wxNullPalette);
 #endif
 #endif // wxUSE_PALETTE
     }
 #endif
 #endif // wxUSE_PALETTE
     }
@@ -573,14 +573,14 @@ void wxToolBarSimple::DrawTool(wxDC& dc, wxToolBarToolBase *toolBase)
 
         if (!drawBorder)
         {
 
         if (!drawBorder)
         {
-            memDC.SelectObject(tool->GetBitmap1());
+            memDC.SelectObject(tool->GetNormalBitmap());
             dc.Blit(tool->m_x, tool->m_y, tool->GetWidth(), tool->GetHeight(),
                     &memDC, 0, 0, wxSRC_INVERT);
             memDC.SelectObject(wxNullBitmap);
         }
         else
         {
             dc.Blit(tool->m_x, tool->m_y, tool->GetWidth(), tool->GetHeight(),
                     &memDC, 0, 0, wxSRC_INVERT);
             memDC.SelectObject(wxNullBitmap);
         }
         else
         {
-            bitmap = tool->GetBitmap1();
+            bitmap = tool->GetNormalBitmap();
 
             if (m_windowStyle & wxTB_3DBUTTONS)
             {
 
             if (m_windowStyle & wxTB_3DBUTTONS)
             {
@@ -612,7 +612,7 @@ void wxToolBarSimple::DrawTool(wxDC& dc, wxToolBarToolBase *toolBase)
                 wxCoord y = tool->m_y;
                 wxCoord w = bitmap.GetWidth();
                 wxCoord h = bitmap.GetHeight();
                 wxCoord y = tool->m_y;
                 wxCoord w = bitmap.GetWidth();
                 wxCoord h = bitmap.GetHeight();
-                wxPen thick_black_pen("BLACK", 3, wxSOLID);
+                wxPen thick_black_pen(wxT("BLACK"), 3, wxSOLID);
 
                 memDC.SelectObject(bitmap);
                 dc.SetClippingRegion(tool->m_x, tool->m_y, w, h);
 
                 memDC.SelectObject(bitmap);
                 dc.SetClippingRegion(tool->m_x, tool->m_y, w, h);