]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/slidrmsw.h
fixed bug with the caret positioning after SetValue() introduced by the last commit
[wxWidgets.git] / include / wx / msw / slidrmsw.h
index 9363bd4660ff36a11911de135327fd42384c6396..5dd73da601e50b65aa5ad7fbfc8e92c5e6d9f279 100644 (file)
@@ -1,12 +1,12 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        slidrmsw.h
+// Name:        wx/msw/slidrmsw.h
 // Purpose:     wxSliderMSW class
 // Author:      Julian Smart
 // Modified by:
 // Created:     01/02/97
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
-// Licence:    wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _SLIDRMSW_H_
 #pragma interface "slidrmsw.h"
 #endif
 
-#include "wx/control.h"
-
-WXDLLEXPORT_DATA(extern const char*) wxSliderNameStr;
-
 // Slider
-class WXDLLEXPORT wxSliderMSW: public wxControl
+class WXDLLEXPORT wxSliderMSW : public wxSliderBase
 {
-  DECLARE_DYNAMIC_CLASS(wxSliderMSW)
-
 public:
-  wxSliderMSW(void);
-
-  inline wxSliderMSW(wxWindow *parent, wxWindowID id,
-           int value, int minValue, int maxValue,
-           const wxPoint& pos = wxDefaultPosition,
-           const wxSize& size = wxDefaultSize,
-           long style = wxSL_HORIZONTAL,
-           const wxValidator& validator = wxDefaultValidator,
-           const wxString& name = wxSliderNameStr)
-  {
-      Create(parent, id, value, minValue, maxValue, pos, size, style, validator, name);
-  }
-
-  ~wxSliderMSW(void);
-
-  bool Create(wxWindow *parent, wxWindowID id,
-           int value, int minValue, int maxValue,
-           const wxPoint& pos = wxDefaultPosition,
-           const wxSize& size = wxDefaultSize,
-           long style = wxSL_HORIZONTAL,
-           const wxValidator& validator = wxDefaultValidator,
-           const wxString& name = wxSliderNameStr);
-
-  virtual int GetValue(void) const ;
-  virtual void SetValue(int);
-
-  void GetSize(int *x, int *y) const ;
-  wxSize GetSize() const { return wxWindow::GetSize(); }
-
-  void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
-  void SetSize(const wxRect& rect, int sizeFlags = wxSIZE_AUTO)
-    { wxWindow::SetSize(rect, sizeFlags); }
-  void SetSize(const wxSize& size) { wxWindow::SetSize(size); }
-
-  void GetPosition(int *x, int *y) const ;
-  wxPoint GetPosition() const { return wxWindow::GetPosition(); }
-
-  bool Show(bool show);
-
-  void SetRange(int minValue, int maxValue);
-
-  inline int GetMin(void) const { return m_rangeMin; }
-  inline int GetMax(void) const { return m_rangeMax; }
-
-  // For trackbars only
-  void SetTickFreq(int n, int pos);
-  inline int GetTickFreq(void) const { return m_tickFreq; }
-  void SetPageSize(int pageSize);
-  int GetPageSize(void) const ;
-  void ClearSel(void) ;
-  void ClearTicks(void) ;
-  void SetLineSize(int lineSize);
-  int GetLineSize(void) const ;
-  int GetSelEnd(void) const ;
-  int GetSelStart(void) const ;
-  void SetSelection(int minPos, int maxPos);
-  void SetThumbLength(int len) ;
-  int GetThumbLength(void) const ;
-  void SetTick(int tickPos) ;
-
-  // IMPLEMENTATION
-  inline WXHWND GetStaticMin() const { return m_staticMin; }
-  inline WXHWND GetStaticMax() const { return m_staticMax; }
-  inline WXHWND GetEditValue() const { return m_staticValue; }
-  virtual bool ContainsHWND(WXHWND hWnd) const;
-
-  // Backward compatibility: translate to familiar wxEVT_COMMAND_SLIDER_UPDATED
-#if WXWIN_COMPATIBILITY
-  void OnScroll(wxScrollEvent& event);
-#endif
-
-  void Command(wxCommandEvent& event);
-  virtual WXHBRUSH OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
-                       WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
-  void MSWOnVScroll(WXWORD wParam, WXWORD pos, WXHWND control);
-  void MSWOnHScroll(WXWORD wParam, WXWORD pos, WXHWND control);
-
- protected:
-  WXHWND        m_staticMin;
-  WXHWND        m_staticMax;
-  WXHWND        m_staticValue;
-  int           m_rangeMin;
-  int           m_rangeMax;
-  int           m_pageSize;
-  int           m_lineSize;
-  int           m_tickFreq;
-DECLARE_EVENT_TABLE()
+    wxSliderMSW();
+
+    wxSliderMSW(wxWindow *parent, wxWindowID id,
+            int value, int minValue, int maxValue,
+            const wxPoint& pos = wxDefaultPosition,
+            const wxSize& size = wxDefaultSize,
+            long style = wxSL_HORIZONTAL,
+            const wxValidator& validator = wxDefaultValidator,
+            const wxString& name = wxSliderNameStr)
+    {
+        Create(parent, id, value, minValue, maxValue, pos, size, style, validator, name);
+    }
+
+    ~wxSliderMSW();
+
+    bool Create(wxWindow *parent, wxWindowID id,
+            int value, int minValue, int maxValue,
+            const wxPoint& pos = wxDefaultPosition,
+            const wxSize& size = wxDefaultSize,
+            long style = wxSL_HORIZONTAL,
+            const wxValidator& validator = wxDefaultValidator,
+            const wxString& name = wxSliderNameStr);
+
+    virtual int GetValue() const;
+    virtual void SetValue(int);
+
+    void GetSize(int *x, int *y) const;
+    void GetPosition(int *x, int *y) const;
+
+    bool Show(bool show);
+
+    void SetRange(int minValue, int maxValue);
+
+    int GetMin() const { return m_rangeMin; }
+    int GetMax() const { return m_rangeMax; }
+
+    // For trackbars only
+    void SetPageSize(int pageSize);
+    int GetPageSize() const;
+    void SetLineSize(int lineSize);
+    int GetLineSize() const;
+
+    // these methods get/set the length of the slider pointer in pixels
+    virtual void SetThumbLength(int lenPixels);
+    virtual int GetThumbLength() const ;
+
+    // IMPLEMENTATION
+    WXHWND GetStaticMin() const { return m_staticMin; }
+    WXHWND GetStaticMax() const { return m_staticMax; }
+    WXHWND GetEditValue() const { return m_staticValue; }
+    virtual bool ContainsHWND(WXHWND hWnd) const;
+
+    void Command(wxCommandEvent& event);
+    virtual WXHBRUSH OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
+            WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
+    virtual bool MSWOnScroll(int orientation, WXWORD wParam,
+                             WXWORD pos, WXHWND control);
+
+protected:
+    WXHWND        m_staticMin;
+    WXHWND        m_staticMax;
+    WXHWND        m_staticValue;
+    int           m_rangeMin;
+    int           m_rangeMax;
+    int           m_pageSize;
+    int           m_lineSize;
+
+    virtual void DoSetSize(int x, int y,
+                           int width, int height,
+                           int sizeFlags = wxSIZE_AUTO);
+
+    DECLARE_DYNAMIC_CLASS(wxSliderMSW)
 };
 
 #endif