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;
-
void SetRange(int minValue, int maxValue);
int GetMin() const;
// 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();
// implementation
void Command(wxCommandEvent& event);
-protected:
- virtual void DoGetSize(int *width, int *height) const;
+ // send a notification event, return true if processed
+ bool SendUpdatedEvent();
+ bool SendScrollEvent(EventType* event);
- virtual void DoSetSize(int x, int y,
- int width, int height,
- int sizeFlags = wxSIZE_AUTO);
+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)
};