]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/palmos/slider.h
Better fix
[wxWidgets.git] / include / wx / palmos / slider.h
index 187e258d89f6937cc33fa5759953144bc59a027d..263e4a715308f7d10c45e80c6254945855f9af20 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        wx/palmos/slider95.h
+// Name:        wx/palmos/slider.h
 // Purpose:     wxSlider class
 // Author:      William Osborne - minimal working wxPalmOS port
 // Modified by: Wlodzimierz ABX Skiba - native implementation
@@ -9,18 +9,17 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef _SLIDER95_H_
-#define _SLIDER95_H_
-
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma interface "slider95.h"
-#endif
+#ifndef _SLIDERPALM_H_
+#define _SLIDERPALM_H_
 
 // Slider
 class WXDLLEXPORT wxSlider : public wxSliderBase
 {
 public:
-    wxSlider();
+    wxSlider()
+    {
+        Init();
+    }
 
     wxSlider(wxWindow *parent, wxWindowID id,
             int value, int minValue, int maxValue,
@@ -30,10 +29,11 @@ public:
             const wxValidator& validator = wxDefaultValidator,
             const wxString& name = wxSliderNameStr)
     {
+        Init();
         Create(parent, id, value, minValue, maxValue, pos, size, style, validator, name);
     }
 
-    ~wxSlider();
+    virtual ~wxSlider();
 
     bool Create(wxWindow *parent, wxWindowID id,
             int value, int minValue, int maxValue,
@@ -53,7 +53,7 @@ public:
 
     // For trackbars only
     void SetTickFreq(int n, int pos);
-    int GetTickFreq() const { return GetPageSize(); }
+    int GetTickFreq() const;
     void SetPageSize(int pageSize);
     int GetPageSize() const;
     void ClearSel();
@@ -72,12 +72,22 @@ public:
 
     // send a notification event, return true if processed
     bool SendUpdatedEvent();
+    bool SendScrollEvent(WXEVENTPTR event);
 
 protected:
+
     virtual wxSize DoGetBestSize() const;
 
+private:
+
+    void Init();
+
+    int m_oldPos;    // needed for tracing thumb position during scrolling
+    int m_oldValue;  // needed for comparing thumb position before and after scrolling
+    int m_lineSize;  // imitate line size
+
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxSlider)
 };
 
 #endif
-    // _SLIDER95_H_
+    // _SLIDERPALM_H_