]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/spinctrl.h
Speed fix for wxGenericDirCtrl, starting to add text input control;
[wxWidgets.git] / include / wx / msw / spinctrl.h
index 7babcf4e74765276f73b1cc349ee084594dd0856..243e7b6833b73da5703c2ff43106db44300eeed0 100644 (file)
@@ -1,4 +1,4 @@
-/////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////
 // Name:        msw/spinctrl.h
 // Purpose:     wxSpinCtrl class declaration for Win32
 // Author:      Vadim Zeitlin
@@ -54,18 +54,40 @@ public:
     // because the base class already has one returning int!)
     void SetValue(const wxString& text);
 
-    // override some of the base class virtuals
+    // implementation only from now on
+    // -------------------------------
+
+    virtual ~wxSpinCtrl();
+
     virtual void SetValue(int val) { wxSpinButton::SetValue(val); }
-    virtual int GetValue() const;
+    virtual int  GetValue() const;
     virtual bool SetFont(const wxFont &font);
+    virtual void SetFocus();
+
+    virtual bool Enable(bool enable = TRUE);
+    virtual bool Show(bool show = TRUE);
+
+    // wxSpinButton doesn't accept focus, but we do
+    virtual bool AcceptsFocus() const { return wxWindow::AcceptsFocus(); }
+
+    WXFARPROC GetBuddyWndProc() const { return m_oldBuddyWndProc; }
 
 protected:
+    virtual void DoGetPosition(int *x, int *y) const;
     virtual void DoMoveWindow(int x, int y, int width, int height);
-    virtual wxSize DoGetBestSize();
+    virtual wxSize DoGetBestSize() const;
+    virtual void DoGetSize(int *width, int *height) const;
+
+    // the handler for wxSpinButton events
+    void OnSpinChange(wxSpinEvent& event);
 
-    WXHWND m_hwndBuddy;
+    // the data for the "buddy" text ctrl
+    WXHWND     m_hwndBuddy;
+    WXFARPROC  m_oldBuddyWndProc;
 
+private:
     DECLARE_DYNAMIC_CLASS(wxSpinCtrl)
+    DECLARE_EVENT_TABLE()
 };
 
 #endif // _WX_MSW_SPINCTRL_H_