]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk1/spinctrl.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / gtk1 / spinctrl.h
index 1bb09317c69cad1319a3d38f806e7a7f5c21fa94..0b42fce248c62762d1a07bffbf5741e139d87a15 100644 (file)
@@ -1,9 +1,8 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        spinctrl.h
+// Name:        wx/gtk1/spinctrl.h
 // Purpose:     wxSpinCtrl class
 // Author:      Robert Roebling
 // Modified by:
-// RCS-ID:      $Id$
 // Copyright:   (c) Robert Roebling
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 #ifndef __GTKSPINCTRLH__
 #define __GTKSPINCTRLH__
 
-#ifdef __GNUG__
-#pragma interface
-#endif
+#include "wx/defs.h"
+
+#if wxUSE_SPINCTRL
+
+#include "wx/control.h"
 
 //-----------------------------------------------------------------------------
 // wxSpinCtrl
 //-----------------------------------------------------------------------------
 
-class wxSpinCtrl : public wxControl
+class WXDLLIMPEXP_CORE wxSpinCtrl : public wxControl
 {
 public:
     wxSpinCtrl() {}
@@ -30,7 +31,7 @@ public:
                const wxSize& size = wxDefaultSize,
                long style = wxSP_ARROW_KEYS,
                int min = 0, int max = 100, int initial = 0,
-               const wxString& name = _T("wxSpinCtrl"))
+               const wxString& name = wxT("wxSpinCtrl"))
     {
         Create(parent, id, value, pos, size, style, min, max, initial, name);
     }
@@ -42,9 +43,10 @@ public:
                 const wxSize& size = wxDefaultSize,
                 long style = wxSP_ARROW_KEYS,
                 int min = 0, int max = 100, int initial = 0,
-                const wxString& name = _T("wxSpinCtrl"));
+                const wxString& name = wxT("wxSpinCtrl"));
 
     void SetValue(const wxString& text);
+    void SetSelection(long from, long to);
 
     virtual int GetValue() const;
     virtual void SetValue( int value );
@@ -52,19 +54,44 @@ public:
     virtual int GetMin() const;
     virtual int GetMax() const;
 
+    static wxVisualAttributes
+    GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
+
     // implementation
     void OnChar( wxKeyEvent &event );
-    
+
     bool IsOwnGtkWindow( GdkWindow *window );
-    void ApplyWidgetStyle();
+    void GtkDisableEvents();
+    void GtkEnableEvents();
 
     GtkAdjustment  *m_adjust;
     float           m_oldPos;
 
+    virtual int GetBase() const { return m_base; }
+    virtual bool SetBase(int base);
+
+ protected:
+    virtual wxSize DoGetBestSize() const;
+
+    // Widgets that use the style->base colour for the BG colour should
+    // override this and return true.
+    virtual bool UseGTKStyleBase() const { return true; }
+
 private:
+    // Common part of all ctors.
+    void Init()
+    {
+        m_base = 10;
+    }
+
+    int m_base;
+
     DECLARE_DYNAMIC_CLASS(wxSpinCtrl)
     DECLARE_EVENT_TABLE()
 };
 
+#endif
+    // wxUSE_SPINCTRL
+
 #endif
     // __GTKSPINCTRLH__