+//-----------------------------------------------------------------------------
+// wxSpinCtrlGTKBase - Base class for GTK versions of the wxSpinCtrl[Double]
+//
+// This class manages a double valued GTK spinctrl through the DoGet/SetXXX
+// functions that are made public as Get/SetXXX functions for int or double
+// for the wxSpinCtrl and wxSpinCtrlDouble classes respectively to avoid
+// function ambiguity.
+//-----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_CORE wxSpinCtrlGTKBase : public wxSpinCtrlBase
+{
+public:
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxString& value,
+ const wxPoint& pos,
+ const wxSize& size,
+ long style,
+ double min, double max, double initial,
+ double inc,
+ const wxString& name);
+
+ // wxSpinCtrl(Double) methods call DoXXX functions of the same name
+
+ // accessors
+ // T GetValue() const
+ // T GetMin() const
+ // T GetMax() const
+ // T GetIncrement() const
+ virtual bool GetSnapToTicks() const;
+
+ // operations
+ virtual void SetValue(const wxString& value);
+ // void SetValue(T val)
+ // void SetRange(T minVal, T maxVal)
+ // void SetIncrement(T inc)
+ void SetSnapToTicks( bool snap_to_ticks );
+
+ // Select text in the textctrl
+ void SetSelection(long from, long to);
+
+ static wxVisualAttributes
+ GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
+
+ // implementation
+ void OnChar( wxKeyEvent &event );
+
+protected:
+ double DoGetValue() const;
+ double DoGetMin() const;
+ double DoGetMax() const;
+ double DoGetIncrement() const;
+
+ void DoSetValue(double val);
+ void DoSetValue(const wxString& strValue);
+ void DoSetRange(double min_val, double max_val);
+ void DoSetIncrement(double inc);