X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/544fee32eeac1a4f6ca3e0c7c1b13ee24f1d1c1c..07aaf32633ecf18ec3edfbb41793a112914792d0:/src/xrc/xh_spin.cpp diff --git a/src/xrc/xh_spin.cpp b/src/xrc/xh_spin.cpp index 6419ef5cca..d9b1f4ef77 100644 --- a/src/xrc/xh_spin.cpp +++ b/src/xrc/xh_spin.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: xh_spin.cpp +// Name: src/xrc/xh_spin.cpp // Purpose: XRC resource for wxSpinButton // Author: Bob Mitchell // Created: 2000/03/21 @@ -7,10 +7,6 @@ // 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" @@ -19,13 +15,22 @@ #pragma hdrstop #endif +#if wxUSE_XRC + #include "wx/xrc/xh_spin.h" -#include "wx/spinctrl.h" #if wxUSE_SPINBTN -wxSpinButtonXmlHandler::wxSpinButtonXmlHandler() -: wxXmlResourceHandler() +#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) + +wxSpinButtonXmlHandler::wxSpinButtonXmlHandler() +: wxXmlResourceHandler() { XRC_ADD_STYLE(wxSP_HORIZONTAL); XRC_ADD_STYLE(wxSP_VERTICAL); @@ -35,7 +40,7 @@ wxSpinButtonXmlHandler::wxSpinButtonXmlHandler() } wxObject *wxSpinButtonXmlHandler::DoCreateResource() -{ +{ XRC_MAKE_INSTANCE(control, wxSpinButton) control->Create(m_parentAsWindow, @@ -44,11 +49,11 @@ 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; } @@ -61,31 +66,42 @@ bool wxSpinButtonXmlHandler::CanHandle(wxXmlNode *node) #if wxUSE_SPINCTRL -wxSpinCtrlXmlHandler::wxSpinCtrlXmlHandler() -: wxXmlResourceHandler() +#include "wx/spinctrl.h" + +IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrlXmlHandler, wxXmlResourceHandler) + +wxSpinCtrlXmlHandler::wxSpinCtrlXmlHandler() +: wxXmlResourceHandler() { XRC_ADD_STYLE(wxSP_HORIZONTAL); 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() -{ +{ XRC_MAKE_INSTANCE(control, wxSpinCtrl) - + control->Create(m_parentAsWindow, 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; } @@ -95,3 +111,5 @@ bool wxSpinCtrlXmlHandler::CanHandle(wxXmlNode *node) } #endif // wxUSE_SPINCTRL + +#endif // wxUSE_XRC