]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/palmos/slider.h
Committing in .
[wxWidgets.git] / include / wx / palmos / slider.h
index fb97c2e1641efe3903a776cf85b1c1a82471ead0..d21ce89da610929742faf6b03cebcfa6bb71149c 100644 (file)
@@ -2,10 +2,10 @@
 // Name:        wx/palmos/slider95.h
 // Purpose:     wxSlider class
 // Author:      William Osborne - minimal working wxPalmOS port
-// Modified by:
+// Modified by: Wlodzimierz ABX Skiba - native implementation
 // Created:     10/13/04
 // RCS-ID:      $Id$
-// Copyright:   (c) William Osborne
+// Copyright:   (c) William Osborne, Wlodzimierz Skiba
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 class WXDLLEXPORT wxSlider : public wxSliderBase
 {
 public:
-    wxSlider();
+    wxSlider()
+    {
+        Init();
+    }
 
     wxSlider(wxWindow *parent, wxWindowID id,
             int value, int minValue, int maxValue,
@@ -30,6 +33,7 @@ public:
             const wxValidator& validator = wxDefaultValidator,
             const wxString& name = wxSliderNameStr)
     {
+        Init();
         Create(parent, id, value, minValue, maxValue, pos, size, style, validator, name);
     }
 
@@ -46,18 +50,14 @@ public:
     virtual int GetValue() const;
     virtual void SetValue(int);
 
-    void GetPosition(int *x, int *y) const;
-
-    bool Show(bool show = TRUE);
-
     void SetRange(int minValue, int maxValue);
 
-    int GetMin() const { return m_rangeMin; }
-    int GetMax() const { return m_rangeMax; }
+    int GetMin() const;
+    int GetMax() const;
 
     // For trackbars only
     void SetTickFreq(int n, int pos);
-    int GetTickFreq() const { return m_tickFreq; }
+    int GetTickFreq() const;
     void SetPageSize(int pageSize);
     int GetPageSize() const;
     void ClearSel();
@@ -71,35 +71,26 @@ public:
     int GetThumbLength() const;
     void SetTick(int tickPos);
 
-    // 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;
-
+    // implementation
     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);
+
+    // send a notification event, return true if processed
+    bool SendUpdatedEvent();
+    bool SendScrollEvent(EventType* event);
 
 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;
 
-    virtual void DoGetSize(int *width, int *height) const;
+    virtual wxSize DoGetBestSize() const;
 
-    virtual void DoSetSize(int x, int y,
-                           int width, int height,
-                           int sizeFlags = wxSIZE_AUTO);
+private:
 
-    virtual wxSize DoGetBestSize() const;
+    void Init();
+
+    int PalmInvertOrNot(int value) const;
+
+    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)
 };