]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/palmos/slider.h
streamlining code
[wxWidgets.git] / include / wx / palmos / slider.h
index fb97c2e1641efe3903a776cf85b1c1a82471ead0..078d5d23ec7e9cb7c34e3dff4de0fd3b7bd4d1d7 100644 (file)
@@ -1,26 +1,25 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        wx/palmos/slider95.h
+// Name:        wx/palmos/slider.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
 /////////////////////////////////////////////////////////////////////////////
 
-#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
+class WXDLLIMPEXP_CORE 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,
@@ -46,18 +46,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,38 +67,27 @@ 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(WXEVENTPTR 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 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_