X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/78d14f80e9a72041ede52c30d912ec5cef21b1b3..5f4250ede098c1359fe0efd2a02e6ce4c199aaae:/src/xrc/xh_slidr.cpp diff --git a/src/xrc/xh_slidr.cpp b/src/xrc/xh_slidr.cpp index 52e0233810..9f6e07cf31 100644 --- a/src/xrc/xh_slidr.cpp +++ b/src/xrc/xh_slidr.cpp @@ -1,16 +1,12 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: xh_slidr.cpp -// Purpose: XML resource for wxSlider +// Name: src/xrc/xh_slidr.cpp +// Purpose: XRC resource for wxSlider // 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_slidr.h" -#endif // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -19,76 +15,85 @@ #pragma hdrstop #endif +#if wxUSE_XRC && wxUSE_SLIDER + #include "wx/xrc/xh_slidr.h" -#include "wx/slider.h" -#if wxUSE_SLIDER +#ifndef WX_PRECOMP + #include "wx/slider.h" +#endif + +static const long DEFAULT_VALUE = 0; +static const long DEFAULT_MIN = 0; +static const long DEFAULT_MAX = 100; -wxSliderXmlHandler::wxSliderXmlHandler() -: wxXmlResourceHandler() + +IMPLEMENT_DYNAMIC_CLASS(wxSliderXmlHandler, wxXmlResourceHandler) + +wxSliderXmlHandler::wxSliderXmlHandler() + :wxXmlResourceHandler() { - ADD_STYLE( wxSL_HORIZONTAL ); - ADD_STYLE( wxSL_VERTICAL ); - ADD_STYLE( wxSL_AUTOTICKS ); - ADD_STYLE( wxSL_LABELS ); - ADD_STYLE( wxSL_LEFT ); - ADD_STYLE( wxSL_TOP ); - ADD_STYLE( wxSL_RIGHT ); - ADD_STYLE( wxSL_BOTTOM ); - ADD_STYLE( wxSL_BOTH ); - ADD_STYLE( wxSL_SELRANGE ); + XRC_ADD_STYLE(wxSL_HORIZONTAL); + XRC_ADD_STYLE(wxSL_VERTICAL); + XRC_ADD_STYLE(wxSL_AUTOTICKS); + XRC_ADD_STYLE(wxSL_LABELS); + XRC_ADD_STYLE(wxSL_LEFT); + XRC_ADD_STYLE(wxSL_TOP); + XRC_ADD_STYLE(wxSL_RIGHT); + XRC_ADD_STYLE(wxSL_BOTTOM); + XRC_ADD_STYLE(wxSL_BOTH); + XRC_ADD_STYLE(wxSL_SELRANGE); + XRC_ADD_STYLE(wxSL_INVERSE); AddWindowStyles(); } wxObject *wxSliderXmlHandler::DoCreateResource() -{ - wxSlider *control = new wxSlider(m_parentAsWindow, - GetID(), - GetLong( wxT("value"), wxSL_DEFAULT_VALUE), - GetLong( wxT("min"), wxSL_DEFAULT_MIN), - GetLong( wxT("max"), wxSL_DEFAULT_MAX), - GetPosition(), GetSize(), - GetStyle(), - wxDefaultValidator, - GetName() - ); - - if( HasParam( wxT("tickfreq") )) +{ + XRC_MAKE_INSTANCE(control, wxSlider) + + control->Create(m_parentAsWindow, + GetID(), + GetLong(wxT("value"), DEFAULT_VALUE), + GetLong(wxT("min"), DEFAULT_MIN), + GetLong(wxT("max"), DEFAULT_MAX), + GetPosition(), GetSize(), + GetStyle(), + wxDefaultValidator, + GetName()); + + if( HasParam(wxT("tickfreq"))) { - control->SetTickFreq( GetLong( wxT("tickfreq") ), 0 ); + control->SetTickFreq(GetLong(wxT("tickfreq")), 0); } - if( HasParam( wxT("pagesize") )) + if( HasParam(wxT("pagesize"))) { - control->SetPageSize( GetLong( wxT("pagesize") ) ); + control->SetPageSize(GetLong(wxT("pagesize"))); } - if( HasParam( wxT("linesize") )) + if( HasParam(wxT("linesize"))) { - control->SetLineSize( GetLong( wxT("linesize") )); + control->SetLineSize(GetLong(wxT("linesize"))); } - if( HasParam( wxT("thumb") )) + if( HasParam(wxT("thumb"))) { - control->SetThumbLength( GetLong( wxT("thumb") )); + control->SetThumbLength(GetLong(wxT("thumb"))); } - if( HasParam( wxT("tick") )) + if( HasParam(wxT("tick"))) { - control->SetTick( GetLong( wxT("tick") )); + control->SetTick(GetLong(wxT("tick"))); } - if( HasParam( wxT("selmin") ) && HasParam( wxT("selmax")) ) + if( HasParam(wxT("selmin")) && HasParam(wxT("selmax"))) { - control->SetSelection( GetLong( wxT("selmin") ), GetLong( wxT("selmax")) ); + control->SetSelection(GetLong(wxT("selmin")), GetLong(wxT("selmax"))); } SetupWindow(control); - + return control; } - - bool wxSliderXmlHandler::CanHandle(wxXmlNode *node) { return IsOfClass(node, wxT("wxSlider")); } - -#endif +#endif // wxUSE_XRC && wxUSE_SLIDER