]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/event.h
added align=justify support ; also removed relic: GetMaxLineWidth
[wxWidgets.git] / include / wx / event.h
index e8d25fd42523c829458661bed5c75078c327d848..83d7212b5f55fdfb88009d5806b062b2cecab2d3 100644 (file)
@@ -66,6 +66,7 @@ const wxEventType wxEVT_COMMAND_VLBOX_SELECTED =            wxEVT_FIRST + 14;
 const wxEventType wxEVT_COMMAND_COMBOBOX_SELECTED =         wxEVT_FIRST + 15;
 const wxEventType wxEVT_COMMAND_TOOL_RCLICKED =             wxEVT_FIRST + 16;
 const wxEventType wxEVT_COMMAND_TOOL_ENTER =                wxEVT_FIRST + 17;
 const wxEventType wxEVT_COMMAND_COMBOBOX_SELECTED =         wxEVT_FIRST + 15;
 const wxEventType wxEVT_COMMAND_TOOL_RCLICKED =             wxEVT_FIRST + 16;
 const wxEventType wxEVT_COMMAND_TOOL_ENTER =                wxEVT_FIRST + 17;
+const wxEventType wxEVT_COMMAND_SPINCTRL_UPDATED =          wxEVT_FIRST + 18;
 
 /* Sockets send events, too */
 const wxEventType wxEVT_SOCKET =                            wxEVT_FIRST + 50;
 
 /* Sockets send events, too */
 const wxEventType wxEVT_SOCKET =                            wxEVT_FIRST + 50;
@@ -249,7 +250,15 @@ const wxEventType wxEVT_WIZARD_PAGE_CHANGED = wxEVT_FIRST + 900;
 const wxEventType wxEVT_WIZARD_PAGE_CHANGING = wxEVT_FIRST + 901;
 const wxEventType wxEVT_WIZARD_CANCEL = wxEVT_FIRST + 902;
 
 const wxEventType wxEVT_WIZARD_PAGE_CHANGING = wxEVT_FIRST + 901;
 const wxEventType wxEVT_WIZARD_CANCEL = wxEVT_FIRST + 902;
 
-const wxEventType wxEVT_USER_FIRST =                        wxEVT_FIRST + 2000;
+/* Calendar events */
+const wxEventType wxEVT_CALENDAR_SEL_CHANGED = wxEVT_FIRST + 950;
+const wxEventType wxEVT_CALENDAR_DAY_CHANGED = wxEVT_FIRST + 951;
+const wxEventType wxEVT_CALENDAR_MONTH_CHANGED = wxEVT_FIRST + 952;
+const wxEventType wxEVT_CALENDAR_YEAR_CHANGED = wxEVT_FIRST + 953;
+const wxEventType wxEVT_CALENDAR_DOUBLECLICKED = wxEVT_FIRST + 954;
+const wxEventType wxEVT_CALENDAR_WEEKDAY_CLICKED = wxEVT_FIRST + 955;
+
+const wxEventType wxEVT_USER_FIRST = wxEVT_FIRST + 2000;
 
 /* Compatibility */
 
 
 /* Compatibility */
 
@@ -435,6 +444,10 @@ public:
     // for implementation code only: is the operation allowed?
     bool IsAllowed() const { return m_bAllow; }
 
     // for implementation code only: is the operation allowed?
     bool IsAllowed() const { return m_bAllow; }
 
+    // probably useless: CopyObject() is used for deferred event
+    // handling but wxNotifyEvent must be processed immediately
+    void CopyObject(wxObject& obj) const;
+
 private:
     bool m_bAllow;
 
 private:
     bool m_bAllow;
 
@@ -506,7 +519,7 @@ public:
     void CopyObject(wxObject& object_dest) const;
 public:
     int               m_commandInt;    // Additional information
     void CopyObject(wxObject& object_dest) const;
 public:
     int               m_commandInt;    // Additional information
-    long              m_extraLong;     
+    long              m_extraLong;
 };
 
 // Mouse event class
 };
 
 // Mouse event class
@@ -605,8 +618,23 @@ public:
     bool Leaving() const { return (m_eventType == wxEVT_LEAVE_WINDOW); }
 
     // Find the position of the event
     bool Leaving() const { return (m_eventType == wxEVT_LEAVE_WINDOW); }
 
     // Find the position of the event
-    void GetPosition(long *xpos, long *ypos) const { *xpos = m_x; *ypos = m_y; }
-    void Position(long *xpos, long *ypos) const { *xpos = m_x; *ypos = m_y; }
+    void GetPosition(wxCoord *xpos, wxCoord *ypos) const
+    {
+        if (xpos)
+            *xpos = m_x;
+        if (ypos)
+            *ypos = m_y;
+    }
+
+#ifndef __WIN16__
+    void GetPosition(long *xpos, long *ypos) const
+    {
+        if (xpos)
+            *xpos = (long)m_x;
+        if (ypos)
+            *ypos = (long)m_y;
+    }
+#endif
 
     // Find the position of the event
     wxPoint GetPosition() const { return wxPoint(m_x, m_y); }
 
     // Find the position of the event
     wxPoint GetPosition() const { return wxPoint(m_x, m_y); }
@@ -616,6 +644,14 @@ public:
 
     // Compatibility
 #if WXWIN_COMPATIBILITY
 
     // Compatibility
 #if WXWIN_COMPATIBILITY
+    void Position(long *xpos, long *ypos) const
+    {
+        if (xpos)
+            *xpos = (long)m_x;
+        if (ypos)
+            *ypos = (long)m_y;
+    }
+
     void Position(float *xpos, float *ypos) const
     {
         *xpos = (float) m_x; *ypos = (float) m_y;
     void Position(float *xpos, float *ypos) const
     {
         *xpos = (float) m_x; *ypos = (float) m_y;
@@ -631,8 +667,8 @@ public:
     void CopyObject(wxObject& obj) const;
 
 public:
     void CopyObject(wxObject& obj) const;
 
 public:
-    long          m_x;
-    long          m_y;
+    wxCoord m_x, m_y;
+
     bool          m_leftDown;
     bool          m_middleDown;
     bool          m_rightDown;
     bool          m_leftDown;
     bool          m_middleDown;
     bool          m_rightDown;
@@ -667,24 +703,36 @@ public:
     long KeyCode() const { return m_keyCode; }
 
     // Find the position of the event
     long KeyCode() const { return m_keyCode; }
 
     // Find the position of the event
+    void GetPosition(wxCoord *xpos, wxCoord *ypos) const
+    {
+        if (xpos) *xpos = m_x;
+        if (ypos) *ypos = m_y;
+    }
+
+#ifndef __WIN16__
     void GetPosition(long *xpos, long *ypos) const
     void GetPosition(long *xpos, long *ypos) const
-        { *xpos = m_x; *ypos = m_y; }
+    {
+        if (xpos) *xpos = (long)m_x;
+        if (ypos) *ypos = (long)m_y;
+    }
+#endif
 
     wxPoint GetPosition() const
         { return wxPoint(m_x, m_y); }
 
     // Get X position
 
     wxPoint GetPosition() const
         { return wxPoint(m_x, m_y); }
 
     // Get X position
-    long GetX() const { return m_x; }
+    wxCoord GetX() const { return m_x; }
 
     // Get Y position
 
     // Get Y position
-    long GetY() const { return m_y; }
+    wxCoord GetY() const { return m_y; }
 
     void CopyObject(wxObject& obj) const;
 
 public:
 
     void CopyObject(wxObject& obj) const;
 
 public:
-    long          m_x;
-    long          m_y;
+    wxCoord       m_x, m_y;
+
     long          m_keyCode;
     long          m_keyCode;
+
     bool          m_controlDown;
     bool          m_shiftDown;
     bool          m_altDown;
     bool          m_controlDown;
     bool          m_shiftDown;
     bool          m_altDown;
@@ -1328,7 +1376,7 @@ public:
     // process all pending events
     void ProcessPendingEvents();
 
     // process all pending events
     void ProcessPendingEvents();
 
-    // add a 
+    // add a
 #if wxUSE_THREADS
     bool ProcessThreadEvent(wxEvent& event);
 #endif
 #if wxUSE_THREADS
     bool ProcessThreadEvent(wxEvent& event);
 #endif
@@ -1345,12 +1393,28 @@ public:
                   wxObject *userData = (wxObject *) NULL )
         { Connect(id, -1, eventType, func, userData); }
 
                   wxObject *userData = (wxObject *) NULL )
         { Connect(id, -1, eventType, func, userData); }
 
+    bool Disconnect( int id, int lastId = -1, wxEventType eventType = wxEVT_NULL,
+                  wxObjectEventFunction func = NULL,
+                  wxObject *userData = (wxObject *) NULL );
+
+    // Convenience function: take just one id
+    bool Disconnect( int id, wxEventType eventType = wxEVT_NULL,
+                  wxObjectEventFunction func = NULL,
+                  wxObject *userData = (wxObject *) NULL )
+        { return Disconnect(id, -1, eventType, func, userData); }
+       
     // implementation from now on
     virtual bool SearchEventTable(wxEventTable& table, wxEvent& event);
     bool SearchDynamicEventTable( wxEvent& event );
 
 #if wxUSE_THREADS
     // implementation from now on
     virtual bool SearchEventTable(wxEventTable& table, wxEvent& event);
     bool SearchDynamicEventTable( wxEvent& event );
 
 #if wxUSE_THREADS
-    void ClearEventLocker() { delete m_eventsLocker; m_eventsLocker = NULL; };
+    void ClearEventLocker()
+   {
+#  if !defined(__VISAGECPP__)
+      delete m_eventsLocker;
+      m_eventsLocker = NULL;
+#endif
+   };
 #endif
 
     // old stuff
 #endif
 
     // old stuff
@@ -1385,7 +1449,11 @@ protected:
     wxList*             m_dynamicEvents;
     wxList*             m_pendingEvents;
 #if wxUSE_THREADS
     wxList*             m_dynamicEvents;
     wxList*             m_pendingEvents;
 #if wxUSE_THREADS
+#if defined (__VISAGECPP__)
+    wxCriticalSection   m_eventsLocker;
+#  else
     wxCriticalSection*  m_eventsLocker;
     wxCriticalSection*  m_eventsLocker;
+#  endif
 #endif
 
     // optimization: instead of using costly IsKindOf() to decide whether we're
 #endif
 
     // optimization: instead of using costly IsKindOf() to decide whether we're