/////////////////////////////////////////////////////////////////////////////
-// Name: xh_mdi.cpp
-// Purpose: XRC resource for dialogs
+// Name: src/xrc/xh_mdi.cpp
+// Purpose: XRC resource for wxMDI
// Author: David M. Falkinder & Vaclav Slavik
// Created: 14/02/2005
// RCS-ID: $Id$
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "xh_mdi.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#if wxUSE_XRC && wxUSE_MDI
#include "wx/xrc/xh_mdi.h"
-#include "wx/mdi.h"
-#include "wx/dialog.h" // to get wxDEFAULT_DIALOG_STYLE
-#include "wx/log.h"
-#include "wx/intl.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/intl.h"
+ #include "wx/log.h"
+ #include "wx/dialog.h" // to get wxDEFAULT_DIALOG_STYLE
+ #include "wx/mdi.h"
+#endif
IMPLEMENT_DYNAMIC_CLASS(wxMdiXmlHandler, wxXmlResourceHandler)
XRC_ADD_STYLE(wxCAPTION);
XRC_ADD_STYLE(wxDEFAULT_DIALOG_STYLE);
XRC_ADD_STYLE(wxDEFAULT_FRAME_STYLE);
+#if WXWIN_COMPATIBILITY_2_6
XRC_ADD_STYLE(wxTHICK_FRAME);
+#endif // WXWIN_COMPATIBILITY_2_6
XRC_ADD_STYLE(wxSYSTEM_MENU);
XRC_ADD_STYLE(wxRESIZE_BORDER);
+#if WXWIN_COMPATIBILITY_2_6
XRC_ADD_STYLE(wxRESIZE_BOX);
+#endif // WXWIN_COMPATIBILITY_2_6
XRC_ADD_STYLE(wxCLOSE_BOX);
XRC_ADD_STYLE(wxFRAME_NO_TASKBAR);
XRC_ADD_STYLE(wxMINIMIZE_BOX);
XRC_ADD_STYLE(wxSTAY_ON_TOP);
+#if WXWIN_COMPATIBILITY_2_6
XRC_ADD_STYLE(wxNO_3D);
+#endif // WXWIN_COMPATIBILITY_2_6
XRC_ADD_STYLE(wxTAB_TRAVERSAL);
XRC_ADD_STYLE(wxWS_EX_VALIDATE_RECURSIVELY);
XRC_ADD_STYLE(wxFRAME_EX_METAL);
AddWindowStyles();
}
-wxFrame *wxMdiXmlHandler::CreateFrame()
+wxWindow *wxMdiXmlHandler::CreateFrame()
{
if (m_class == wxT("wxMDIParentFrame"))
{
wxMDIParentFrame *mdiParent = wxDynamicCast(m_parent, wxMDIParentFrame);
if ( !mdiParent )
- wxLogError(wxT("Parent is not of type wxMDIParentFrame."));
+ {
+ wxLogError(wxT("Parent of wxMDIParentFrame must be wxMDIParentFrame."));
+ return NULL;
+ }
XRC_MAKE_INSTANCE(frame, wxMDIChildFrame);
wxObject *wxMdiXmlHandler::DoCreateResource()
{
- wxFrame *frame = CreateFrame();
+ wxWindow *frame = CreateFrame();
if (HasParam(wxT("size")))
frame->SetClientSize(GetSize());
if (HasParam(wxT("pos")))
frame->Move(GetPosition());
if (HasParam(wxT("icon")))
- frame->SetIcon(GetIcon(wxT("icon"), wxART_FRAME_ICON));
+ {
+ wxFrame* f = wxDynamicCast(frame, wxFrame);
+ if (f)
+ f->SetIcon(GetIcon(wxT("icon"), wxART_FRAME_ICON));
+ }
SetupWindow(frame);
IsOfClass(node, wxT("wxMDIChildFrame")));
}
-#endif // wxUSE_XRC
+#endif // wxUSE_XRC && wxUSE_MDI