/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_UNIV_INPCONS_H_
#define _WX_UNIV_INPCONS_H_
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_UNIV_INPCONS_H_
#define _WX_UNIV_INPCONS_H_
#define wxACTION_NONE _T("") // no action to perform
// ----------------------------------------------------------------------------
#define wxACTION_NONE _T("") // no action to perform
// ----------------------------------------------------------------------------
// wxControl and wxTopLevelWindow).
// ----------------------------------------------------------------------------
// wxControl and wxTopLevelWindow).
// ----------------------------------------------------------------------------
void OnKeyDown(wxKeyEvent& event); \
void OnKeyUp(wxKeyEvent& event); \
void OnFocus(wxFocusEvent& event); \
void OnKeyDown(wxKeyEvent& event); \
void OnKeyUp(wxKeyEvent& event); \
void OnFocus(wxFocusEvent& event); \
// implement the event table entries for wxControlContainer
#define WX_EVENT_TABLE_INPUT_CONSUMER(classname) \
// implement the event table entries for wxControlContainer
#define WX_EVENT_TABLE_INPUT_CONSUMER(classname) \
EVT_SET_FOCUS(classname::OnFocus) \
EVT_KILL_FOCUS(classname::OnFocus) \
EVT_ACTIVATE(classname::OnActivate)
EVT_SET_FOCUS(classname::OnFocus) \
EVT_KILL_FOCUS(classname::OnFocus) \
EVT_ACTIVATE(classname::OnActivate)
-// (We can't use them directly, because wxIC has virtual methods, which forces
-// the compiler to include (at least) two vtables into wxControl, one for the
-// wxWindow-wxControlBase-wxControl branch and one for the wxIC mix-in.
-// Consequently, the "this" pointer has different value when in wxControl's
-// and wxIC's method, even though the instance stays same. This doesn't matter
-// so far as member pointers aren't used, but that's not wxControl's case.
-// When we add an event table entry (= use a member pointer) pointing to
-// wxIC's OnXXX method, GCC compiles code that executes wxIC::OnXXX with the
-// version of "this" that belongs to wxControl, not wxIC! In our particular
+// (We can't use them directly, because wxIC has virtual methods, which forces
+// the compiler to include (at least) two vtables into wxControl, one for the
+// wxWindow-wxControlBase-wxControl branch and one for the wxIC mix-in.
+// Consequently, the "this" pointer has different value when in wxControl's
+// and wxIC's method, even though the instance stays same. This doesn't matter
+// so far as member pointers aren't used, but that's not wxControl's case.
+// When we add an event table entry (= use a member pointer) pointing to
+// wxIC's OnXXX method, GCC compiles code that executes wxIC::OnXXX with the
+// version of "this" that belongs to wxControl, not wxIC! In our particular
// case, the effect is that m_handler is NULL (probably same memory
// area as the_other_vtable's_this->m_refObj) and input handling doesn't work.)
#define WX_FORWARD_TO_INPUT_CONSUMER(classname) \
// case, the effect is that m_handler is NULL (probably same memory
// area as the_other_vtable's_this->m_refObj) and input handling doesn't work.)
#define WX_FORWARD_TO_INPUT_CONSUMER(classname) \