X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/23ff76d5ad99605e0e49173dcd61894b17b03c9a..438959cca892a7651634cc3a7aad4819ac49b23c:/include/wx/univ/inpcons.h diff --git a/include/wx/univ/inpcons.h b/include/wx/univ/inpcons.h index 28f6b7ee52..d740769f58 100644 --- a/include/wx/univ/inpcons.h +++ b/include/wx/univ/inpcons.h @@ -12,8 +12,8 @@ #ifndef _WX_UNIV_INPCONS_H_ #define _WX_UNIV_INPCONS_H_ -class WXDLLEXPORT wxInputHandler; -class WXDLLEXPORT wxWindow; +class WXDLLIMPEXP_FWD_CORE wxInputHandler; +class WXDLLIMPEXP_FWD_CORE wxWindow; #include "wx/object.h" #include "wx/event.h" @@ -28,18 +28,18 @@ typedef wxString wxControlAction; // the list of actions which apply to all controls (other actions are defined // in the controls headers) -#define wxACTION_NONE _T("") // no action to perform +#define wxACTION_NONE wxT("") // no action to perform // ---------------------------------------------------------------------------- // wxInputConsumer: mix-in class for handling wxControlActions (used by // wxControl and wxTopLevelWindow). // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxInputConsumer +class WXDLLIMPEXP_CORE wxInputConsumer { public: wxInputConsumer() { m_inputHandler = NULL; } - virtual ~wxInputConsumer() {} + virtual ~wxInputConsumer() { } // get the input handler wxInputHandler *GetInputHandler() const { return m_inputHandler; } @@ -60,6 +60,19 @@ public: // get the window to work with (usually the class wxInputConsumer was mixed into) virtual wxWindow *GetInputWindow() const = 0; + // this function must be implemented in any classes process input (i.e. not + // static controls) to create the standard input handler for the concrete + // class deriving from this mix-in + // + // the parameter is the default input handler which should receive all + // unprocessed input (i.e. typically handlerDef is passed to + // wxStdInputHandler ctor) or it may be NULL + // + // the returned pointer will not be deleted by caller so it must either + // point to a static object or be deleted on program termination + virtual wxInputHandler *DoGetStdInputHandler(wxInputHandler *handlerDef); + + protected: // event handlers void OnMouse(wxMouseEvent& event); @@ -68,10 +81,12 @@ protected: void OnFocus(wxFocusEvent& event); void OnActivate(wxActivateEvent& event); - // create input handler by name + // create input handler by name, fall back to GetStdInputHandler() if + // the current theme doesn't define any specific handler of this type void CreateInputHandler(const wxString& inphandler); - // input processor (never deleted, the theme deletes it itself) +private: + // the input processor (we never delete it) wxInputHandler *m_inputHandler; };