// Copyright: (c) 2000 Bob Mitchell and Verant Interactive
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-
-#ifdef __GNUG__
+
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "xh_gauge.h"
#endif
#pragma hdrstop
#endif
+#if wxUSE_XRC && wxUSE_GAUGE
+
#include "wx/xrc/xh_gauge.h"
#include "wx/gauge.h"
-#if wxUSE_GAUGE
+IMPLEMENT_DYNAMIC_CLASS(wxGaugeXmlHandler, wxXmlResourceHandler)
-wxGaugeXmlHandler::wxGaugeXmlHandler()
-: wxXmlResourceHandler()
+wxGaugeXmlHandler::wxGaugeXmlHandler()
+: wxXmlResourceHandler()
{
- ADD_STYLE( wxGA_HORIZONTAL );
- ADD_STYLE( wxGA_VERTICAL );
- ADD_STYLE( wxGA_PROGRESSBAR );
- ADD_STYLE( wxGA_SMOOTH ); // windows only
+ XRC_ADD_STYLE(wxGA_HORIZONTAL);
+ XRC_ADD_STYLE(wxGA_VERTICAL);
+ XRC_ADD_STYLE(wxGA_PROGRESSBAR);
+ XRC_ADD_STYLE(wxGA_SMOOTH); // windows only
AddWindowStyles();
}
wxObject *wxGaugeXmlHandler::DoCreateResource()
-{
- wxGauge *control = wxStaticCast(m_instance, wxGauge);
-
- if (!control)
- control = new wxGauge;
+{
+ XRC_MAKE_INSTANCE(control, wxGauge)
control->Create(m_parentAsWindow,
GetID(),
- GetLong( wxT("range"), wxGAUGE_DEFAULT_RANGE),
+ GetLong(wxT("range"), wxGAUGE_DEFAULT_RANGE),
GetPosition(), GetSize(),
GetStyle(),
wxDefaultValidator,
GetName());
- if( HasParam( wxT("value") ))
+ if( HasParam(wxT("value")))
{
- control->SetValue( GetLong( wxT("value") ));
+ control->SetValue(GetLong(wxT("value")));
}
- if( HasParam( wxT("shadow") ))
+ if( HasParam(wxT("shadow")))
{
- control->SetShadowWidth( GetDimension( wxT("shadow") ));
+ control->SetShadowWidth(GetDimension(wxT("shadow")));
}
- if( HasParam( wxT("bezel") ))
+ if( HasParam(wxT("bezel")))
{
- control->SetBezelFace( GetDimension( wxT("bezel") ));
+ control->SetBezelFace(GetDimension(wxT("bezel")));
}
SetupWindow(control);
-
+
return control;
}
-
-
bool wxGaugeXmlHandler::CanHandle(wxXmlNode *node)
{
return IsOfClass(node, wxT("wxGauge"));
}
-
-#endif // wxUSE_GAUGE
+#endif // wxUSE_XRC && wxUSE_GAUGE