]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/tbarbase.cpp
fixed WM_GETDLGCODE processing to include the bits returned by the DefWindowProc...
[wxWidgets.git] / src / common / tbarbase.cpp
index 93d6bbfc3f1dad28a521f16a7fc5eec955fb1598..a68b275b1acb842bf04463d6f6e061ab9a743b1c 100644 (file)
@@ -74,7 +74,7 @@ bool wxToolBarToolBase::Enable(bool enable)
 
 bool wxToolBarToolBase::Toggle(bool toggle)
 {
 
 bool wxToolBarToolBase::Toggle(bool toggle)
 {
-    wxASSERT_MSG( m_isToggle, _T("can't toggle this tool") );
+    wxASSERT_MSG( CanBeToggled(), _T("can't toggle this tool") );
 
     if ( m_toggled == toggle )
         return FALSE;
 
     if ( m_toggled == toggle )
         return FALSE;
@@ -86,10 +86,11 @@ bool wxToolBarToolBase::Toggle(bool toggle)
 
 bool wxToolBarToolBase::SetToggle(bool toggle)
 {
 
 bool wxToolBarToolBase::SetToggle(bool toggle)
 {
-    if ( m_isToggle == toggle )
+    wxItemKind kind = toggle ? wxITEM_CHECK : wxITEM_NORMAL;
+    if ( m_kind == kind )
         return FALSE;
 
         return FALSE;
 
-    m_isToggle = toggle;
+    m_kind = kind;
 
     return TRUE;
 }
 
     return TRUE;
 }
@@ -132,34 +133,36 @@ wxToolBarBase::wxToolBarBase()
     m_maxRows = m_maxCols = 0;
 }
 
     m_maxRows = m_maxCols = 0;
 }
 
-wxToolBarToolBase *wxToolBarBase::AddTool(int id,
-                                          const wxBitmap& bitmap,
-                                          const wxBitmap& pushedBitmap,
-                                          bool toggle,
-                                          wxCoord WXUNUSED(xPos),
-                                          wxCoord WXUNUSED(yPos),
-                                          wxObject *clientData,
-                                          const wxString& helpString1,
-                                          const wxString& helpString2)
+wxToolBarToolBase *wxToolBarBase::DoAddTool(int id,
+                                            const wxString& label,
+                                            const wxBitmap& bitmap,
+                                            const wxBitmap& bmpDisabled,
+                                            wxItemKind kind,
+                                            const wxString& shortHelp,
+                                            const wxString& longHelp,
+                                            wxObject *clientData,
+                                            wxCoord WXUNUSED(xPos),
+                                            wxCoord WXUNUSED(yPos))
 {
 {
-    return InsertTool(GetToolsCount(), id, bitmap, pushedBitmap,
-                      toggle, clientData, helpString1, helpString2);
+    return InsertTool(GetToolsCount(), id, label, bitmap, bmpDisabled,
+                      kind, shortHelp, longHelp, clientData);
 }
 
 wxToolBarToolBase *wxToolBarBase::InsertTool(size_t pos,
                                              int id,
 }
 
 wxToolBarToolBase *wxToolBarBase::InsertTool(size_t pos,
                                              int id,
+                                             const wxString& label,
                                              const wxBitmap& bitmap,
                                              const wxBitmap& bitmap,
-                                             const wxBitmap& pushedBitmap,
-                                             bool toggle,
-                                             wxObject *clientData,
-                                             const wxString& helpString1,
-                                             const wxString& helpString2)
+                                             const wxBitmap& bmpDisabled,
+                                             wxItemKind kind,
+                                             const wxString& shortHelp,
+                                             const wxString& longHelp,
+                                             wxObject *clientData)
 {
     wxCHECK_MSG( pos <= GetToolsCount(), (wxToolBarToolBase *)NULL,
                  _T("invalid position in wxToolBar::InsertTool()") );
 
 {
     wxCHECK_MSG( pos <= GetToolsCount(), (wxToolBarToolBase *)NULL,
                  _T("invalid position in wxToolBar::InsertTool()") );
 
-    wxToolBarToolBase *tool = CreateTool(id, bitmap, pushedBitmap, toggle,
-                                         clientData, helpString1, helpString2);
+    wxToolBarToolBase *tool = CreateTool(id, label, bitmap, bmpDisabled, kind,
+                                         clientData, shortHelp, longHelp);
 
     if ( !tool || !DoInsertTool(pos, tool) )
     {
 
     if ( !tool || !DoInsertTool(pos, tool) )
     {
@@ -214,8 +217,9 @@ wxToolBarToolBase *wxToolBarBase::InsertSeparator(size_t pos)
                  _T("invalid position in wxToolBar::InsertSeparator()") );
 
     wxToolBarToolBase *tool = CreateTool(wxID_SEPARATOR,
                  _T("invalid position in wxToolBar::InsertSeparator()") );
 
     wxToolBarToolBase *tool = CreateTool(wxID_SEPARATOR,
+                                         wxEmptyString,
                                          wxNullBitmap, wxNullBitmap,
                                          wxNullBitmap, wxNullBitmap,
-                                         FALSE, (wxObject *)NULL,
+                                         wxITEM_SEPARATOR, (wxObject *)NULL,
                                          wxEmptyString, wxEmptyString);
 
     if ( !tool || !DoInsertTool(pos, tool) )
                                          wxEmptyString, wxEmptyString);
 
     if ( !tool || !DoInsertTool(pos, tool) )
@@ -521,7 +525,8 @@ void wxToolBarBase::OnMouseEnter(int id)
     // set the status text anyhow, even if the string is empty: this ensures
     // that it is cleared when the mouse leaves the toolbar or enters a tool
     // without help
     // set the status text anyhow, even if the string is empty: this ensures
     // that it is cleared when the mouse leaves the toolbar or enters a tool
     // without help
-    frame->SetStatusText(helpstring);
+       if (frame->GetStatusBar())
+               frame->SetStatusText(helpstring);
 }
 
 // ----------------------------------------------------------------------------
 }
 
 // ----------------------------------------------------------------------------