#include "wx/defs.h"
#include "wx/object.h"
-#include "wx/gdicmn.h"
+
+#if wxUSE_GUI
+ #include "wx/gdicmn.h"
+#endif
#if wxUSE_THREADS
#include "wx/thread.h"
#endif
-/*
- * Event types
- *
- */
+// ----------------------------------------------------------------------------
+// forward declarations
+// ----------------------------------------------------------------------------
+
+class WXDLLEXPORT wxList;
+
+#if wxUSE_GUI
+ class WXDLLEXPORT wxClientData;
+ class WXDLLEXPORT wxDC;
+ class WXDLLEXPORT wxMenu;
+ class WXDLLEXPORT wxWindow;
+#endif // wxUSE_GUI
+
+// ----------------------------------------------------------------------------
+// Event types
+// ----------------------------------------------------------------------------
typedef int wxEventType;
const wxEventType wxEVT_INIT_DIALOG = wxEVT_FIRST + 437;
const wxEventType wxEVT_IDLE = wxEVT_FIRST + 438;
const wxEventType wxEVT_UPDATE_UI = wxEVT_FIRST + 439;
+
/* System misc. */
const wxEventType wxEVT_END_PROCESS = wxEVT_FIRST + 440;
+ /* Dial up events */
+const wxEventType wxEVT_DIALUP_CONNECTED = wxEVT_FIRST + 450;
+const wxEventType wxEVT_DIALUP_DISCONNECTED = wxEVT_FIRST + 451;
+
/* Generic command events */
/* Note: a click is a higher-level event than button down/up */
const wxEventType wxEVT_COMMAND_LEFT_CLICK = wxEVT_FIRST + 500;
const wxEventType wxEVT_COMMAND_SPLITTER_DOUBLECLICKED = wxEVT_FIRST + 852;
const wxEventType wxEVT_COMMAND_SPLITTER_UNSPLIT = wxEVT_FIRST + 853;
+/* Wizard events */
+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_USER_FIRST = wxEVT_FIRST + 2000;
/* Compatibility */
bool m_isCommandEvent;
};
+#if wxUSE_GUI
+
// Item or menu event class
/*
wxEVT_COMMAND_BUTTON_CLICKED
wxEVT_COMMAND_COMBOBOX_SELECTED
*/
-class WXDLLEXPORT wxClientData;
-
class WXDLLEXPORT wxCommandEvent : public wxEvent
{
DECLARE_DYNAMIC_CLASS(wxCommandEvent)
wxEVT_NC_RIGHT_DCLICK,
*/
-class WXDLLEXPORT wxDC;
class WXDLLEXPORT wxMouseEvent : public wxEvent
{
DECLARE_DYNAMIC_CLASS(wxMouseEvent)
wxEVT_PAINT_ICON
*/
+#if defined(__WXDEBUG__) && defined(__WXMSW__)
+ // see comments in src/msw/dcclient.cpp where g_isPainting is defined
+ extern int g_isPainting;
+#endif // debug
+
class WXDLLEXPORT wxPaintEvent : public wxEvent
{
DECLARE_DYNAMIC_CLASS(wxPaintEvent)
public:
- wxPaintEvent(int Id = 0) { m_eventType = wxEVT_PAINT; m_id = Id; }
+ wxPaintEvent(int Id = 0)
+ {
+ m_eventType = wxEVT_PAINT;
+ m_id = Id;
+
+#if defined(__WXDEBUG__) && defined(__WXMSW__)
+ // set the internal flag for the duration of processing of WM_PAINT
+ g_isPainting++;
+#endif // debug
+ }
+
+#if defined(__WXDEBUG__) && defined(__WXMSW__)
+ ~wxPaintEvent()
+ {
+ g_isPainting--;
+ }
+#endif // debug
};
// Erase background event class
wxEVT_ERASE_BACKGROUND
*/
-class WXDLLEXPORT wxDC;
class WXDLLEXPORT wxEraseEvent : public wxEvent
{
DECLARE_DYNAMIC_CLASS(wxEraseEvent)
{
// GetVeto() will return FALSE anyhow...
wxCHECK_RET( m_canVeto,
- _T("call to Veto() ignored (can't veto this event)") );
+ wxT("call to Veto() ignored (can't veto this event)") );
m_veto = veto;
}
// Was it a button event? (*doesn't* mean: is any button *down*?)
bool IsButton() const { return ((GetEventType() == wxEVT_JOY_BUTTON_DOWN) ||
- (GetEventType() == wxEVT_JOY_BUTTON_DOWN)); }
+ (GetEventType() == wxEVT_JOY_BUTTON_UP)); }
// Was it a move event?
bool IsMove() const { return (GetEventType() == wxEVT_JOY_MOVE) ; }
void CopyObject(wxObject& obj) const;
};
-// Idle event
-/*
- wxEVT_IDLE
- */
-
-class WXDLLEXPORT wxIdleEvent : public wxEvent
-{
- DECLARE_DYNAMIC_CLASS(wxIdleEvent)
-
-public:
- wxIdleEvent()
- { m_eventType = wxEVT_IDLE; m_requestMore = FALSE; }
-
- void RequestMore(bool needMore = TRUE) { m_requestMore = needMore; }
- bool MoreRequested() const { return m_requestMore; }
-
- void CopyObject(wxObject& obj) const;
-
-protected:
- bool m_requestMore;
-};
-
// Update UI event
/*
wxEVT_UPDATE_UI
*/
-class WXDLLEXPORT wxMenu;
-class WXDLLEXPORT wxWindow;
-
class WXDLLEXPORT wxUpdateUIEvent : public wxCommandEvent
{
DECLARE_DYNAMIC_CLASS(wxUpdateUIEvent)
wxWindow *GetWindow() const { return (wxWindow *)GetEventObject(); }
};
+#endif // wxUSE_GUI
+
+// Idle event
+/*
+ wxEVT_IDLE
+ */
+
+class WXDLLEXPORT wxIdleEvent : public wxEvent
+{
+ DECLARE_DYNAMIC_CLASS(wxIdleEvent)
+
+public:
+ wxIdleEvent()
+ { m_eventType = wxEVT_IDLE; m_requestMore = FALSE; }
+
+ void RequestMore(bool needMore = TRUE) { m_requestMore = needMore; }
+ bool MoreRequested() const { return m_requestMore; }
+
+ void CopyObject(wxObject& obj) const;
+
+protected:
+ bool m_requestMore;
+};
+
/* TODO
wxEVT_POWER,
wxEVT_MOUSE_CAPTURE_CHANGED,
wxEVT_COMPARE_ITEM
*/
-class WXDLLEXPORT wxWindow;
-class WXDLLEXPORT wxControl;
-
-// struct WXDLLEXPORT wxEventTableEntry;
-
typedef void (wxObject::*wxObjectEventFunction)(wxEvent&);
struct WXDLLEXPORT wxEventTableEntry
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
- // Default behaviour
+ // Called if child control has no callback function
virtual long Default()
{ return GetNextHandler() ? GetNextHandler()->Default() : 0; };
#endif // WXWIN_COMPATIBILITY_2
};
typedef void (wxEvtHandler::*wxEventFunction)(wxEvent&);
+#if wxUSE_GUI
typedef void (wxEvtHandler::*wxCommandEventFunction)(wxCommandEvent&);
typedef void (wxEvtHandler::*wxScrollEventFunction)(wxScrollEvent&);
typedef void (wxEvtHandler::*wxScrollWinEventFunction)(wxScrollWinEvent&);
typedef void (wxEvtHandler::*wxNavigationKeyEventFunction)(wxNavigationKeyEvent&);
typedef void (wxEvtHandler::*wxPaletteChangedEventFunction)(wxPaletteChangedEvent&);
typedef void (wxEvtHandler::*wxQueryNewPaletteEventFunction)(wxQueryNewPaletteEvent&);
+#endif // wxUSE_GUI
// N.B. In GNU-WIN32, you *have* to take the address of a member function
// (use &) or the compiler crashes...
#define EVT_UPDATE_UI(id, func) \
{ wxEVT_UPDATE_UI, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxUpdateUIEventFunction) & func, (wxObject *) NULL },\
-/*
- * Helper functions
- */
+// ----------------------------------------------------------------------------
+// Helper functions
+// ----------------------------------------------------------------------------
+
+#if wxUSE_GUI
// Find a window with the focus, that is also a descendant of the given window.
// This is used to determine the window to initially send commands to.
wxWindow* wxFindFocusDescendant(wxWindow* ancestor);
+#endif // wxUSE_GUI
+
#endif
// _WX_EVENTH__