]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/event.cpp
wxTLW::SetLeft/RightMenu of smart phones documented.
[wxWidgets.git] / src / common / event.cpp
index 44215d1ffc273ea22159f2b5fdf9502c855be24f..2962ea721b2e10b9df2eed6b1464bb1e487430b0 100644 (file)
@@ -120,7 +120,7 @@ wxEventHashTable wxEvtHandler::sm_eventHashTable(wxEvtHandler::sm_eventTable);
 const wxEventTableEntry wxEvtHandler::sm_eventTableEntries[] =
     { DECLARE_EVENT_TABLE_ENTRY(wxEVT_NULL, 0, 0, (wxObjectEventFunction)NULL, NULL) };
 
-    
+
 #ifdef __WXDEBUG__
 // Clear up event hash table contents or we can get problems
 // when C++ is cleaning up the static object
@@ -137,7 +137,7 @@ public:
 };
 IMPLEMENT_DYNAMIC_CLASS(wxEventTableEntryModule, wxModule)
 #endif
-    
+
 // ----------------------------------------------------------------------------
 // global variables
 // ----------------------------------------------------------------------------
@@ -338,7 +338,7 @@ int wxNewEventType()
 // ----------------------------------------------------------------------------
 
 /*
- * General wxWindows events, covering
+ * General wxWidgets events, covering
  * all interesting things that might happen (button clicking, resizing,
  * setting text in widgets, etc.).
  *
@@ -417,23 +417,23 @@ bool wxUpdateUIEvent::CanUpdate(wxWindowBase *win)
 
     if (sm_updateInterval == -1)
         return false;
-    else if (sm_updateInterval == 0)
+
+    if (sm_updateInterval == 0)
         return true;
-    else
-    {
+
 #if wxUSE_STOPWATCH && wxUSE_LONGLONG
-        wxLongLong now = wxGetLocalTimeMillis();
-        if (now > (sm_lastUpdate + sm_updateInterval))
-        {
-            return true;
-        }
-#else
-        // If we don't have wxStopWatch or wxLongLong, we
-        // should err on the safe side and update now anyway.
+    wxLongLong now = wxGetLocalTimeMillis();
+    if (now > (sm_lastUpdate + sm_updateInterval))
+    {
         return true;
-#endif
     }
+
     return false;
+#else
+    // If we don't have wxStopWatch or wxLongLong, we
+    // should err on the safe side and update now anyway.
+    return true;
+#endif
 }
 
 // Reset the update time to provide a delay until the next
@@ -562,8 +562,6 @@ bool wxMouseEvent::ButtonDClick(int but) const
         case wxMOUSE_BTN_RIGHT:
             return RightDClick();
     }
-
-    return false;
 }
 
 // return true if was a button down event
@@ -587,8 +585,6 @@ bool wxMouseEvent::ButtonDown(int but) const
         case wxMOUSE_BTN_RIGHT:
             return RightDown();
     }
-
-    return false;
 }
 
 // return true if was a button up event
@@ -612,8 +608,6 @@ bool wxMouseEvent::ButtonUp(int but) const
         case wxMOUSE_BTN_RIGHT:
             return RightUp();
     }
-
-    return false;
 }
 
 // return true if the given button is currently changing state
@@ -639,8 +633,6 @@ bool wxMouseEvent::Button(int but) const
         case wxMOUSE_BTN_RIGHT:
             return RightDown() || RightUp() || RightDClick();
     }
-
-    return false;
 }
 
 bool wxMouseEvent::ButtonIsDown(int but) const
@@ -663,8 +655,6 @@ bool wxMouseEvent::ButtonIsDown(int but) const
         case wxMOUSE_BTN_RIGHT:
             return RightIsDown();
     }
-
-    return false;
 }
 
 int wxMouseEvent::GetButton() const
@@ -769,7 +759,7 @@ wxEventHashTable::wxEventHashTable(const wxEventTable &table)
                   m_rebuildHash(true)
 {
     AllocEventTypeTable(EVENT_TYPE_TABLE_INIT_SIZE);
-    
+
     m_next = sm_first;
     if (m_next)
         m_next->m_previous = this;
@@ -784,7 +774,7 @@ wxEventHashTable::~wxEventHashTable()
         m_previous->m_next = m_next;
     if (sm_first == this)
         sm_first = m_next;
-    
+
     Clear();
 }
 
@@ -827,9 +817,9 @@ bool wxEventHashTable::HandleEvent(wxEvent &event, wxEvtHandler *self)
         InitHashTable();
         m_rebuildHash = false;
     }
-    
+
     if (!m_eventTypeTable)
-        return FALSE;
+        return false;
 
     // Find all entries for the given event type.
     wxEventType eventType = event.GetEventType();
@@ -891,7 +881,7 @@ void wxEventHashTable::AddEntry(const wxEventTableEntry &entry)
     // This might happen 'accidentally' as the app is exiting
     if (!m_eventTypeTable)
         return;
-    
+
     EventTypeTablePointer *peTTnode = &m_eventTypeTable[entry.m_eventType % m_size];
     EventTypeTablePointer  eTTnode = *peTTnode;
 
@@ -1105,6 +1095,11 @@ void wxEvtHandler::AddPendingEvent(wxEvent& event)
 
 void wxEvtHandler::ProcessPendingEvents()
 {
+    // this method is only called by wxApp if this handler does have pending
+    // events
+    wxCHECK_RET( m_pendingEvents,
+                 wxT("Please call wxApp::ProcessPendingEvents() instead") );
+
 #if defined(__VISAGECPP__)
     wxENTER_CRIT_SECT( m_eventsLocker);
 #else
@@ -1157,9 +1152,9 @@ wxEvtHandler::ProcessEventIfMatches(const wxEventTableEntryBase& entry,
     // the event table (meaning "any") or the event id matches the id
     // specified in the event table either exactly or by falling into
     // range between first and last
-    if ((tableId1 == -1) ||
-        (tableId2 == -1 && tableId1 == event.GetId()) ||
-        (tableId2 != -1 &&
+    if ((tableId1 == wxID_ANY) ||
+        (tableId2 == wxID_ANY && tableId1 == event.GetId()) ||
+        (tableId2 != wxID_ANY &&
          (event.GetId() >= tableId1 && event.GetId() <= tableId2)))
     {
         event.Skip(false);
@@ -1309,7 +1304,7 @@ bool wxEvtHandler::Disconnect( int id, int lastId, wxEventType eventType,
 #endif // WXWIN_COMPATIBILITY_EVENT_TYPES/!WXWIN_COMPATIBILITY_EVENT_TYPES
 
         if ((entry->m_id == id) &&
-            ((entry->m_lastId == lastId) || (lastId == -1)) &&
+            ((entry->m_lastId == lastId) || (lastId == wxID_ANY)) &&
             ((entry->m_eventType == eventType) || (eventType == wxEVT_NULL)) &&
             ((entry->m_fn == func) || (func == (wxObjectEventFunction)NULL)) &&
             ((entry->m_eventSink == eventSink) || (eventSink == (wxEvtHandler*)NULL)) &&
@@ -1340,7 +1335,7 @@ bool wxEvtHandler::SearchDynamicEventTable( wxEvent& event )
         wxDynamicEventTableEntry *entry = (wxDynamicEventTableEntry*)node->GetData();
 #endif // WXWIN_COMPATIBILITY_EVENT_TYPES/!WXWIN_COMPATIBILITY_EVENT_TYPES
 
-        if ((event.m_eventType == entry->m_eventType) && entry->m_fn)
+        if ((event.m_eventType == entry->m_eventType) && (entry->m_fn != 0))
         {
             wxEvtHandler *handler =
 #if !WXWIN_COMPATIBILITY_EVENT_TYPES