]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xh_spin.cpp
Workaround for #15404: wxRichTextCtrl: caret does not disappear when focus is lost...
[wxWidgets.git] / src / xrc / xh_spin.cpp
index 73c96c7a430c85e979008eba77713318bc036832..8ee8c8ecf069f7abc031e89c30781b9c36cf3b5a 100644 (file)
@@ -1,17 +1,12 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        xh_spin.cpp
+// Name:        src/xrc/xh_spin.cpp
 // Purpose:     XRC resource for wxSpinButton
 // Author:      Bob Mitchell
 // Created:     2000/03/21
-// RCS-ID:      $Id$
 // Copyright:   (c) 2000 Bob Mitchell and Verant Interactive
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifdef __GNUG__
-#pragma implementation "xh_spin.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
     #pragma hdrstop
 #endif
 
-#if wxUSE_XRC && wxUSE_SPINBTN
+#if wxUSE_XRC
 
 #include "wx/xrc/xh_spin.h"
-#include "wx/spinctrl.h"
+
+#if wxUSE_SPINBTN
+
+#include "wx/spinbutt.h"
+
+static const long DEFAULT_VALUE = 0;
+static const long DEFAULT_MIN = 0;
+static const long DEFAULT_MAX = 100;
 
 IMPLEMENT_DYNAMIC_CLASS(wxSpinButtonXmlHandler, wxXmlResourceHandler)
 
@@ -46,9 +48,9 @@ wxObject *wxSpinButtonXmlHandler::DoCreateResource()
                     GetStyle(wxT("style"), wxSP_VERTICAL | wxSP_ARROW_KEYS),
                     GetName());
 
-    control->SetValue(GetLong( wxT("value"), wxSP_DEFAULT_VALUE));
-    control->SetRange(GetLong( wxT("min"), wxSP_DEFAULT_MIN),
-                      GetLong(wxT("max"), wxSP_DEFAULT_MAX));
+    control->SetValue(GetLong( wxT("value"), DEFAULT_VALUE));
+    control->SetRange(GetLong( wxT("min"), DEFAULT_MIN),
+                      GetLong(wxT("max"), DEFAULT_MAX));
     SetupWindow(control);
 
     return control;
@@ -63,6 +65,8 @@ bool wxSpinButtonXmlHandler::CanHandle(wxXmlNode *node)
 
 #if wxUSE_SPINCTRL
 
+#include "wx/spinctrl.h"
+
 IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrlXmlHandler, wxXmlResourceHandler)
 
 wxSpinCtrlXmlHandler::wxSpinCtrlXmlHandler()
@@ -72,6 +76,9 @@ wxSpinCtrlXmlHandler::wxSpinCtrlXmlHandler()
     XRC_ADD_STYLE(wxSP_VERTICAL);
     XRC_ADD_STYLE(wxSP_ARROW_KEYS);
     XRC_ADD_STYLE(wxSP_WRAP);
+    XRC_ADD_STYLE(wxALIGN_LEFT);
+    XRC_ADD_STYLE(wxALIGN_CENTER);
+    XRC_ADD_STYLE(wxALIGN_RIGHT);
 }
 
 wxObject *wxSpinCtrlXmlHandler::DoCreateResource()
@@ -82,12 +89,16 @@ wxObject *wxSpinCtrlXmlHandler::DoCreateResource()
                     GetID(),
                     GetText(wxT("value")),
                     GetPosition(), GetSize(),
-                    GetStyle(wxT("style"), wxSP_ARROW_KEYS),
-                    GetLong(wxT("min"), wxSP_DEFAULT_MIN),
-                    GetLong(wxT("max"), wxSP_DEFAULT_MAX),
-                    GetLong(wxT("value"), wxSP_DEFAULT_VALUE),
+                    GetStyle(wxT("style"), wxSP_ARROW_KEYS | wxALIGN_RIGHT),
+                    GetLong(wxT("min"), DEFAULT_MIN),
+                    GetLong(wxT("max"), DEFAULT_MAX),
+                    GetLong(wxT("value"), DEFAULT_VALUE),
                     GetName());
 
+    const long base = GetLong(wxS("base"), 10);
+    if ( base != 10 )
+        control->SetBase(base);
+
     SetupWindow(control);
 
     return control;
@@ -98,4 +109,6 @@ bool wxSpinCtrlXmlHandler::CanHandle(wxXmlNode *node)
     return IsOfClass(node, wxT("wxSpinCtrl"));
 }
 
-#endif // wxUSE_XRC && wxUSE_SPINCTRL
+#endif // wxUSE_SPINCTRL
+
+#endif // wxUSE_XRC