]> git.saurik.com Git - wxWidgets.git/blame_incremental - src/xrc/xh_gauge.cpp
use SubclassWin() insteaf of just wxAssociateWinWithHandle() to make sure we generate...
[wxWidgets.git] / src / xrc / xh_gauge.cpp
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: src/xrc/xh_gauge.cpp
3// Purpose: XRC resource for wxGauge
4// Author: Bob Mitchell
5// Created: 2000/03/21
6// RCS-ID: $Id$
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_GAUGE
19
20#include "wx/xrc/xh_gauge.h"
21#include "wx/gauge.h"
22
23IMPLEMENT_DYNAMIC_CLASS(wxGaugeXmlHandler, wxXmlResourceHandler)
24
25wxGaugeXmlHandler::wxGaugeXmlHandler()
26: wxXmlResourceHandler()
27{
28 XRC_ADD_STYLE(wxGA_HORIZONTAL);
29 XRC_ADD_STYLE(wxGA_VERTICAL);
30#if WXWIN_COMPATIBILITY_2_6
31 XRC_ADD_STYLE(wxGA_PROGRESSBAR);
32#endif // WXWIN_COMPATIBILITY_2_6
33 XRC_ADD_STYLE(wxGA_SMOOTH); // windows only
34 AddWindowStyles();
35}
36
37wxObject *wxGaugeXmlHandler::DoCreateResource()
38{
39 XRC_MAKE_INSTANCE(control, wxGauge)
40
41 control->Create(m_parentAsWindow,
42 GetID(),
43 GetLong(wxT("range"), wxGAUGE_DEFAULT_RANGE),
44 GetPosition(), GetSize(),
45 GetStyle(),
46 wxDefaultValidator,
47 GetName());
48
49 if( HasParam(wxT("value")))
50 {
51 control->SetValue(GetLong(wxT("value")));
52 }
53 if( HasParam(wxT("shadow")))
54 {
55 control->SetShadowWidth(GetDimension(wxT("shadow")));
56 }
57 if( HasParam(wxT("bezel")))
58 {
59 control->SetBezelFace(GetDimension(wxT("bezel")));
60 }
61
62 SetupWindow(control);
63
64 return control;
65}
66
67bool wxGaugeXmlHandler::CanHandle(wxXmlNode *node)
68{
69 return IsOfClass(node, wxT("wxGauge"));
70}
71
72#endif // wxUSE_XRC && wxUSE_GAUGE