// Copyright: (c) 2000 Bob Mitchell and Verant Interactive
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-
-#ifdef __GNUG__
+
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "xh_html.h"
#endif
#pragma hdrstop
#endif
-#include "wx/xrc/xh_html.h"
+#if wxUSE_XRC && wxUSE_HTML
-#if wxUSE_HTML
+#include "wx/xrc/xh_html.h"
#include "wx/html/htmlwin.h"
#include "wx/filesys.h"
+IMPLEMENT_DYNAMIC_CLASS(wxHtmlWindowXmlHandler, wxXmlResourceHandler)
-wxHtmlWindowXmlHandler::wxHtmlWindowXmlHandler()
-: wxXmlResourceHandler()
+wxHtmlWindowXmlHandler::wxHtmlWindowXmlHandler()
+: wxXmlResourceHandler()
{
- ADD_STYLE( wxHW_SCROLLBAR_NEVER );
- ADD_STYLE( wxHW_SCROLLBAR_AUTO );
+ XRC_ADD_STYLE(wxHW_SCROLLBAR_NEVER);
+ XRC_ADD_STYLE(wxHW_SCROLLBAR_AUTO);
+ XRC_ADD_STYLE(wxHW_NO_SELECTION);
AddWindowStyles();
}
wxObject *wxHtmlWindowXmlHandler::DoCreateResource()
-{
- wxHtmlWindow *control = new wxHtmlWindow(m_parentAsWindow,
- GetID(),
- GetPosition(), GetSize(),
- GetStyle( wxT("style" ), wxHW_SCROLLBAR_AUTO),
- GetName()
- );
-
- if( HasParam( wxT("borders") ))
+{
+ XRC_MAKE_INSTANCE(control, wxHtmlWindow)
+
+ control->Create(m_parentAsWindow,
+ GetID(),
+ GetPosition(), GetSize(),
+ GetStyle(wxT("style"), wxHW_SCROLLBAR_AUTO),
+ GetName());
+
+ if (HasParam(wxT("borders")))
{
- control->SetBorders( GetDimension( wxT("borders" )));
+ control->SetBorders(GetDimension(wxT("borders")));
}
- if( HasParam( wxT("url") ))
+ if (HasParam(wxT("url")))
{
- wxString url = GetParamValue(wxT("url" ));
+ wxString url = GetParamValue(wxT("url"));
wxFileSystem& fsys = GetCurFileSystem();
-
+
wxFSFile *f = fsys.OpenFile(url);
if (f)
{
else
control->LoadPage(url);
}
-
- else if( HasParam( wxT("htmlcode") ))
+
+ else if (HasParam(wxT("htmlcode")))
{
- control->SetPage( GetText(wxT("htmlcode")) );
+ control->SetPage(GetText(wxT("htmlcode")));
}
SetupWindow(control);
-
+
return control;
}
-
-
bool wxHtmlWindowXmlHandler::CanHandle(wxXmlNode *node)
{
return IsOfClass(node, wxT("wxHtmlWindow"));
}
-#endif // wxUSE_HTML
+#endif // wxUSE_XRC && wxUSE_HTML