// 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,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxSliderNameStr)
{
+ Init();
Create(parent, id, value, minValue, maxValue, pos, size, style, validator, name);
}
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();
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)
};