]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/toolbar.cpp
don't let MacIsReallyShown climb over toplevel windows, otherwise tlws with invisible...
[wxWidgets.git] / src / mac / carbon / toolbar.cpp
index 92d048a22873774112e49617b6b5d7f3ddcb26b4..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() ;    
@@ -325,8 +327,6 @@ bool wxToolBar::Realize()
         node = node->GetNext();
     }
 
-    int separatorSize = GetToolSize().x / 4 ;
-
     node = m_tools.GetFirst();
     while (node)
     {
@@ -392,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() )
@@ -604,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 */ ) ;
                     }
                 }
             }