]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_event.i
test for special keys first, before testing for alphanumeric ones as even keys such...
[wxWidgets.git] / wxPython / src / _event.i
index a0b5fc1a42d61c2f135ad1ef09d7037edace1a4a..553f0e1cf62567e089751e9436d69d7ba9a6c06a 100644 (file)
@@ -37,6 +37,7 @@ enum Propagation_state
 
 wxEventType wxNewEventType();
 
+%constant wxEventType wxEVT_ANY;
 
 %constant wxEventType wxEVT_NULL;
 %constant wxEventType wxEVT_FIRST;
@@ -433,14 +434,13 @@ it returns false. Note: Exists only for optimization purposes.", "");
 
     DocDeclStr(
         void , Skip(bool skip = true),
-        "Called by an event handler, it controls whether additional event
-handlers bound to this event will be called after the current event
-handler returns.  Skip(false) (the default setting) will prevent
-additional event handlers from being called and control will be
-returned to the sender of the event immediately after the current
-handler has finished.  Skip(True) will cause the event processing
-system to continue searching for a handler function for this event.
-", "");
+        "This method can be used inside an event handler to control whether
+further event handlers bound to this event will be called after the
+current one returns. Without Skip() (or equivalently if Skip(False) is
+used), the event will not be processed any more. If Skip(True) is
+called, the event processing system continues searching for a further
+handler function for this event, even though it has been processed
+already in the current handler.", "");
 
     DocDeclStr(
         bool , GetSkipped() const,
@@ -475,6 +475,13 @@ example, you can use the value returned by an earlier call to
     // all derived classes must implement it because otherwise wxPostEvent()
     // for them wouldn't work (it needs to do a copy of the event)
     virtual wxEvent *Clone() /* =0*/;
+
+    %property(EventObject, GetEventObject, SetEventObject, doc="See `GetEventObject` and `SetEventObject`");
+    %property(EventType, GetEventType, SetEventType, doc="See `GetEventType` and `SetEventType`");
+    %property(Id, GetId, SetId, doc="See `GetId` and `SetId`");
+    %property(Skipped, GetSkipped, doc="See `GetSkipped`");
+    %property(Timestamp, GetTimestamp, SetTimestamp, doc="See `GetTimestamp` and `SetTimestamp`");
+    
 };
 
 
@@ -671,8 +678,8 @@ Events
     EVT_SCROLL_PAGEDOWN         page down events
     EVT_SCROLL_THUMBTRACK       thumbtrack events (frequent events sent
                                 as the user drags the 'thumb')
-    EVT_SCROLL_THUMBRELEASE     thumb release events.
-    EVT_SCROLL_ENDSCROLL        End of scrolling
+    EVT_SCROLL_THUMBRELEASE     thumb release events
+    EVT_SCROLL_CHANGED          End of scrolling
     =======================     ==========================================
 
 Note
@@ -680,17 +687,17 @@ Note
     The EVT_SCROLL_THUMBRELEASE event is only emitted when actually
     dragging the thumb using the mouse and releasing it (This
     EVT_SCROLL_THUMBRELEASE event is also followed by an
-    EVT_SCROLL_ENDSCROLL event).
+    EVT_SCROLL_CHANGED event).
 
-    The EVT_SCROLL_ENDSCROLL event also occurs when using the keyboard
+    The EVT_SCROLL_CHANGED event also occurs when using the keyboard
     to change the thumb position, and when clicking next to the thumb
     (In all these cases the EVT_SCROLL_THUMBRELEASE event does not
     happen).
 
-    In short, the EVT_SCROLL_ENDSCROLL event is triggered when
+    In short, the EVT_SCROLL_CHANGED event is triggered when
     scrolling/ moving has finished. The only exception (unfortunately)
     is that changing the thumb position using the mousewheel does give
-    a EVT_SCROLL_THUMBRELEASE event but NOT an EVT_SCROLL_ENDSCROLL
+    a EVT_SCROLL_THUMBRELEASE event but NOT an EVT_SCROLL_CHANGED
     event.
 ");
 
@@ -713,6 +720,9 @@ the scrollbar.", "");
 
     void SetOrientation(int orient);
     void SetPosition(int pos);
+    
+    %property(Orientation, GetOrientation, SetOrientation, doc="See `GetOrientation` and `SetOrientation`");
+    %property(Position, GetPosition, SetPosition, doc="See `GetPosition` and `SetPosition`");
 };
 
 
@@ -735,8 +745,8 @@ Events
     EVT_SCROLLWIN_PAGEDOWN         page down events
     EVT_SCROLLWIN_THUMBTRACK       thumbtrack events (frequent events sent
                                    as the user drags the 'thumb')
-    EVT_SCROLLWIN_THUMBRELEASE     thumb release events.
-    EVT_SCROLLWIN_ENDSCROLL        End of scrolling
+    EVT_SCROLLWIN_THUMBRELEASE     thumb release events
+    EVT_SCROLLWIN_CHANGED          End of scrolling
     ==========================     ==========================================
 
 :see: `wx.ScrollEvent`
@@ -761,6 +771,9 @@ need to query the window itself for the current position in that case.", "");
 
     void SetOrientation(int orient);
     void SetPosition(int pos);
+
+    %property(Orientation, GetOrientation, SetOrientation, doc="See `GetOrientation` and `SetOrientation`");
+    %property(Position, GetPosition, SetPosition, doc="See `GetPosition` and `SetPosition`");
 };
 
 //---------------------------------------------------------------------------
@@ -830,6 +843,9 @@ enum
 class  wxMouseEvent : public wxEvent
 {
 public:
+    // turn off this typemap
+    %typemap(out) wxMouseEvent*;    
+    
     DocCtorStr(
         wxMouseEvent(wxEventType mouseType = wxEVT_NULL),
 "Constructs a wx.MouseEvent.  Valid event types are:
@@ -848,6 +864,8 @@ public:
     * wxEVT_MOTION
     * wxEVT_MOUSEWHEEL ", "");
 
+    // Turn it back on again
+    %typemap(out) wxMouseEvent* { $result = wxPyMake_wxObject($1, $owner); }
 
     DocDeclStr(
         bool , IsButton() const,
@@ -1069,6 +1087,12 @@ have been accumulated before scrolling.", "");
 taken, and one such action (for example, scrolling one increment)
 should occur for each delta.", "");
 
+    DocDeclStr(
+        int , GetWheelAxis() const,
+        "Gets the axis the wheel operation concerns, 0 being the y axis as on
+most mouse wheels, 1 is the x axis for things like MightyMouse scrolls
+or horizontal trackpad scrolling.", "");
+    
 
     DocDeclStr(
         int , GetLinesPerAction() const,
@@ -1097,6 +1121,15 @@ public:
     int           m_wheelRotation;
     int           m_wheelDelta;
     int           m_linesPerAction;
+
+    %property(Button, GetButton, doc="See `GetButton`");
+    %property(LinesPerAction, GetLinesPerAction, doc="See `GetLinesPerAction`");
+    %property(LogicalPosition, GetLogicalPosition, doc="See `GetLogicalPosition`");
+    %property(Position, GetPosition, doc="See `GetPosition`");
+    %property(WheelDelta, GetWheelDelta, doc="See `GetWheelDelta`");
+    %property(WheelRotation, GetWheelRotation, doc="See `GetWheelRotation`");
+    %property(X, GetX, doc="See `GetX`");
+    %property(Y, GetY, doc="See `GetY`");
 };
 
 //---------------------------------------------------------------------------
@@ -1139,6 +1172,9 @@ public:
         bool , HasCursor() const,
         "Returns true if the cursor specified by this event is a valid cursor.", "");
 
+    %property(Cursor, GetCursor, SetCursor, doc="See `GetCursor` and `SetCursor`");
+    %property(X, GetX, doc="See `GetX`");
+    %property(Y, GetY, doc="See `GetY`");
 };
 
 //---------------------------------------------------------------------------
@@ -1320,7 +1356,8 @@ Note that in Unicode build, the returned value is meaningful only if
 the user entered a character that can be represented in current
 locale's default charset. You can obtain the corresponding Unicode
 character using `GetUnicodeKey`.", "");
-    %pythoncode { KeyCode = GetKeyCode }
+    
+//    %pythoncode { KeyCode = GetKeyCode }  this will be hidden by the property
 
 
     %extend {
@@ -1401,6 +1438,15 @@ public:
 
     wxUint32      m_rawCode;
     wxUint32      m_rawFlags;
+
+    %property(KeyCode, GetKeyCode, doc="See `GetKeyCode`");
+    %property(Modifiers, GetModifiers, doc="See `GetModifiers`");
+    %property(Position, GetPosition, doc="See `GetPosition`");
+    %property(RawKeyCode, GetRawKeyCode, doc="See `GetRawKeyCode`");
+    %property(RawKeyFlags, GetRawKeyFlags, doc="See `GetRawKeyFlags`");
+    %property(UnicodeKey, GetUnicodeKey, SetUnicodeKey, doc="See `GetUnicodeKey` and `SetUnicodeKey`");
+    %property(X, GetX, doc="See `GetX`");
+    %property(Y, GetY, doc="See `GetY`");
 };
 
 //---------------------------------------------------------------------------
@@ -1446,9 +1492,11 @@ event.", "");
         }
     }
 
-public:
     wxSize m_size;
     wxRect m_rect;
+    
+    %property(Rect, GetRect, SetRect, doc="See `GetRect` and `SetRect`");
+    %property(Size, GetSize, SetSize, doc="See `GetSize` and `SetSize`");
 };
 
 
@@ -1478,6 +1526,10 @@ public:
         m_pos =  property(GetPosition, SetPosition)
         m_rect = property(GetRect, SetRect)
     }
+
+    %property(Position, GetPosition, SetPosition, doc="See `GetPosition` and `SetPosition`");
+    %property(Rect, GetRect, SetRect, doc="See `GetRect` and `SetRect`");
+    
 };
 
 //---------------------------------------------------------------------------
@@ -1539,6 +1591,8 @@ public:
         "Returns the device context the event handler should draw upon.  If
 ``None`` is returned then create a temporary `wx.ClientDC` and use
 that instead.", "");
+
+    %property(DC, GetDC, doc="See `GetDC`"); 
 };
 
 
@@ -1571,15 +1625,22 @@ window which is going to receive focus for the wxEVT_KILL_FOCUS event.
 Warning: the window returned may be None!", "");
 
     void SetWindow(wxWindow *win);
+
+    %property(Window, GetWindow, SetWindow, doc="See `GetWindow` and `SetWindow`");
 };
 
 //---------------------------------------------------------------------------
 %newgroup;
 
 DocStr(wxChildFocusEvent,
-"wx.ChildFocusEvent notifies the parent that a child has received the
-focus.  Unlike `wx.FocusEvent` it is propagated up the window
-heirarchy.", "");
+"A child focus event is sent to a (parent-)window when one of its child
+windows gains focus, so that the window could restore the focus back
+to its corresponding child if it loses it now and regains later.
+
+Notice that child window is the direct child of the window receiving
+the event, and so may not be the actual widget recieving focus if it
+is further down the containment heirarchy.  Use `wx.Window.FindFocus`
+to get the widget that is actually receiving focus.", "");
 
 
 class wxChildFocusEvent : public wxCommandEvent
@@ -1591,7 +1652,8 @@ public:
 
     DocDeclStr(
         wxWindow *, GetWindow() const,
-        "The window which has just received the focus.", "");
+        "The window, or (grand)parent of the window which has just received the
+focus.", "");
 
     %property(Window, GetWindow, doc="See `GetWindow`");
 };
@@ -1719,6 +1781,8 @@ be used with the OPEN and CLOSE events.", "");
         "Returns the menu which is being opened or closed. This method should
 only be used with the OPEN and CLOSE events.", "");
 
+    %property(Menu, GetMenu, doc="See `GetMenu`");
+    %property(MenuId, GetMenuId, doc="See `GetMenuId`");
 };
 
 //---------------------------------------------------------------------------
@@ -1800,8 +1864,6 @@ code wishes to force the application to exit, and so this function
 must be called to check this.", "");
 
     %property(LoggingOff, GetLoggingOff, SetLoggingOff, doc="See `GetLoggingOff` and `SetLoggingOff`");
-    %property(Veto, GetVeto, doc="See `GetVeto`");
-    
 };
 
 
@@ -1819,6 +1881,7 @@ public:
     void SetShow(bool show);
     bool GetShow() const;
 
+    %property(Show, GetShow, SetShow, doc="See `GetShow` and `SetShow`");
 };
 
 
@@ -2112,6 +2175,10 @@ The mode may be one of the following values:
 all windows, or only to those which specify that they will process the
 events.", "");
 
+    %property(Checked, GetChecked, Check, doc="See `GetChecked`");
+    %property(Enabled, GetEnabled, Enable, doc="See `GetEnabled`");
+    %property(Shown, GetShown, Show, doc="See `GetShown`");
+    %property(Text, GetText, SetText, doc="See `GetText` and `SetText`");
 };
 
 //---------------------------------------------------------------------------
@@ -2161,6 +2228,7 @@ public:
         "Returns the window that gained the capture, or ``None`` if it was a
 non-wxWidgets window.", "");
 
+    %property(CapturedWindow, GetCapturedWindow, doc="See `GetCapturedWindow`");
 };
 
 //---------------------------------------------------------------------------
@@ -2222,6 +2290,7 @@ public:
     void SetChangedWindow(wxWindow* win);
     wxWindow* GetChangedWindow();
 
+    %property(ChangedWindow, GetChangedWindow, SetChangedWindow, doc="See `GetChangedWindow` and `SetChangedWindow`");
 };
 
 //---------------------------------------------------------------------------
@@ -2245,6 +2314,8 @@ public:
         "App should set this if it changes the palette.", "");
 
     bool GetPaletteRealized() const;
+
+    %property(PaletteRealized, GetPaletteRealized, SetPaletteRealized, doc="See `GetPaletteRealized` and `SetPaletteRealized`");    
 };
 
 //---------------------------------------------------------------------------
@@ -2327,6 +2398,10 @@ This is required for proper navogation over radio buttons.", "");
         WinChange,
         FromTab
     };
+
+    %property(CurrentFocus, GetCurrentFocus, SetCurrentFocus, doc="See `GetCurrentFocus` and `SetCurrentFocus`");
+    %property(Direction, GetDirection, SetDirection, doc="See `GetDirection` and `SetDirection`");
+    
 };
 
 //---------------------------------------------------------------------------
@@ -2346,6 +2421,7 @@ public:
         wxWindow *, GetWindow() const,
         "Returns the window that this event refers to.", "");
 
+    %property(Window, GetWindow, doc="See `GetWindow`");
 };
 
 
@@ -2367,6 +2443,8 @@ public:
     DocDeclStr(
         wxWindow *, GetWindow() const,
         "Returns the window that this event refers to.", "");
+
+    %property(Window, GetWindow, doc="See `GetWindow`");
 };
 
 
@@ -2604,5 +2682,20 @@ internally.", "");
 }
 
 
+//---------------------------------------------------------------------------
+
+DocStr(wxEventBlocker,
+"Helper class to temporarily disable event handling for a window.", "");
+
+class wxEventBlocker : public wxEvtHandler
+{
+public:
+    wxEventBlocker(wxWindow *win, wxEventType type = wxEVT_ANY);
+    virtual ~wxEventBlocker();
+
+    void Block(wxEventType type);
+};
+
+
 //---------------------------------------------------------------------------
 //---------------------------------------------------------------------------