// Copyright: (c) 2000 Brian Gavin
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-
-#ifdef __GNUG__
+
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "xh_cald.h"
#endif
#pragma hdrstop
#endif
+#if wxUSE_XRC && wxUSE_CALENDARCTRL
+
#include "wx/xrc/xh_cald.h"
#include "wx/event.h"
#include "wx/calctrl.h"
+IMPLEMENT_DYNAMIC_CLASS(wxCalendarCtrlXmlHandler, wxXmlResourceHandler)
-wxCalendarCtrlXmlHandler::wxCalendarCtrlXmlHandler()
-: wxXmlResourceHandler()
+wxCalendarCtrlXmlHandler::wxCalendarCtrlXmlHandler()
+: wxXmlResourceHandler()
{
- ADD_STYLE(wxCAL_SUNDAY_FIRST);
- ADD_STYLE(wxCAL_MONDAY_FIRST);
- ADD_STYLE(wxCAL_SHOW_HOLIDAYS);
- ADD_STYLE(wxCAL_NO_YEAR_CHANGE);
- ADD_STYLE(wxCAL_NO_MONTH_CHANGE);
+ XRC_ADD_STYLE(wxCAL_SUNDAY_FIRST);
+ XRC_ADD_STYLE(wxCAL_MONDAY_FIRST);
+ XRC_ADD_STYLE(wxCAL_SHOW_HOLIDAYS);
+ XRC_ADD_STYLE(wxCAL_NO_YEAR_CHANGE);
+ XRC_ADD_STYLE(wxCAL_NO_MONTH_CHANGE);
+ XRC_ADD_STYLE(wxCAL_SEQUENTIAL_MONTH_SELECTION);
+ XRC_ADD_STYLE(wxCAL_SHOW_SURROUNDING_WEEKS);
+
AddWindowStyles();
}
wxObject *wxCalendarCtrlXmlHandler::DoCreateResource()
-{
- wxCalendarCtrl *calendar = wxStaticCast(m_instance, wxCalendarCtrl);
-
- if (!calendar)
- calendar = new wxCalendarCtrl;
+{
+ XRC_MAKE_INSTANCE(calendar, wxCalendarCtrl);
calendar->Create(m_parentAsWindow,
GetID(),
GetPosition(), GetSize(),
GetStyle(),
GetName());
-
+
SetupWindow(calendar);
-
+
return calendar;
}
-
-
bool wxCalendarCtrlXmlHandler::CanHandle(wxXmlNode *node)
{
return IsOfClass(node, wxT("wxCalendarCtrl"));
}
-
+#endif // wxUSE_XRC && wxUSE_CALENDARCTRL