]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/macnotfy.cpp
Patch from Hartwig and me for implementing reorderable dataview columns. Works on...
[wxWidgets.git] / src / mac / carbon / macnotfy.cpp
index 507605510db7d7c126d65b0a07ea3f64a8b47969..35516a186002eb9e26c2067ebf011a2a9e032571 100644 (file)
@@ -1,151 +1 @@
-/* -------------------------------------------------------------------------
- * Project: Mac Notifier Support
- * Name:    macnotfy.c
- * Author:  Stefan CSomor
- * Purpose: Mac Notifier main file
- * CVSID:   $Id$
- * -------------------------------------------------------------------------
- */
-
-#include "wx/wx.h"
-
-#include "wx/mac/private.h"
-
-#include "wx/mac/macnotfy.h"
-
-const short kMaxEvents = 1000 ;
-
-struct wxMacNotificationEvents
-{
-       short top ;
-       short bottom ;
-       
-       wxMacNotificationProcPtr proc[kMaxEvents] ;
-       unsigned long events[kMaxEvents] ;
-       void* data[kMaxEvents] ;
-} ;
-
-typedef struct wxMacNotificationEvents wxMacNotificationEvents ;
-wxMacNotificationEvents gMacNotificationEvents ;
-
-ProcessSerialNumber gAppProcess ;
-
-void wxMacWakeUp()
-{
-       ProcessSerialNumber psn ;
-       Boolean isSame ;
-       psn.highLongOfPSN = 0 ;
-       psn.lowLongOfPSN = kCurrentProcess ;
-       SameProcess( &gAppProcess , &psn , &isSame ) ;
-       if ( isSame )
-       {
-               PostEvent( nullEvent , 0 ) ;
-       }
-       else
-       {
-               WakeUpProcess( &gAppProcess ) ;
-       }
-}
-
-void wxMacCreateNotifierTable()
-{
-       GetCurrentProcess(&gAppProcess);
-       gMacNotificationEvents.top = 0 ;
-       gMacNotificationEvents.bottom = 0 ;
-       for ( int i = 0 ; i < kMaxEvents ; ++i )
-       {
-               gMacNotificationEvents.proc[i] = NULL ;
-               gMacNotificationEvents.events[i] = NULL ;
-               gMacNotificationEvents.data[i] = NULL ;
-       }
-}
-
-void wxMacDestroyNotifierTable() 
-{
-}
-
-wxMacNotifierTableRef wxMacGetNotifierTable() 
-{
-       return (wxMacNotifierTableRef) &gMacNotificationEvents ;
-}
-
-void wxMacAddEvent( 
-       wxMacNotifierTableRef table , 
-       wxMacNotificationProcPtr handler , 
-       unsigned long event , 
-       void* data , 
-       short wakeUp ) 
-{
-       wxMacNotificationEvents *e = (wxMacNotificationEvents *) table ;
-       wxASSERT_MSG( handler != NULL , "illegal notification proc ptr" ) ;
-       /* this should be protected eventually */
-       short index = e->top++ ;
-       
-       if ( e->top == kMaxEvents )
-               e->top = 0 ;
-
-       e->proc[index] = handler ;
-       e->events[index] = event ;
-       e->data[index] = data ;
-       if ( wakeUp )
-               wxMacWakeUp() ;
-}
-
-bool gInProcessing = false ;
-
-void wxMacRemoveAllNotifiersForData( wxMacNotifierTableRef table , void* data ) 
-{
-       wxMacNotificationEvents *e = (wxMacNotificationEvents *) table ;
-       /* this should be protected eventually */
-       short index = e->bottom ;
-       
-  while ( e->top != index )
-  {
-    if ( index == kMaxEvents )
-      index = 0 ;
-    if ( e->data[index] == data )
-       e->data[index] = NULL ;
-       index++ ;
-  }
-}
-
-void wxMacProcessNotifierEvents()
-{
-//  if ( gInProcessing )
-//     return ;
-       
-  gInProcessing = true ;
-  if ( gMacNotificationEvents.top != gMacNotificationEvents.bottom )
-  {
-    // we only should process the notifiers that were here when we entered it
-    // otherwise we might never get out...  
-       short count = gMacNotificationEvents.top - gMacNotificationEvents.bottom ;
-       if ( count < 0 )
-        count += kMaxEvents ;
-        
-    while ( count-- )
-    {
-        // consume event at bottom
-       short index = gMacNotificationEvents.bottom++ ;
-        if ( gMacNotificationEvents.bottom == kMaxEvents )
-          gMacNotificationEvents.bottom = 0 ;
-        void* data = gMacNotificationEvents.data[index] ;
-        unsigned long event = gMacNotificationEvents.events[index] ;
-       wxMacNotificationProcPtr handler =  gMacNotificationEvents.proc[index] ;
-       
-       gMacNotificationEvents.data[index] = NULL ;
-       gMacNotificationEvents.events[index] = NULL ;
-       gMacNotificationEvents.proc[index]  = NULL ;
-        
-        if ( handler )
-           handler( event , data  ) ;
-       }
-  }
-  gInProcessing = false ;
-}
-
-void wxMacProcessNotifierAndPendingEvents() 
-{
-       wxMacProcessNotifierEvents() ;
-       wxTheApp->ProcessPendingEvents() ;
-}
+// TODO REMOVE
\ No newline at end of file