]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/toolbar.cpp
Fixed bug [ 754596 ] wxUSE_CONSTRAINTS 0 breaks AutoLayout() with sizers
[wxWidgets.git] / src / mac / toolbar.cpp
index 55a05b287be90918857c925837d216a2780b9fc1..d8bdac1326f60f9cf121423a9a3a12299b82ebf1 100644 (file)
@@ -23,7 +23,7 @@
 #include "wx/bitmap.h"
 
 #if !USE_SHARED_LIBRARY
-IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxToolBarBase)
+IMPLEMENT_DYNAMIC_CLASS(wxToolBar, wxControl)
 
 BEGIN_EVENT_TABLE(wxToolBar, wxToolBarBase)
     EVT_MOUSE_EVENTS( wxToolBar::OnMouse ) 
@@ -173,7 +173,9 @@ wxToolBarTool::wxToolBarTool(wxToolBar *tbar,
         : wxToolBarToolBase(tbar, id, label, bmpNormal, bmpDisabled, kind,
                             clientData, shortHelp, longHelp)
 {
-    Init() ;
+    Init();
+    
+    if (id == wxID_SEPARATOR) return;
     
     WindowRef window = (WindowRef) tbar->MacGetRootWindow() ;    
     wxSize toolSize = tbar->GetToolSize() ;    
@@ -390,7 +392,7 @@ wxSize wxToolBar::GetToolSize() const
     return wxSize(m_defaultWidth + 4, m_defaultHeight + 4);
 }
 
-void wxToolBar::MacHandleControlClick( WXWidget control , wxInt16 controlpart ) 
+void wxToolBar::MacHandleControlClick( WXWidget control , wxInt16 controlpart , bool WXUNUSED( mouseStillDown ) 
 {
     wxToolBarToolsList::Node *node;
     for ( node = m_tools.GetFirst(); node; node = node->GetNext() )
@@ -602,15 +604,11 @@ void  wxToolBar::OnMouse( wxMouseEvent &event )
             if ( control && ::IsControlActive( control ) )
             {
                 {
-                    if ( controlpart == kControlIndicatorPart && !UMAHasAppearance() )
-                        controlpart = ::HandleControlClick( control , localwhere , modifiers , (ControlActionUPP) NULL ) ;
-                    else
-                        controlpart = ::HandleControlClick( control , localwhere , modifiers , (ControlActionUPP) -1 ) ;
+                    controlpart = ::HandleControlClick( control , localwhere , modifiers , (ControlActionUPP) -1 ) ;
                     wxTheApp->s_lastMouseDown = 0 ;
-                    if ( controlpart && ! ( ( UMAHasAppearance() || (controlpart != kControlIndicatorPart) ) 
-                        && (IsKindOf( CLASSINFO( wxScrollBar ) ) ) ) ) // otherwise we will get the event twice
+                    if ( control && controlpart != kControlNoPart ) // otherwise we will get the event twice
                     {
-                        MacHandleControlClick( control , controlpart ) ;
+                        MacHandleControlClick( control , controlpart , false /* not down anymore */ ) ;
                     }
                 }
             }