I  know that using sizers is the preferred and recommended way to go 
.... but sometimes it's easier not to do that. So I wrote a tiny 
non-sizer-based program, which works just fine.

> #!/usr/bin/env python
> # -*- coding: utf-8 -*-
> import random
> import dabo
> from dabo.dLocalize import _
> dabo.ui.loadUI("wx")
>
>
> class MyButton(dabo.ui.dButton):
>     def initProperties(self):
>         self.Caption = "Hit me"
>         self.Left = 40
>         self.Top = 100
>
>     def onHit(self, evt):
>         self.Caption = "again"
>
>             
> class MyForm(dabo.ui.dForm):
>     def afterInit(self):
>         ib = MyButton(self)
>         self.Centered = True
>         self.Caption = "My tiny non-sizer app"
>
> def main():
>     app = dabo.dApp(MainFormClass=MyForm)
>     app.start()
>     
>
> if __name__ == "__main__":
>     main()
>
but if I change one line

>         self.Top = 100
to be
>         self.Bottom = 100

I get the following traceback:

Dabo Info Log: Tue Dec 02 22:49:10 2008: 0 database connection 
definition(s)  loaded.
Dabo Info Log: Tue Dec 02 22:49:10 2008: User interface already set to 
'wx', so dApp didn't touch it.
Dabo Info Log: Tue Dec 02 22:49:10 2008: wxPython Version: 2.8.6.1 wxMSW 
(unicode)
Traceback (most recent call last):
  File "C:\Users\Alex\Documents\Programming\MyDabo\tiny-static.py", line 
31, in
<module>
    main()
  File "C:\Users\Alex\Documents\Programming\MyDabo\tiny-static.py", line 
27, in
main
    app.start()
  File 
"c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\dApp.py", line 3
12, in start
    self.setup()
  File 
"c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\dApp.py", line 2
77, in setup
    self.initUIApp()
  File 
"c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\dApp.py", line 3
04, in initUIApp
    self.uiApp.setup()
  File 
"c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\ui\uiwx\uiApp.py
", line 279, in setup
    frm = self.dApp.MainForm = mfc()
  File 
"c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\ui\uiwx\dForm.py
", line 894, in __init__
    BaseForm.__init__(self, preClass, parent, properties, attProperties, 
*args,
**kwargs)
  File 
"c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\ui\uiwx\dForm.py
", line 43, in __init__
    fm.dFormMixin.__init__(self, preClass, parent, properties, 
attProperties, *a
rgs, **kwargs)
  File 
"c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\ui\uiwx\dFormMix
in.py", line 73, in __init__
    attProperties, *args, **kwargs)
  File 
"c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\ui\uiwx\dPemMixi
n.py", line 179, in __init__
    self._afterInit()
  File 
"c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\ui\uiwx\dForm.py
", line 69, in _afterInit
    super(BaseForm, self)._afterInit()
  File 
"c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\ui\uiwx\dFormMix
in.py", line 133, in _afterInit
    super(dFormMixin, self)._afterInit()
  File 
"c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\ui\uiwx\dPemMixi
n.py", line 312, in _afterInit
    self.afterInit()
  File "C:\Users\Alex\Documents\Programming\MyDabo\tiny-static.py", line 
21, in
afterInit
    ib = MyButton(self)
  File 
"c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\ui\uiwx\dButton.
py", line 32, in __init__
    *args, **kwargs)
  File 
"c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\ui\uiwx\dPemMixi
n.py", line 81, in __init__
    self._initProperties()
  File 
"c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\dObject.py", lin
e 155, in _initProperties
    self.initProperties()
  File "C:\Users\Alex\Documents\Programming\MyDabo\tiny-static.py", line 
13, in
initProperties
    self.Bottom = 100
  File 
"c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\ui\dPemMixinBase
.py", line 182, in _setBottom
    self.Top = int(bottom) - self.Height
  File 
"c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\ui\uiwx\dPemMixi
n.py", line 2052, in _getHeight
    return self.GetSize()[1]
  File "C:\Python25\lib\site-packages\wx-2.8-msw-unicode\wx\_core.py", 
line 8637
, in GetSize
    return _core_.Window_GetSize(*args, **kwargs)
TypeError: in method 'Window_GetSize', expected argument 1 of type 
'wxWindow con
st *'
 >>>

Thanks
-- Alex.


_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message: http://leafe.com/archives/byMID/[EMAIL PROTECTED]

Reply via email to