]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/event.cpp
static wxFile::Access() added
[wxWidgets.git] / src / common / event.cpp
index 945860f5c9623f0c7b690cdecc2520009f8df8d0..09a8f871d0f058cd7f4dd237935e8a523cbe8009 100644 (file)
@@ -55,6 +55,9 @@ IMPLEMENT_DYNAMIC_CLASS(wxInitDialogEvent, wxEvent)
 IMPLEMENT_DYNAMIC_CLASS(wxSysColourChangedEvent, wxEvent)
 IMPLEMENT_DYNAMIC_CLASS(wxIdleEvent, wxEvent)
 IMPLEMENT_DYNAMIC_CLASS(wxUpdateUIEvent, wxEvent)
+IMPLEMENT_DYNAMIC_CLASS(wxNavigationKeyEvent, wxCommandEvent)
+IMPLEMENT_DYNAMIC_CLASS(wxPaletteChangedEvent, wxEvent)
+IMPLEMENT_DYNAMIC_CLASS(wxQueryNewPaletteEvent, wxEvent)
 
 const wxEventTable *wxEvtHandler::GetEventTable() const { return &wxEvtHandler::sm_eventTable; }
 
@@ -221,8 +224,8 @@ bool wxMouseEvent::ButtonIsDown(int but) const
 // Find the logical position of the event given the DC
 wxPoint wxMouseEvent::GetLogicalPosition(const wxDC& dc) const
 {
-       wxPoint pt(dc.DeviceToLogicalX(m_x), dc.DeviceToLogicalY(m_y));
-       return pt;
+    wxPoint pt(dc.DeviceToLogicalX(m_x), dc.DeviceToLogicalY(m_y));
+    return pt;
 }
 
 
@@ -304,14 +307,14 @@ bool wxEvtHandler::ProcessEvent(wxEvent& event)
     // chain of event handlers.
     if (IsKindOf(CLASSINFO(wxWindow)))
     {
-         wxWindow *win = (wxWindow *)this;
-
-         // Can only use the validator of the window which
-         // is receiving the event
-         if ( (win == event.GetEventObject()) &&
-             win->GetValidator() &&
-                 win->GetValidator()->ProcessEvent(event))
-               return TRUE;
+        wxWindow *win = (wxWindow *)this;
+
+      // Can only use the validator of the window which
+      // is receiving the event
+      if ( (win == event.GetEventObject()) &&
+          win->GetValidator() &&
+          win->GetValidator()->ProcessEvent(event))
+            return TRUE;
     }
 
     // Search upwards through the inheritance hierarchy
@@ -326,8 +329,8 @@ bool wxEvtHandler::ProcessEvent(wxEvent& event)
   // Try going down the event handler chain
   if ( GetNextHandler() )
   {
-           if ( GetNextHandler()->ProcessEvent(event) )
-                       return TRUE;
+        if ( GetNextHandler()->ProcessEvent(event) )
+            return TRUE;
   }
 
   // Carry on up the parent-child hierarchy,
@@ -336,13 +339,16 @@ bool wxEvtHandler::ProcessEvent(wxEvent& event)
   if (IsKindOf(CLASSINFO(wxWindow)) && event.IsKindOf(CLASSINFO(wxCommandEvent)))
   {
     wxWindow *win = (wxWindow *)this;
-       wxWindow *parent = win->GetParent();
+    wxWindow *parent = win->GetParent();
     if (parent && !parent->IsBeingDeleted())
       return win->GetParent()->GetEventHandler()->ProcessEvent(event);
   }
 
-  // Last try - application object
-  if (wxTheApp && this != wxTheApp && wxTheApp->ProcessEvent(event))
+  // Last try - application object.
+  // Special case: don't pass wxEVT_IDLE to wxApp, since it'll always swallow it.
+  // wxEVT_IDLE is sent explicitly to wxApp so it will be processed appropriately
+  // via SearchEventTable.
+  if (wxTheApp && this != wxTheApp && (event.GetEventType() != wxEVT_IDLE) && wxTheApp->ProcessEvent(event))
     return TRUE;
   else
     return FALSE;
@@ -355,7 +361,7 @@ bool wxEvtHandler::SearchEventTable(wxEventTable& table, wxEvent& event)
   
   while (table.entries[i].m_fn != NULL)
   {
-    wxEventType eventType = (wxEventType) table.entries[i].m_eventType;
+//    wxEventType eventType = (wxEventType) table.entries[i].m_eventType;
 
     if ((event.GetEventType() == table.entries[i].m_eventType) &&
         (table.entries[i].m_id == -1 || // Match, if event spec says any id will do (id == -1)
@@ -363,14 +369,14 @@ bool wxEvtHandler::SearchEventTable(wxEventTable& table, wxEvent& event)
           (table.entries[i].m_lastId != -1 &&
             (commandId >= table.entries[i].m_id && commandId <= table.entries[i].m_lastId))))
     {
-               event.Skip(FALSE);
+          event.Skip(FALSE);
                 event.m_callbackUserData = table.entries[i].m_callbackUserData;
-       
+    
         (this->*((wxEventFunction) (table.entries[i].m_fn)))(event);
 
-               if ( event.GetSkipped() )
-                       return FALSE;
-                 else
+        if ( event.GetSkipped() )
+            return FALSE;
+          else
             return TRUE;
     }
     i ++;
@@ -380,8 +386,8 @@ bool wxEvtHandler::SearchEventTable(wxEventTable& table, wxEvent& event)
 
 void wxEvtHandler::Connect( int id, int lastId,
                             int eventType,
-                           wxObjectEventFunction func,
-                           wxObject *userData )
+                    wxObjectEventFunction func,
+                    wxObject *userData )
 {
   wxEventTableEntry *entry = new wxEventTableEntry;
   entry->m_id = id;
@@ -406,7 +412,8 @@ bool wxEvtHandler::SearchDynamicEventTable( wxEvent& event )
   while (node)
   {
     wxEventTableEntry *entry = (wxEventTableEntry*)node->Data();
-    wxEventType eventType = (wxEventType) entry->m_eventType;
+    
+//    wxEventType eventType = (wxEventType) entry->m_eventType;
   
     if (entry->m_fn)
     {
@@ -416,14 +423,14 @@ bool wxEvtHandler::SearchDynamicEventTable( wxEvent& event )
         (entry->m_lastId != -1 &&
         (commandId >= entry->m_id && commandId <= entry->m_lastId))))
        {
-         event.Skip(FALSE);
+      event.Skip(FALSE);
           event.m_callbackUserData = entry->m_callbackUserData;
-       
+    
           (this->*((wxEventFunction) (entry->m_fn)))(event);
 
-         if (event.GetSkipped()) 
-           return FALSE;
-         else
+      if (event.GetSkipped()) 
+        return FALSE;
+      else
             return TRUE;
        }
     };