/////////////////////////////////////////////////////////////////////////////
-// 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);
{
XRC_MAKE_INSTANCE(frame, wxMDIParentFrame);
- ((wxMDIParentFrame*)frame)->Create(m_parentAsWindow,
+ frame->Create(m_parentAsWindow,
GetID(),
GetText(wxT("title")),
wxDefaultPosition, wxDefaultSize,
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);
- ((wxMDIChildFrame*) frame)->Create(mdiParent,
+ frame->Create(mdiParent,
GetID(),
GetText(wxT("title")),
wxDefaultPosition, wxDefaultSize,
frame->SetClientSize(GetSize());
if (HasParam(wxT("pos")))
frame->Move(GetPosition());
- if (HasParam(wxT("icon")) && frame->IsKindOf(CLASSINFO(wxFrame)))
+ if (HasParam(wxT("icon")))
{
- wxFrame* f = wxDynamicCast(f, wxFrame);
- f->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