Author: johnf
Posted: 2009-06-26 at 13:50:26
On Friday 26 June 2009 10:32:35 am Mike Mabey wrote:
> Hi everyone,
>
> I've got an app that has a dPageFrame separating the various functions.
> One of the pages is dedicated as a Help tab. I discovered the dHtmlBox
> widget and thought this might be a good way to display a help page inside
> the app. The problem is I've been trying to link the dHtmlBox widget to a
> locally stored .htm file with no success. Here's what I've tried:
>
> - Putting the file name inthe Source property. Then I figured out that
> this was for displaying HTML source code.
> - Putting the file name in the Page property. According to what I
> understand from the documentation, this should have worked, but the
> widget kept trying to find http://help.htm
> - Setting the dHtmlBox's Page property to os.path.join(os.getcwd(),
> 'help.htm') when the form initializes. The problem I ran into doing it
> this way was setting the RegID of the dHtmlBox. I don't know why, but in
> ClassDesigner, I could only type numbers and the letter 'e' in the RegID
> field of the Object Info window. I tried setting it manually in the .cdxml
> file, but when I ran the code, I got the following error:
>
> Traceback (most recent call last):
> File "PreferenceManager.py", line 22, in <module>
> main()
> File "PreferenceManager.py", line 15, in main
> app.start()
> File "C:\Python25\lib\site-packages\dabo\dApp.py", line 372, in start
> self.setup()
> File "C:\Python25\lib\site-packages\dabo\dApp.py", line 328, in setup
> self.initUIApp()
> File "C:\Python25\lib\site-packages\dabo\dApp.py", line 364, in initUIApp
> self.uiApp.setup()
> File "C:\Python25\lib\site-packages\dabo\ui\uiwx\uiApp.py", line 412, in
> setup
> frm = self.dApp.MainForm = dabo.ui.createForm(mfc)
> File "C:\Python25\lib\site-packages\dabo\ui\uiwx\__init__.py", line 1145,
> in createForm
> frm = cls(*args, **kwargs)
> File "c:\users\ecegra~1\appdata\local\temp\tmpeow3q3.py", line 9, in
> __init__
> super(dForm_31058, self).__init__(parent=parent,
> attProperties=attProperties, *args, **kwargs)
> File "C:\Python25\lib\site-packages\dabo\ui\uiwx\dForm.py", line 931, in
> __init__
> BaseForm.__init__(self, preClass, parent, properties, attProperties,
> *args,**kwargs)
> File "C:\Python25\lib\site-packages\dabo\ui\uiwx\dForm.py", line 44, in
> __init__
> fm.dFormMixin.__init__(self, preClass, parent, properties,
> attProperties, *args, **kwargs)
> File "C:\Python25\lib\site-packages\dabo\ui\uiwx\dFormMixin.py", line 89,
> in __init__
> attProperties, *args, **kwargs)
> File "C:\Python25\lib\site-packages\dabo\ui\uiwx\dPemMixin.py", line 86,
> in __init__
> self._initProperties()
> File "C:\Python25\lib\site-packages\dabo\dObject.py", line 177, in
> _initProperties
> self.initProperties()
> File "c:\users\ecegra~1\appdata\local\temp\tmpeow3q3.py", line 585, in
> initProperties
> self.Form.HelpPage.Page = tmp
> AttributeError: 'NoneType' object has no attribute 'HelpPage'
>
> Obviously, the string I set as the RegID was 'HelpPage'. I am trying to
> change the property with the following code:
>
> def initProperties(self):
> self.ShowStatusBar = False
> tmp = os.path.join(os.getcwd(), 'help.htm')
> print "Opening "+str(tmp)
> self.Form.HelpPage.Page = os.path.join(os.getcwd(), 'help.htm')
>
> The initProperties() method belongs to the dForm object. I'm not sure if
> that's where I should have put it, but I was trying a few different places
> and none of them seemed to make any more sense or work any better than
> this.
>
> I'm sorry this is such a complicated problem, but any help you can offer
> would be very appreciated. Oh, and by the way, I'm running Python 2.5 in
> Win Vista Pro under revision 5270.
>
> Thanks,
> Mike M.
Mike, I can't confirm entering the RegID problem with ClassDesigner. I had no
trouble. Of course I tested on Linux and NOT windows (maybe a vista thing).
Can you post a simple test case? I'll test on XP and Linux.
--
John Fabiani