]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/event.cpp
added wxSplitFile() to decompose a file name into path + name + ext
[wxWidgets.git] / src / common / event.cpp
index 25e3750a39221deb3f465bad3831c6add3572a4a..5917d2a595969769e84d84de5fe1fa5ebd94fe7b 100644 (file)
@@ -55,6 +55,7 @@ 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)
 
 const wxEventTable *wxEvtHandler::GetEventTable() const { return &wxEvtHandler::sm_eventTable; }
 
@@ -76,7 +77,7 @@ const wxEventTableEntry wxEvtHandler::sm_eventTableEntries[] = { { 0, 0, 0, NULL
 
 wxEvent::wxEvent(int theId)
 {
-  m_eventType = 0;
+  m_eventType = wxEVT_NULL;
   m_eventObject = NULL;
   m_eventHandle = NULL;
   m_timeStamp = 0;
@@ -90,7 +91,7 @@ wxEvent::wxEvent(int theId)
  *
  */
 
-wxCommandEvent::wxCommandEvent(WXTYPE commandType, int theId)
+wxCommandEvent::wxCommandEvent(wxEventType commandType, int theId)
 {
   m_eventType = commandType;
   m_clientData = NULL;
@@ -104,7 +105,7 @@ wxCommandEvent::wxCommandEvent(WXTYPE commandType, int theId)
  * Scroll events
  */
 
-wxScrollEvent::wxScrollEvent(WXTYPE commandType, int id, int pos, int orient):
+wxScrollEvent::wxScrollEvent(wxEventType commandType, int id, int pos, int orient):
   wxCommandEvent(commandType, id)
 {
   m_extraLong = orient;
@@ -117,7 +118,7 @@ wxScrollEvent::wxScrollEvent(WXTYPE commandType, int id, int pos, int orient):
  *
  */
 
-wxMouseEvent::wxMouseEvent(WXTYPE commandType)
+wxMouseEvent::wxMouseEvent(wxEventType commandType)
 {
   m_eventType = commandType;
   m_metaDown = FALSE;
@@ -231,7 +232,7 @@ wxPoint wxMouseEvent::GetLogicalPosition(const wxDC& dc) const
  *
  */
 
-wxKeyEvent::wxKeyEvent(WXTYPE type)
+wxKeyEvent::wxKeyEvent(wxEventType type)
 {
   m_eventType = type;
   m_shiftDown = FALSE;
@@ -269,6 +270,7 @@ wxEvtHandler::~wxEvtHandler(void)
     while (node)
     {
       wxEventTableEntry *entry = (wxEventTableEntry*)node->Data();
+      if (entry->m_callbackUserData) delete entry->m_callbackUserData;
       delete entry;
       node = node->Next();
     }
@@ -354,6 +356,8 @@ bool wxEvtHandler::SearchEventTable(wxEventTable& table, wxEvent& event)
   
   while (table.entries[i].m_fn != NULL)
   {
+    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)
           (table.entries[i].m_lastId == -1 && commandId == table.entries[i].m_id) ||
@@ -375,8 +379,8 @@ bool wxEvtHandler::SearchEventTable(wxEventTable& table, wxEvent& event)
   return FALSE;
 }
 
-void wxEvtHandler::Connect( const int id, const int lastId,
-                            const int eventType, 
+void wxEvtHandler::Connect( int id, int lastId,
+                            int eventType,
                            wxObjectEventFunction func,
                            wxObject *userData )
 {
@@ -398,11 +402,13 @@ bool wxEvtHandler::SearchDynamicEventTable( wxEvent& event )
   if (!m_dynamicEvents) return FALSE;
   
   int commandId = event.GetId();
-  
+
   wxNode *node = m_dynamicEvents->First();
   while (node)
   {
     wxEventTableEntry *entry = (wxEventTableEntry*)node->Data();
+    wxEventType eventType = (wxEventType) entry->m_eventType;
+  
     if (entry->m_fn)
     {
     if ((event.GetEventType() == entry->m_eventType) &&
@@ -427,85 +433,6 @@ bool wxEvtHandler::SearchDynamicEventTable( wxEvent& event )
   return FALSE;
 };
 
-#if WXWIN_COMPATIBILITY
-void wxEvtHandler::OldOnMenuCommand(int cmd)
-{
-    if (GetNextHandler()) GetNextHandler()->OldOnMenuCommand(cmd);
-}
-
-void wxEvtHandler::OldOnMenuSelect(int cmd)
-{
-    if (GetNextHandler()) GetNextHandler()->OldOnMenuSelect(cmd);
-}
-
-void wxEvtHandler::OldOnInitMenuPopup(int pos)
-{
-    if (GetNextHandler()) GetNextHandler()->OldOnInitMenuPopup(pos);
-}
-
-void wxEvtHandler::OldOnScroll(wxCommandEvent& event)
-{
-    if (GetNextHandler()) GetNextHandler()->OldOnScroll(event);
-}
-
-void wxEvtHandler::OldOnPaint(void)
-{
-    if (GetNextHandler()) GetNextHandler()->OldOnPaint();
-}
-void wxEvtHandler::OldOnSize(int width, int height)
-{
-    if (GetNextHandler()) GetNextHandler()->OldOnSize(width, height);
-}
-
-void wxEvtHandler::OldOnMove(int x, int y)
-{
-    if (GetNextHandler()) GetNextHandler()->OldOnMove(x, y);
-}
-
-void wxEvtHandler::OldOnMouseEvent(wxMouseEvent& event)
-{
-    if (GetNextHandler()) GetNextHandler()->OldOnMouseEvent(event);
-}
-
-void wxEvtHandler::OldOnChar(wxKeyEvent& event)
-{
-    if (GetNextHandler()) GetNextHandler()->OldOnChar(event);
-}
-
-// Under Windows, we can intercept character input per dialog or frame
-bool wxEvtHandler::OldOnCharHook(wxKeyEvent& event)
-{
-    if (GetNextHandler()) return GetNextHandler()->OldOnCharHook(event);
-       else return FALSE;
-}
-
-void wxEvtHandler::OldOnActivate(bool active)
-{
-    if (GetNextHandler()) GetNextHandler()->OldOnActivate(active);
-}
-
-void wxEvtHandler::OldOnSetFocus(void)
-{
-    if (GetNextHandler()) GetNextHandler()->OldOnSetFocus();
-}
-
-void wxEvtHandler::OldOnKillFocus(void)
-{
-    if (GetNextHandler()) GetNextHandler()->OldOnKillFocus();
-}
-
-bool wxEvtHandler::OldOnSysColourChange(void)
-{
-    if (GetNextHandler()) return GetNextHandler()->OldOnSysColourChange();
-    return FALSE;
-}
-
-void wxEvtHandler::OldOnDropFiles(int n, char *files[], int x, int y)
-{
-    if (GetNextHandler()) GetNextHandler()->OldOnDropFiles(n, files, x, y);
-}
-#endif
-
 bool wxEvtHandler::OnClose(void)
 {
     if (GetNextHandler()) return GetNextHandler()->OnClose();