]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/tbarbase.cpp
New WM decoration code. It fails to resize dialogs
[wxWidgets.git] / src / common / tbarbase.cpp
index 2a66297a2b0e06979e0b3e8926a0bc51d722d3a6..93d6bbfc3f1dad28a521f16a7fc5eec955fb1598 100644 (file)
@@ -74,9 +74,7 @@ bool wxToolBarToolBase::Enable(bool enable)
 
 bool wxToolBarToolBase::Toggle(bool toggle)
 {
-    // wxUniv toolbar toggles even non-checkable tools temporarily - should we
-    // change the code there or just allow doing it?
-    //wxASSERT_MSG( m_isToggle, _T("can't toggle this tool") );
+    wxASSERT_MSG( m_isToggle, _T("can't toggle this tool") );
 
     if ( m_toggled == toggle )
         return FALSE;
@@ -507,15 +505,23 @@ void wxToolBarBase::OnMouseEnter(int id)
 
     (void)GetEventHandler()->ProcessEvent(event);
 
-    wxToolBarToolBase *tool = FindById(id);
-    if ( !tool || !tool->GetLongHelp() )
-        return;
-
     wxFrame *frame = wxDynamicCast(GetParent(), wxFrame);
     if ( !frame )
         return;
 
-    frame->SetStatusText(tool->GetLongHelp());
+    wxString helpstring;
+
+    if ( id != -1 )
+    {
+        wxToolBarToolBase *tool = FindById(id);
+        if ( tool )
+            helpstring = tool->GetLongHelp();
+    }
+
+    // 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);
 }
 
 // ----------------------------------------------------------------------------