]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/tbarsmpl.cpp
Made wxGTK compile and link again. Broke wxMSW a little.
[wxWidgets.git] / src / common / tbarsmpl.cpp
index 8976f942f2397132f1ae2f6c1f1d73a233b6e5ab..6feed67f31c378daecf60927e2a78d269ebd1ff1 100644 (file)
 #endif
 
 #ifndef WX_PRECOMP
-#include "wx/wx.h"
+#include "wx/settings.h"
+#include "wx/window.h"
+#include "wx/dcclient.h"
+#include "wx/dcmemory.h"
 #endif
 
 #if wxUSE_TOOLBAR
@@ -66,6 +69,7 @@ bool wxToolBarSimple::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos
   m_yMargin = 0;
   m_toolPacking = 1;
   m_toolSeparation = 5;
+  SetCursor(*wxSTANDARD_CURSOR);
   
   return TRUE;
 }
@@ -74,7 +78,7 @@ wxToolBarSimple::~wxToolBarSimple ()
 {
 }
 
-void wxToolBarSimple::OnPaint (wxPaintEvent& event)
+void wxToolBarSimple::OnPaint (wxPaintEvent& WXUNUSED(event))
 {
   wxPaintDC dc(this);
   PrepareDC(dc);
@@ -102,7 +106,7 @@ void wxToolBarSimple::OnSize ( wxSizeEvent& event )
   wxToolBarBase::OnSize(event);
 }
 
-void wxToolBarSimple::OnKillFocus (wxFocusEvent& event)
+void wxToolBarSimple::OnKillFocus (wxFocusEvent& WXUNUSED(event))
 {
   OnMouseEnter(m_pressedTool = m_currentTool = -1);
 }
@@ -211,8 +215,10 @@ void wxToolBarSimple::DrawTool(wxDC& dc, wxMemoryDC& memDC, wxToolBarTool *tool)
 
   if (bitmap && bitmap->Ok())
   {
+#ifndef __WXGTK__
     if (bitmap->GetPalette())
       memDC.SetPalette(*bitmap->GetPalette());
+#endif
 
     int ax = (int)tool->m_x,
         ay = (int)tool->m_y,
@@ -224,7 +230,7 @@ void wxToolBarSimple::DrawTool(wxDC& dc, wxMemoryDC& memDC, wxToolBarTool *tool)
     {
       dc.SetClippingRegion(ax, ay, (bx-ax+1), (by-ay+1));
       dc.Blit((ax+1), (ay+1), (bx-ax-2), (by-ay-2), &memDC, 0, 0);
-      wxPen * old_pen = dc.GetPen();
+      wxPen * old_pen = dc.GetPen();
       dc.SetPen( white_pen );
       dc.DrawLine(ax,(by-1),ax,ay);
       dc.DrawLine(ax,ay,(bx-1),ay);
@@ -245,17 +251,19 @@ void wxToolBarSimple::DrawTool(wxDC& dc, wxMemoryDC& memDC, wxToolBarTool *tool)
             &memDC, 0, 0);
     }
     memDC.SelectObject(wxNullBitmap);
+#ifndef __WXGTK__
     memDC.SetPalette(wxNullPalette);
+#endif
   }
   // No second bitmap, so draw a thick line around bitmap, or invert if mono
   else if (tool->m_toggleState)
   {
     bool drawBorder = FALSE;
-    #ifdef __X__ // X doesn't invert properly on colour
+#ifdef __X__ // X doesn't invert properly on colour
     drawBorder = wxColourDisplay();
-    #else       // Inversion works fine under Windows
+#else       // Inversion works fine under Windows
     drawBorder = FALSE;
-    #endif
+#endif
 
     if (!drawBorder)
     {
@@ -276,7 +284,7 @@ void wxToolBarSimple::DrawTool(wxDC& dc, wxMemoryDC& memDC, wxToolBarTool *tool)
         memDC.SelectObject(tool->m_bitmap1);
         dc.SetClippingRegion(ax, ay, (bx-ax+1), (by-ay+1));
         dc.Blit((ax+2), (ay+2), (bx-ax-2), (by-ay-2), &memDC, 0, 0);
-        wxPen * old_pen = dc.GetPen();
+        wxPen * old_pen = dc.GetPen();
         dc.SetPen( black_pen );
         dc.DrawLine(ax,(by-1),ax,ay);
         dc.DrawLine(ax,ay,(bx-1),ay);
@@ -314,7 +322,8 @@ void wxToolBarSimple::DrawTool(wxDC& dc, wxMemoryDC& memDC, wxToolBarTool *tool)
 
 void wxToolBarSimple::ToggleTool(int index, bool toggle)
 {
-  wxNode *node = m_tools.Find((long)index);
+  wxNode *node = (wxNode*) NULL;
+  node = m_tools.Find((long)index);
   if (node)
   {
     wxToolBarTool *tool = (wxToolBarTool *)node->Data();
@@ -339,7 +348,8 @@ void wxToolBarSimple::ToggleTool(int index, bool toggle)
 //
 void wxToolBarSimple::SpringUpButton(int index)
 {
-  wxNode *node=m_tools.Find((long)index);
+  wxNode *node = (wxNode*) NULL;
+  node=m_tools.Find((long)index);
   if (node) {
     wxToolBarTool *tool = (wxToolBarTool *)node->Data();
     if (tool && !tool->m_isToggle && tool->m_toggleState){
@@ -357,7 +367,7 @@ void wxToolBarSimple::SpringUpButton(int index)
   }
 }
 
-void wxToolBarSimple::Layout(void)
+void wxToolBarSimple::LayoutTools(void)
 {
   m_currentRowsOrColumns = 0;
   m_lastX = m_xMargin;