diff --git a/etg/htmlwinpars.py b/etg/htmlwinpars.py
index 7ef69e72..b31da414 100644
--- a/etg/htmlwinpars.py
+++ b/etg/htmlwinpars.py
@@ -36,8 +36,7 @@ def run():
c = module.find('wxHtmlWinTagHandler')
assert isinstance(c, etgtools.ClassDef)
- #c.addCppMethod('wxHtmlWinParser*', 'GetParser', '()',
- # body="""return self->m_WParser;""")
+ c.addPrivateCopyCtor()
c = module.find('wxHtmlWinParser')
diff --git a/samples/wxptag/widgetTest.html b/samples/wxptag/widgetTest.html
new file mode 100644
index 00000000..07ecf479
--- /dev/null
+++ b/samples/wxptag/widgetTest.html
@@ -0,0 +1,33 @@
+
+
+
+wxHTML does wxPython!
+
+
+Mixing wxPython and wxHTML
+
+The widgets on this page were created dynamically on the fly by a
+custom wxTagHandler found in wx.lib.wxpTag. You can look at the
+sources and doc-string in the wxPython library at wx/lib/wxpTag.py.
+
+
+The button below is added to the page like this:
+
+
+<center><wxp module="wx" class="Button" width="50%">
+ <param name="label" value="It works!">
+ <param name="id" value="ID_OK">
+</wxp></center>
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/samples/wxptag/wxpTest.py b/samples/wxptag/wxpTest.py
new file mode 100644
index 00000000..cc0eb49b
--- /dev/null
+++ b/samples/wxptag/wxpTest.py
@@ -0,0 +1,30 @@
+import sys, os
+import wx
+import wx.html
+import wx.lib.wxpTag
+
+class HtmlWindow(wx.html.HtmlWindow):
+ def __init__(self, parent, id, size=(600,400)):
+ wx.html.HtmlWindow.__init__(self,parent, id, size=size)
+
+class Frame(wx.Frame):
+ def __init__(self, title):
+ wx.Frame.__init__(self, None, title=title, pos=(150,150), size=(600,400))
+ self.Bind(wx.EVT_CLOSE, self.OnClose)
+
+ hwin = HtmlWindow(self, -1, size=(600,400))
+ name = os.path.join(os.path.dirname(sys.argv[0]), 'widgetTest.html')
+ hwin.LoadPage(name)
+
+ def OnClose(self, event):
+ self.Destroy()
+
+app = wx.App()
+top = Frame("wxpTest")
+top.Show()
+
+import wx.lib.inspection
+wx.lib.inspection.InspectionTool().Show()
+
+app.MainLoop()
+
diff --git a/wx/lib/wxpTag.py b/wx/lib/wxpTag.py
index d052cf7d..bb1a83a3 100644
--- a/wx/lib/wxpTag.py
+++ b/wx/lib/wxpTag.py
@@ -1,12 +1,11 @@
#----------------------------------------------------------------------
-# Name: wxPython.lib.wxpTag
+# Name: wx.lib.wxpTag
# Purpose: A wxHtmlTagHandler that knows how to build and place
# wxPython widgets onto web pages.
#
# Author: Robin Dunn
#
# Created: 13-Sept-1999
-# RCS-ID: $Id$
# Copyright: (c) 1999 by Total Control Software
# Licence: wxWindows license
#----------------------------------------------------------------------
@@ -16,7 +15,7 @@
#
'''
-wxPython.lib.wxpTag
+wx.lib.wxpTag
This module contains a wxHtmlTagHandler that knows how to build
and place wxPython widgets onto wxHtmlWindow web pages.
@@ -140,8 +139,8 @@ class wxpTagHandler(wx.html.HtmlWinTagHandler):
className = tag.GetParam('CLASS')
self.ctx.classObj = getattr(self.ctx.classMod, className)
- if type(self.ctx.classObj) not in [ types.ClassType, types.TypeType]:
- raise TypeError, "WXP tag attribute CLASS must name a class"
+ #if type(self.ctx.classObj) not in [ types.ClassType, types.TypeType]:
+ # raise TypeError, "WXP tag attribute CLASS must name a class"
# now look for width and height
width = -1
@@ -162,13 +161,14 @@ class wxpTagHandler(wx.html.HtmlWinTagHandler):
# create the object
parent = self.GetParser().GetWindowInterface().GetHTMLWindow()
+
if parent:
obj = self.ctx.classObj(parent, **self.ctx.kwargs)
obj.Show(True)
# add it to the HtmlWindow
- self.GetParser().GetContainer().InsertCell(
- wx.html.HtmlWidgetCell(obj, self.ctx.floatWidth))
+ cell = wx.html.HtmlWidgetCell(obj, self.ctx.floatWidth)
+ self.GetParser().GetContainer().InsertCell(cell)
self.ctx = None
return True