]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/events.i
make wxArtProvider pure virtual (I was not so on
[wxWidgets.git] / wxPython / src / events.i
index 6ca6f66c18db79187b85f5c2d91184060687cdc2..5d2bd07da5272c9765b9f43fd9078791b0889350 100644 (file)
 
 //---------------------------------------------------------------------------
 
-class wxEvent {
+
+int wxNewEventType();
+
+class wxEvent : public wxObject {
 public:
-    wxEvent(int id = 0);
+    // wxEvent(int id = 0);     // *** This class is now an ABC
     ~wxEvent();
 
     wxObject* GetEventObject();
@@ -45,6 +48,8 @@ public:
     void SetId(int id);
     void SetTimestamp(long timeStamp);
     void Skip(bool skip = TRUE);
+
+    wxEvent *Clone();
 };
 
 //---------------------------------------------------------------------------
@@ -75,7 +80,8 @@ class wxCommandEvent : public wxEvent {
 public:
     wxCommandEvent(int commandEventType = 0, int id = 0);
 
-    bool Checked();
+    bool IsChecked();
+    %name(Checked)bool IsChecked();
     long GetExtraLong();
     int GetInt();
     int GetSelection();
@@ -85,6 +91,18 @@ public:
     void SetExtraLong(long extraLong);
     void SetInt(int i);
 
+    %addmethods {
+        PyObject* GetClientData() {
+            wxPyClientData* data = (wxPyClientData*)self->GetClientObject();
+            if (data) {
+                Py_INCREF(data->m_obj);
+                return data->m_obj;
+            } else {
+                Py_INCREF(Py_None);
+                return Py_None;
+            }
+        }
+    }
 };
 
 
@@ -155,6 +173,31 @@ public:
     wxPoint GetLogicalPosition(const wxDC& dc);
     long GetX();
     long GetY();
+
+    int GetWheelRotation() const { return m_wheelRotation; }
+    int GetWheelDelta() const { return m_wheelDelta; }
+    int GetLinesPerAction() const { return m_linesPerAction; }
+
+    long          m_x, m_y;
+    bool          m_leftDown;
+    bool          m_middleDown;
+    bool          m_rightDown;
+    bool          m_controlDown;
+    bool          m_shiftDown;
+    bool          m_altDown;
+    bool          m_metaDown;
+    int           m_wheelRotation;
+    int           m_wheelDelta;
+    int           m_linesPerAction;
+};
+
+//---------------------------------------------------------------------------
+
+class wxMouseCaptureChangedEvent : public wxEvent
+{
+public:
+    wxMouseCaptureChangedEvent(wxWindowID id = 0, wxWindow* gainedCapture = NULL);
+    wxWindow* GetCapturedWindow() const;
 };
 
 //---------------------------------------------------------------------------
@@ -172,10 +215,27 @@ public:
     long GetKeyCode();
     bool HasModifiers();
 
+    // get the raw key code (platform-dependent)
+    long GetRawKeyCode() const;
+
+    // get the raw key flags (platform-dependent)
+    long GetRawKeyFlags() const;
+
     long GetX();
     long GetY();
     wxPoint GetPosition();
     %name(GetPositionTuple) void GetPosition(long* OUTPUT, long* OUTPUT);
+
+    long        m_x, m_y;
+    long        m_keyCode;
+    bool        m_controlDown;
+    bool        m_shiftDown;
+    bool        m_altDown;
+    bool        m_metaDown;
+    bool        m_scanCode;
+    long        m_rawCode;
+    long        m_rawFlags;
+
 };
 
 //---------------------------------------------------------------------------
@@ -226,6 +286,18 @@ public:
     wxFocusEvent(WXTYPE eventType = 0, int id = 0);
 };
 
+//---------------------------------------------------------------------------
+
+// wxChildFocusEvent notifies the parent that a child has got the focus: unlike
+// wxFocusEvent it is propgated upwards the window chain
+class  wxChildFocusEvent : public wxCommandEvent
+{
+public:
+    wxChildFocusEvent(wxWindow *win = NULL);
+    wxWindow *GetWindow() const;
+};
+
+
 //---------------------------------------------------------------------------
 
 class wxActivateEvent: public wxEvent{
@@ -247,6 +319,7 @@ class wxMenuEvent: public wxEvent {
 public:
     wxMenuEvent(WXTYPE id = 0, int id = 0);
     int GetMenuId();
+    bool IsPopup();
 };
 
 //---------------------------------------------------------------------------
@@ -262,7 +335,8 @@ public:
 
 class wxIconizeEvent: public wxEvent {
 public:
-    wxIconizeEvent(int id = 0);
+    wxIconizeEvent(int id = 0, bool iconized = TRUE);
+    bool Iconized();
 };
 
 //---------------------------------------------------------------------------
@@ -317,7 +391,11 @@ public:
             }
 
             for (int i=0; i<count; i++) {
+#if wxUSE_UNICODE
+                PyList_SetItem(list, i, PyUnicode_FromUnicode(files[i], files[i].Len()));
+#else
                 PyList_SetItem(list, i, PyString_FromString((const char*)files[i]));
+#endif
             }
             return list;
         }
@@ -364,10 +442,20 @@ class wxNotifyEvent : public wxCommandEvent {
 public:
     wxNotifyEvent(int commandType = wxEVT_NULL, int id = 0);
     bool IsAllowed();
+    void Allow();
     void Veto();
 };
 
 
+//---------------------------------------------------------------------------
+
+class wxDisplayChangedEvent : public wxEvent
+{
+public:
+    wxDisplayChangedEvent();
+};
+
+
 //---------------------------------------------------------------------------
 
 class  wxPaletteChangedEvent : public wxEvent {
@@ -415,6 +503,17 @@ public:
     int GetInterval();
 };
 
+//---------------------------------------------------------------------------
+
+class wxTextUrlEvent : public wxCommandEvent
+{
+public:
+    wxTextUrlEvent(int id, const wxMouseEvent& evtMouse,
+                   long start, long end);
+    const wxMouseEvent& GetMouseEvent();
+    long GetURLStart();
+    long GetURLEnd();
+};
 
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------