1///////////////////////////////////////////////////////////////////////////// 2// Name: src/xrc/xh_slidr.cpp 3// Purpose: XRC resource for wxSlider 4// Author: Bob Mitchell 5// Created: 2000/03/21 6// RCS-ID: $Id: xh_slidr.cpp 39600 2006-06-06 16:28:58Z ABX $ 7// Copyright: (c) 2000 Bob Mitchell and Verant Interactive 8// Licence: wxWindows licence 9///////////////////////////////////////////////////////////////////////////// 10 11// For compilers that support precompilation, includes "wx.h". 12#include "wx/wxprec.h" 13 14#ifdef __BORLANDC__ 15 #pragma hdrstop 16#endif 17 18#if wxUSE_XRC && wxUSE_SLIDER 19 20#include "wx/xrc/xh_slidr.h" 21 22#ifndef WX_PRECOMP 23 #include "wx/slider.h" 24#endif 25 26IMPLEMENT_DYNAMIC_CLASS(wxSliderXmlHandler, wxXmlResourceHandler) 27 28wxSliderXmlHandler::wxSliderXmlHandler() 29 :wxXmlResourceHandler() 30{ 31 XRC_ADD_STYLE(wxSL_HORIZONTAL); 32 XRC_ADD_STYLE(wxSL_VERTICAL); 33 XRC_ADD_STYLE(wxSL_AUTOTICKS); 34 XRC_ADD_STYLE(wxSL_LABELS); 35 XRC_ADD_STYLE(wxSL_LEFT); 36 XRC_ADD_STYLE(wxSL_TOP); 37 XRC_ADD_STYLE(wxSL_RIGHT); 38 XRC_ADD_STYLE(wxSL_BOTTOM); 39 XRC_ADD_STYLE(wxSL_BOTH); 40 XRC_ADD_STYLE(wxSL_SELRANGE); 41 XRC_ADD_STYLE(wxSL_INVERSE); 42 AddWindowStyles(); 43} 44 45wxObject *wxSliderXmlHandler::DoCreateResource() 46{ 47 XRC_MAKE_INSTANCE(control, wxSlider) 48 49 control->Create(m_parentAsWindow, 50 GetID(), 51 GetLong(wxT("value"), wxSL_DEFAULT_VALUE), 52 GetLong(wxT("min"), wxSL_DEFAULT_MIN), 53 GetLong(wxT("max"), wxSL_DEFAULT_MAX), 54 GetPosition(), GetSize(), 55 GetStyle(), 56 wxDefaultValidator, 57 GetName()); 58 59 if( HasParam(wxT("tickfreq"))) 60 { 61 control->SetTickFreq(GetLong(wxT("tickfreq")), 0); 62 } 63 if( HasParam(wxT("pagesize"))) 64 { 65 control->SetPageSize(GetLong(wxT("pagesize"))); 66 } 67 if( HasParam(wxT("linesize"))) 68 { 69 control->SetLineSize(GetLong(wxT("linesize"))); 70 } 71 if( HasParam(wxT("thumb"))) 72 { 73 control->SetThumbLength(GetLong(wxT("thumb"))); 74 } 75 if( HasParam(wxT("tick"))) 76 { 77 control->SetTick(GetLong(wxT("tick"))); 78 } 79 if( HasParam(wxT("selmin")) && HasParam(wxT("selmax"))) 80 { 81 control->SetSelection(GetLong(wxT("selmin")), GetLong(wxT("selmax"))); 82 } 83 84 SetupWindow(control); 85 86 return control; 87} 88 89bool wxSliderXmlHandler::CanHandle(wxXmlNode *node) 90{ 91 return IsOfClass(node, wxT("wxSlider")); 92} 93 94#endif // wxUSE_XRC && wxUSE_SLIDER 95