]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/event.h
fixed gcc warnings and reformatted some pieces of code to be a bit readable
[wxWidgets.git] / include / wx / event.h
index 61a06340532546d89bad1ceed8c8f64c6a8aa2c3..be318f06198e12befe81ccd4ac1a9de8ba380a01 100644 (file)
@@ -12,7 +12,7 @@
 #ifndef _WX_EVENT_H__
 #define _WX_EVENT_H__
 
-#if defined(__GNUG__) && !defined(__APPLE__)
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma interface "event.h"
 #endif
 
@@ -39,6 +39,7 @@ class WXDLLIMPEXP_BASE wxList;
     class WXDLLIMPEXP_CORE wxDC;
     class WXDLLIMPEXP_CORE wxMenu;
     class WXDLLIMPEXP_CORE wxWindow;
+    class WXDLLIMPEXP_CORE wxWindowBase;
 #endif // wxUSE_GUI
 
 // ----------------------------------------------------------------------------
@@ -291,50 +292,6 @@ END_DECLARE_EVENT_TYPES()
     extern const wxEventType WXDLLIMPEXP_CORE wxEVT_COMMAND_TEXT_UPDATED;
 #endif
 
-#if WXWIN_COMPATIBILITY
-
-#define wxEVENT_TYPE_BUTTON_COMMAND             wxEVT_COMMAND_BUTTON_CLICKED
-#define wxEVENT_TYPE_CHECKBOX_COMMAND           wxEVT_COMMAND_CHECKBOX_CLICKED
-#define wxEVENT_TYPE_CHOICE_COMMAND             wxEVT_COMMAND_CHOICE_SELECTED
-#define wxEVENT_TYPE_LISTBOX_COMMAND            wxEVT_COMMAND_LISTBOX_SELECTED
-#define wxEVENT_TYPE_LISTBOX_DCLICK_COMMAND     wxEVT_COMMAND_LISTBOX_DOUBLECLICKED
-#define wxEVENT_TYPE_TEXT_COMMAND               wxEVT_COMMAND_TEXT_UPDATED
-#define wxEVENT_TYPE_MULTITEXT_COMMAND          wxEVT_COMMAND_TEXT_UPDATED
-#define wxEVENT_TYPE_MENU_COMMAND               wxEVT_COMMAND_MENU_SELECTED
-#define wxEVENT_TYPE_SLIDER_COMMAND             wxEVT_COMMAND_SLIDER_UPDATED
-#define wxEVENT_TYPE_RADIOBOX_COMMAND           wxEVT_COMMAND_RADIOBOX_SELECTED
-#define wxEVENT_TYPE_RADIOBUTTON_COMMAND        wxEVT_COMMAND_RADIOBUTTON_SELECTED
-#define wxEVENT_TYPE_TEXT_ENTER_COMMAND         wxEVT_COMMAND_TEXT_ENTER
-#define wxEVENT_TYPE_SET_FOCUS                  wxEVT_SET_FOCUS
-#define wxEVENT_TYPE_KILL_FOCUS                 wxEVT_KILL_FOCUS
-#define wxEVENT_TYPE_SCROLLBAR_COMMAND          wxEVT_COMMAND_SCROLLBAR_UPDATED
-#define wxEVENT_TYPE_VIRT_LISTBOX_COMMAND       wxEVT_COMMAND_VLBOX_SELECTED
-#define wxEVENT_TYPE_COMBOBOX_COMMAND           wxEVT_COMMAND_COMBOBOX_SELECTED
-
-#define wxEVENT_TYPE_LEFT_DOWN                  wxEVT_LEFT_DOWN
-#define wxEVENT_TYPE_LEFT_UP                    wxEVT_LEFT_UP
-#define wxEVENT_TYPE_MIDDLE_DOWN                wxEVT_MIDDLE_DOWN
-#define wxEVENT_TYPE_MIDDLE_UP                  wxEVT_MIDDLE_UP
-#define wxEVENT_TYPE_RIGHT_DOWN                 wxEVT_RIGHT_DOWN
-#define wxEVENT_TYPE_RIGHT_UP                   wxEVT_RIGHT_UP
-#define wxEVENT_TYPE_MOTION                     wxEVT_MOTION
-#define wxEVENT_TYPE_ENTER_WINDOW               wxEVT_ENTER_WINDOW
-#define wxEVENT_TYPE_LEAVE_WINDOW               wxEVT_LEAVE_WINDOW
-#define wxEVENT_TYPE_LEFT_DCLICK                wxEVT_LEFT_DCLICK
-#define wxEVENT_TYPE_MIDDLE_DCLICK              wxEVT_MIDDLE_DCLICK
-#define wxEVENT_TYPE_RIGHT_DCLICK               wxEVT_RIGHT_DCLICK
-#define wxEVENT_TYPE_CHAR                       wxEVT_CHAR
-#define wxEVENT_TYPE_SCROLL_TOP                 wxEVT_SCROLL_TOP
-#define wxEVENT_TYPE_SCROLL_BOTTOM              wxEVT_SCROLL_BOTTOM
-#define wxEVENT_TYPE_SCROLL_LINEUP              wxEVT_SCROLL_LINEUP
-#define wxEVENT_TYPE_SCROLL_LINEDOWN            wxEVT_SCROLL_LINEDOWN
-#define wxEVENT_TYPE_SCROLL_PAGEUP              wxEVT_SCROLL_PAGEUP
-#define wxEVENT_TYPE_SCROLL_PAGEDOWN            wxEVT_SCROLL_PAGEDOWN
-#define wxEVENT_TYPE_SCROLL_THUMBTRACK          wxEVT_SCROLL_THUMBTRACK
-#define wxEVENT_TYPE_SCROLL_ENDSCROLL           wxEVT_SCROLL_ENDSCROLL
-
-#endif // WXWIN_COMPATIBILITY
-
 // the predefined constants for the number of times we propagate event
 // upwards window child-parent chain
 enum Propagation_state
@@ -546,17 +503,13 @@ public:
     bool IsSelection() const { return (m_extraLong != 0); }
 
     void SetExtraLong(long extraLong) { m_extraLong = extraLong; }
-    long GetExtraLong() const { return m_extraLong ; }
+    long GetExtraLong() const { return m_extraLong; }
 
     void SetInt(int i) { m_commandInt = i; }
-    long GetInt() const { return m_commandInt ; }
+    long GetInt() const { return m_commandInt; }
 
     virtual wxEvent *Clone() const { return new wxCommandEvent(*this); }
 
-#if WXWIN_COMPATIBILITY_2
-    bool Checked() const { return IsChecked(); }
-#endif // WXWIN_COMPATIBILITY_2
-
 public:
     wxString          m_commandString; // String event argument
     int               m_commandInt;
@@ -619,8 +572,8 @@ public:
     wxScrollEvent(wxEventType commandType = wxEVT_NULL,
                   int winid = 0, int pos = 0, int orient = 0);
 
-    int GetOrientation() const { return (int) m_extraLong ; }
-    int GetPosition() const { return m_commandInt ; }
+    int GetOrientation() const { return (int) m_extraLong; }
+    int GetPosition() const { return m_commandInt; }
     void SetOrientation(int orient) { m_extraLong = (long) orient; }
     void SetPosition(int pos) { m_commandInt = pos; }
 
@@ -652,8 +605,8 @@ public:
         {    m_commandInt = event.m_commandInt;
             m_extraLong = event.m_extraLong;    }
 
-    int GetOrientation() const { return (int) m_extraLong ; }
-    int GetPosition() const { return m_commandInt ; }
+    int GetOrientation() const { return (int) m_extraLong; }
+    int GetPosition() const { return m_commandInt; }
     void SetOrientation(int orient) { m_extraLong = (long) orient; }
     void SetPosition(int pos) { m_commandInt = pos; }
 
@@ -798,23 +751,7 @@ public:
     wxPoint GetPosition() const { return wxPoint(m_x, m_y); }
 
     // Find the logical position of the event given the DC
-    wxPoint GetLogicalPosition(const wxDC& dc) const ;
-
-    // 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;
-    }
-#endif // WXWIN_COMPATIBILITY
+    wxPoint GetLogicalPosition(const wxDC& dc) const;
 
     // Get X position
     wxCoord GetX() const { return m_x; }
@@ -1311,22 +1248,13 @@ public:
         : wxEvent(winid, type),
           m_loggingOff(TRUE),
           m_veto(FALSE),      // should be FALSE by default
-          m_canVeto(TRUE)
-    {
-#if WXWIN_COMPATIBILITY
-        m_force = FALSE;
-#endif // WXWIN_COMPATIBILITY
-    }
+          m_canVeto(TRUE) {}
+
     wxCloseEvent(const wxCloseEvent & event)
         : wxEvent(event),
         m_loggingOff(event.m_loggingOff),
         m_veto(event.m_veto),
-        m_canVeto(event.m_canVeto)
-    {
-#if WXWIN_COMPATIBILITY
-        m_force = event.m_force;
-#endif // WXWIN_COMPATIBILITY
-    }
+        m_canVeto(event.m_canVeto) {}
 
     void SetLoggingOff(bool logOff) { m_loggingOff = logOff; }
     bool GetLoggingOff() const { return m_loggingOff; }
@@ -1344,24 +1272,12 @@ public:
     bool CanVeto() const { return m_canVeto; }
     bool GetVeto() const { return m_canVeto && m_veto; }
 
-#if WXWIN_COMPATIBILITY
-    // This is probably obsolete now, since we use CanVeto instead, in
-    // both OnCloseWindow and OnQueryEndSession.
-    // m_force == ! m_canVeto i.e., can't veto means we must force it to close.
-    void SetForce(bool force) { m_force = force; }
-    bool GetForce() const { return m_force; }
-#endif
-
     virtual wxEvent *Clone() const { return new wxCloseEvent(*this); }
 
 protected:
     bool m_loggingOff;
     bool m_veto, m_canVeto;
 
-#if WXWIN_COMPATIBILITY
-    bool m_force;
-#endif
-
 private:
     DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxCloseEvent)
 
@@ -1507,10 +1423,10 @@ public:
             (GetEventType() == wxEVT_JOY_BUTTON_UP)); }
 
     // Was it a move event?
-    bool IsMove() const { return (GetEventType() == wxEVT_JOY_MOVE) ; }
+    bool IsMove() const { return (GetEventType() == wxEVT_JOY_MOVE); }
 
     // Was it a zmove event?
-    bool IsZMove() const { return (GetEventType() == wxEVT_JOY_ZMOVE) ; }
+    bool IsZMove() const { return (GetEventType() == wxEVT_JOY_ZMOVE); }
 
     // Was it a down event from button 1, 2, 3, 4 or any?
     bool ButtonDown(int but = wxJOY_BUTTON_ANY) const
@@ -1640,14 +1556,14 @@ public:
     static void SetUpdateInterval(long updateInterval) { sm_updateInterval = updateInterval; }
 
     // Returns the current interval between updates in milliseconds
-    static long GetUpdateInterval() { return sm_updateInterval ; }
+    static long GetUpdateInterval() { return sm_updateInterval; }
 
     // Can we update this window?
-    static bool CanUpdate(wxWindow* win) ;
+    static bool CanUpdate(wxWindowBase *win);
 
     // Reset the update time to provide a delay until the next
     // time we should update
-    static void ResetUpdateTime() ;
+    static void ResetUpdateTime();
 
     // Specify how wxWindows will send update events: to
     // all windows, or only to those which specify that they
@@ -1655,7 +1571,7 @@ public:
     static void SetMode(wxUpdateUIMode mode) { sm_updateMode = mode; }
 
     // Returns the UI update mode
-    static wxUpdateUIMode GetMode() { return sm_updateMode ; }
+    static wxUpdateUIMode GetMode() { return sm_updateMode; }
 
     virtual wxEvent *Clone() const { return new wxUpdateUIEvent(*this); }
 
@@ -2019,10 +1935,10 @@ public:
     static void SetMode(wxIdleMode mode) { sm_idleMode = mode; }
 
     // Returns the idle event mode
-    static wxIdleMode GetMode() { return sm_idleMode ; }
+    static wxIdleMode GetMode() { return sm_idleMode; }
 
     // Can we send an idle event?
-    static bool CanSend(wxWindow* win) ;
+    static bool CanSend(wxWindow* win);
 
 protected:
     bool m_requestMore;
@@ -2274,6 +2190,7 @@ public:
                   wxEvtHandler *eventSink = (wxEvtHandler *) NULL )
         { return Disconnect(winid, wxID_ANY, eventType, func, userData, eventSink); }
 
+    wxList* GetDynamicEventTable() const { return m_dynamicEvents ; }
 
     // User data can be associated with each wxEvtHandler
     void SetClientObject( wxClientData *data ) { DoSetClientObject(data); }
@@ -2297,24 +2214,6 @@ public:
    };
 #endif
 
-    // old stuff
-
-#if WXWIN_COMPATIBILITY_2
-    virtual void OnCommand(wxWindow& WXUNUSED(win),
-                           wxCommandEvent& WXUNUSED(event))
-    {
-        wxFAIL_MSG(wxT("shouldn't be called any more"));
-    }
-
-    // Called if child control has no callback function
-    virtual long Default()
-        { return GetNextHandler() ? GetNextHandler()->Default() : 0; };
-#endif // WXWIN_COMPATIBILITY_2
-
-#if WXWIN_COMPATIBILITY
-    virtual bool OnClose();
-#endif
-
 private:
     static const wxEventTableEntry sm_eventTableEntries[];
 
@@ -2322,11 +2221,15 @@ protected:
     // hooks for wxWindow used by ProcessEvent()
     // -----------------------------------------
 
-    // this one is called before trying our own event table to allow plugging
-    // in the validators
-#if wxUSE_VALIDATORS
+    // This one is called before trying our own event table to allow plugging
+    // in the validators.
+    // 
+    // NB: This method is intentionally *not* inside wxUSE_VALIDATORS!
+    //     It is part of wxBase which doesn't use validators and the code
+    //     is compiled out when building wxBase w/o GUI classes, which affects
+    //     binary compatiblity and wxBase library can't be used by GUI
+    //     ports.
     virtual bool TryValidator(wxEvent& WXUNUSED(event)) { return false; }
-#endif // wxUSE_VALIDATORS
 
     // this one is called after failing to find the event handle in our own
     // table to give a chance to the other windows to process it