]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xh_cald.cpp
Allow wx parents a chance to handle events fired by non-wx children. (i.e. wxActiveX...
[wxWidgets.git] / src / xrc / xh_cald.cpp
index 4fba39eb75b8e5c2bd4dd282860cbcef87f5e1e0..3259a04e1c40bfc5ca3f276d82561d064519ec26 100644 (file)
@@ -7,10 +7,6 @@
 // Copyright:   (c) 2000 Brian Gavin
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
-#pragma implementation "xh_cald.h"
-#endif
 
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
     #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(),
@@ -50,17 +49,15 @@ wxObject *wxCalendarCtrlXmlHandler::DoCreateResource()
                      GetPosition(), GetSize(),
                      GetStyle(),
                      GetName());
-    
+
     SetupWindow(calendar);
-    
+
     return calendar;
 }
 
-
-
 bool wxCalendarCtrlXmlHandler::CanHandle(wxXmlNode *node)
 {
     return IsOfClass(node, wxT("wxCalendarCtrl"));
 }
 
-
+#endif // wxUSE_XRC && wxUSE_CALENDARCTRL