]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/inpcons.h
fixing -fvisibility-inlines-hidden problem (IsOk function didn't get exported)
[wxWidgets.git] / include / wx / univ / inpcons.h
index 28f6b7ee5261bf760a4ae441801a5cdbba78142e..0fbd1ba2da9504c35859381ddaaf9a4669a4b9e7 100644 (file)
@@ -39,7 +39,7 @@ class WXDLLEXPORT 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;
 };