]> git.saurik.com Git - wxWidgets.git/commitdiff
Improve the tracing of the tracking rect manager and mouse movement synthesizer.
authorDavid Elliott <dfe@tgwbd.org>
Sat, 18 Aug 2007 05:39:32 +0000 (05:39 +0000)
committerDavid Elliott <dfe@tgwbd.org>
Sat, 18 Aug 2007 05:39:32 +0000 (05:39 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48150 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/cocoa/window.mm

index d4b353822c654818cf7be2d177e318d6bac43b7e..194d5685bc4e2e2f46fa7f94e98b3ba4e1780a08 100644 (file)
@@ -711,7 +711,7 @@ bool wxWindowCocoa::Cocoa_mouseEntered(WX_NSEvent theEvent)
 
         wxMouseEvent event(wxEVT_ENTER_WINDOW);
         InitMouseEvent(event,theEvent);
-        wxLogTrace(wxTRACE_COCOA,wxT("wxwin=%p Mouse Entered @%d,%d"),this,event.m_x,event.m_y);
+        wxLogTrace(wxTRACE_COCOA_TrackingRect,wxT("wxwin=%p Mouse Entered TR#%d @%d,%d"),this,[theEvent trackingNumber], event.m_x,event.m_y);
         return GetEventHandler()->ProcessEvent(event);
     }
     else
@@ -726,7 +726,7 @@ bool wxWindowCocoa::Cocoa_mouseExited(WX_NSEvent theEvent)
 
         wxMouseEvent event(wxEVT_LEAVE_WINDOW);
         InitMouseEvent(event,theEvent);
-        wxLogTrace(wxTRACE_COCOA,wxT("wxwin=%p Mouse Exited @%d,%d"),this,event.m_x,event.m_y);
+        wxLogTrace(wxTRACE_COCOA_TrackingRect,wxT("wxwin=%p Mouse Exited TR#%d @%d,%d"),this,[theEvent trackingNumber],event.m_x,event.m_y);
         return GetEventHandler()->ProcessEvent(event);
     }
     else
@@ -1412,11 +1412,12 @@ wxWindow* wxFindWindowAtPointer(wxPoint& pt)
     return NULL;
 }
 
-
 // ========================================================================
 // wxCocoaMouseMovedEventSynthesizer
 // ========================================================================
 
+#define wxTRACE_COCOA_MouseMovedSynthesizer wxT("COCOA_MouseMovedSynthesizer")
+
 /* This class registers one run loop observer to cover all windows registered with it.
  *  It will register the observer when the first view is registerd and unregister the
  * observer when the last view is unregistered.
@@ -1447,7 +1448,7 @@ protected:
 void wxCocoaMouseMovedEventSynthesizer::RegisterWxCocoaView(wxCocoaNSView *aView)
 {
     m_registeredViews.push_back(aView);
-    wxLogTrace(wxTRACE_COCOA_TrackingRect, wxT("Registered wxCocoaNSView=%p"), aView);
+    wxLogTrace(wxTRACE_COCOA_MouseMovedSynthesizer, wxT("Registered wxCocoaNSView=%p"), aView);
 
     if(!m_registeredViews.empty() && m_runLoopObserver == NULL)
     {
@@ -1458,7 +1459,7 @@ void wxCocoaMouseMovedEventSynthesizer::RegisterWxCocoaView(wxCocoaNSView *aView
 void wxCocoaMouseMovedEventSynthesizer::UnregisterWxCocoaView(wxCocoaNSView *aView)
 {
     m_registeredViews.remove(aView);
-    wxLogTrace(wxTRACE_COCOA_TrackingRect, wxT("Unregistered wxCocoaNSView=%p"), aView);
+    wxLogTrace(wxTRACE_COCOA_MouseMovedSynthesizer, wxT("Unregistered wxCocoaNSView=%p"), aView);
     if(m_registeredViews.empty() && m_runLoopObserver != NULL)
     {
         RemoveRunLoopObserver();
@@ -1568,6 +1569,7 @@ void wxCocoaTrackingRectManager::ClearTrackingRect()
     {
         [m_window->GetNSView() removeTrackingRect:m_trackingRectTag];
         m_isTrackingRectActive = false;
+        wxLogTrace(wxTRACE_COCOA_TrackingRect, wxT("%s@%p: Removed tracking rect #%d"), m_window->GetClassInfo()->GetClassName(), m_window, m_trackingRectTag);
     }
     // If we were doing periodic events we need to clear those too
     StopSynthesizingEvents();
@@ -1584,10 +1586,14 @@ void wxCocoaTrackingRectManager::BuildTrackingRect()
     wxAutoNSAutoreleasePool pool;
 
     wxASSERT_MSG(!m_isTrackingRectActive, wxT("Tracking rect was not cleared"));
-    if([m_window->GetNSView() window] != nil)
+
+    NSView *theView = m_window->GetNSView();
+
+    if([theView window] != nil)
     {
-        m_trackingRectTag = [m_window->GetNSView() addTrackingRect:[m_window->GetNSView() visibleRect] owner:m_window->GetNSView() userData:NULL assumeInside:NO];
+        m_trackingRectTag = [theView addTrackingRect:[theView visibleRect] owner:theView userData:NULL assumeInside:NO];
         m_isTrackingRectActive = true;
+        wxLogTrace(wxTRACE_COCOA_TrackingRect, wxT("%s@%p: Added tracking rect #%d"), m_window->GetClassInfo()->GetClassName(), m_window, m_trackingRectTag);
     }
 }