]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/toolbar.cpp
re-renamed DoCreate() to XmDoCreateTLW() to avoid virtual function hiding in other...
[wxWidgets.git] / src / motif / toolbar.cpp
index 4d29622f0acf1fecfdc34450bb36a2537a7e4bf3..70fa4d3931d474cb1cf135eda296fa869cf23880 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     04/01/98
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
-// Licence:     wxWidgets licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma implementation "toolbar.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
@@ -55,9 +51,7 @@
 // wxWin macros
 // ----------------------------------------------------------------------------
 
-#if !USE_SHARED_LIBRARY
 IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxControl)
-#endif
 
 // ----------------------------------------------------------------------------
 // private functions
@@ -205,7 +199,7 @@ bool wxToolBar::Create(wxWindow *parent,
 {
     if( !wxControl::CreateControl( parent, id, pos, size, style,
                                    wxDefaultValidator, name ) )
-        return FALSE;
+        return false;
 
     m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE);
 
@@ -232,7 +226,7 @@ bool wxToolBar::Create(wxWindow *parent,
 
     m_mainWidget = (WXWidget) toolbar;
 
-    ChangeFont(FALSE);
+    ChangeFont(false);
 
     wxPoint rPos = pos;
     wxSize  rSize = size;
@@ -247,7 +241,7 @@ bool wxToolBar::Create(wxWindow *parent,
 
     ChangeBackgroundColour();
 
-    return TRUE;
+    return true;
 }
 
 wxToolBar::~wxToolBar()
@@ -261,7 +255,7 @@ bool wxToolBar::Realize()
     if ( m_tools.GetCount() == 0 )
     {
         // nothing to do
-        return TRUE;
+        return true;
     }
 
     bool isVertical = GetWindowStyle() & wxTB_VERTICAL;
@@ -278,8 +272,6 @@ bool wxToolBar::Realize()
 
     int buttonHeight = 0, buttonWidth = 0;
 
-    int currentSpacing = 0;
-
     Widget button;
     Pixmap pixmap, insensPixmap;
     wxBitmap bmp, insensBmp;
@@ -364,7 +356,7 @@ bool wxToolBar::Realize()
                 if( !tool->GetButtonWidget() )
                 {
                     wxDoChangeBackgroundColour((WXWidget) button,
-                                               m_backgroundColour, TRUE);
+                                               m_backgroundColour, true);
 
                     tool->SetWidget(button);
                 }
@@ -472,7 +464,6 @@ bool wxToolBar::Realize()
                 XtAddEventHandler (button, EnterWindowMask | LeaveWindowMask,
                         False, wxToolButtonPopupCallback, (XtPointer) this);
 
-                currentSpacing = 0;
                 break;
         }
 
@@ -483,7 +474,7 @@ bool wxToolBar::Realize()
              isVertical ? buttonWidth + 2 * marginX : -1,
              isVertical ? -1 : buttonHeight +  2*marginY );
 
-    return TRUE;
+    return true;
 }
 
 wxToolBarToolBase *wxToolBar::FindToolForPosition(wxCoord WXUNUSED(x),
@@ -498,7 +489,7 @@ bool wxToolBar::DoInsertTool(size_t WXUNUSED(pos), wxToolBarToolBase *tool)
 {
     tool->Attach(this);
 
-    return TRUE;
+    return true;
 }
 
 bool wxToolBar::DoDeleteTool(size_t pos, wxToolBarToolBase *tool)
@@ -586,14 +577,18 @@ bool wxToolBar::DoDeleteTool(size_t pos, wxToolBarToolBase *tool)
         }
     }
 
-    return TRUE;
+    return true;
 }
 
 void wxToolBar::DoEnableTool(wxToolBarToolBase *toolBase, bool enable)
 {
     wxToolBarTool *tool = (wxToolBarTool *)toolBase;
-
-    XtSetSensitive(tool->GetButtonWidget(), (Boolean) enable);
+    if (tool->GetButtonWidget()){
+        XtSetSensitive(tool->GetButtonWidget(), (Boolean) enable);
+    } else if (wxTOOL_STYLE_CONTROL == tool->GetStyle()){
+        // Controls (such as wxChoice) do not have button widgets
+        tool->GetControl()->Enable(enable);
+    }
 }
 
 void wxToolBar::DoToggleTool(wxToolBarToolBase *toolBase, bool toggle)
@@ -719,7 +714,7 @@ static void wxToolButtonPopupCallback(Widget w,
         wxToolBarTimer::help_popup = (Widget) 0;
 
         // One shot
-        wxTheToolBarTimer->Start(delayMilli, TRUE);
+        wxTheToolBarTimer->Start(delayMilli, true);
 
     }
     /************************************************************/