Ed Leafe wrote:
> On Nov 29, 2008, at 4:47 PM, alex wrote:
>
>
>> I've just (re-)started to use Dabo, and I'm struggling a bit with the
>> ClassDesigner. A few questions to get me started :
>>
>> 1. What is the right way to report problems (when they are fairly
>> specific) ?
>>
>
> This is the place. If it turns out to be an actual bug and not just a
> misunderstanding due to holes in the documentation (of which there are
> many!), then you can enter it as an issue on our Trac system
> (http://trac.dabodev.com/
> ).
>
> Also, the version info is critical. The easiest way to get this is to
> run any of the Dabo tools, and choose the Help/About menu. You can see
> all the important info there, and copy it easily so that you can paste
> it in your email.
>
>
Thanks. I'm using
> Platform: Win
> Python Version: 2.5.1 on win32
> Dabo Version: Version 0.8.4; Revision ~4111
> UI Version: 2.8.6.1 on wxMSW
>
so I guess I ned to update via SVN before I can reasonably report
anything as a problem.
>> 2. The ClassDesigner seems fairly fragile; quite often I've made some
>> change, saved the cdxml file, and then the next time I try to re-open
>> the file I get errors (and the file doesn't load, or doesn't load
>> completely). And it seems to be hard to determine whare/what the
>> problem
>> is in the cdxml file. Any suggestions for a strategy on tracking this
>> down, or getting the cdxml file to read in again ? Generally, I can't
>> fully remember the steps leading up to the problem - is the cdxml file
>> itself (and the traceback) enough input for a problem report ?
>>
>
> First, the version you are using is critical. It's been nearly 6
> months since 0.8.4 was released, and an awful lot has changed since
> then.
>
> Specifically, there were some cases where things that were set in the
> Class Designer were not properly persisted to the .cdxml file. All the
> known cases of this have been fixed within the last two months, so if
> you're using the current SVN version, then you've found an outstanding
> bug that needs to be fixed.
>
>
Best example (i.e. I understand it !) is that if I create a TextBox and
set the value to an integer value, then it fails on trying to read the
cdxml back in, with traceback
> Traceback (most recent call last):
> File "C:\Python25\lib\site-packages\wx-2.8-msw-unicode\wx\_core.py",
> line 1435
> 9, in <lambda>
> lambda event: event.callable(*event.args, **event.kw) )
> File "C:\dabo\ide\ClassDesignerFormMixin.py", line 98, in
> restoreSizeAndPositi
> on
> self.saveState()
> File "C:\dabo\ide\ClassDesignerFormMixin.py", line 93, in saveState
> self._savedState = self._getSavedState()
> File "C:\dabo\ide\ClassDesignerFormMixin.py", line 104, in
> _getSavedState
> return self.getDesignerDict(propsToExclude=("Top", "Left"))
> File "C:\dabo\ide\ClassDesignerComponents.py", line 223, in
> getDesignerDict
> ret["children"] = self.getChildrenPropDict(classDict)
> File "C:\dabo\ide\ClassDesignerComponents.py", line 422, in
> getChildrenPropDic
> t
> ret.append(sz.getDesignerDict(itemNum=len(ret), classDict=szDict))
> File "C:\dabo\ide\ClassDesignerComponents.py", line 223, in
> getDesignerDict
> ret["children"] = self.getChildrenPropDict(classDict)
> File "C:\dabo\ide\ClassDesignerComponents.py", line 1013, in
> getChildrenPropDi
> ct
> classDict=winDict)
> File "C:\dabo\ide\ClassDesignerComponents.py", line 188, in
> getDesignerDict
> dv = int(dv)
> ValueError: invalid literal for int() with base 10: ''
> Traceback (most recent call last):
> File "C:\Python25\lib\site-packages\wx-2.8-msw-unicode\wx\_core.py",
> line 1435
> 9, in <lambda>
> lambda event: event.callable(*event.args, **event.kw) )
> File "C:\dabo\ide\ClassDesignerFormMixin.py", line 93, in saveState
> self._savedState = self._getSavedState()
> File "C:\dabo\ide\ClassDesignerFormMixin.py", line 104, in
> _getSavedState
> return self.getDesignerDict(propsToExclude=("Top", "Left"))
> File "C:\dabo\ide\ClassDesignerComponents.py", line 223, in
> getDesignerDict
> ret["children"] = self.getChildrenPropDict(classDict)
> File "C:\dabo\ide\ClassDesignerComponents.py", line 422, in
> getChildrenPropDic
> t
> ret.append(sz.getDesignerDict(itemNum=len(ret), classDict=szDict))
> File "C:\dabo\ide\ClassDesignerComponents.py", line 223, in
> getDesignerDict
> ret["children"] = self.getChildrenPropDict(classDict)
> File "C:\dabo\ide\ClassDesignerComponents.py", line 1013, in
> getChildrenPropDi
> ct
> classDict=winDict)
> File "C:\dabo\ide\ClassDesignerComponents.py", line 188, in
> getDesignerDict
> dv = int(dv)
> ValueError: invalid literal for int() with base 10: ''
> Here's what I would do: right-click on the textbox, and choose 'Add
> Slot Left'. In that slot, add your sizer. To move the textbox, right-
> click on it again and select 'Cut'. Now right-click on the new
> location where you want it, and select 'Paste'. The textbox, with all
> its settings, should now be in the new location. You still have the
> old slot where the textbox was; to get rid of this, right-click on it
> and select 'Delete This Slot'.
>
>
Cool - thanks.
>> and a couple of general ones ...
>>
>> 4. Any plans to support FlexGridSizers ?
>>
>
> No, because we want to keep the approach to sizers as clean as
> possible. I think having a 1-D and a 2-D sizer is sufficient. You can
> achieve any layout possible for a FlexGridSizer with a GridBagSizer
> (the superclass of dGridSizer) by setting the respective RowExpand and
> ColExpand settings to allow "growth" as needed.
>
> Personally, this is one area where I think wx went way overboard, and
> overcomplicated things. When we created Dabo, we didn't blindly copy
> everything wx did; instead, we took the good parts and wrapped the
> "bad" parts so that the result is clean and consistent.
>
>
OK, I'll look into that, thanks.
>> 5. What's the status of MenuDesigner ?
>>
>
> Right now it's in limbo until I can find some time to focus on the
> IDE. And while there are several visual glitches with the Menu
> Designer, especially on Windows, it generally creates usable menu files.
>
>
Hmmm - I couldn't get it top do very much at all. On startup, I get
> Traceback (most recent call last):
> File
> "c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\ui\uiwx\dTreeVie
> w.py", line 1038, in __onTreeSel
> self.raiseEvent(dEvents.TreeSelection, evt)
> File
> "c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\ui\uiwx\dPemMixi
> n.py", line 915, in raiseEvent
> super(dPemMixin, self).raiseEvent(eventClass, nativeEvent, *args,
> **kwargs)
> File
> "c:\python25\lib\site-packages\Dabo-0.8.4-py2.5.egg\dabo\lib\eventMixin.p
> y", line 93, in raiseEvent
> bindingFunction(event)
> File "C:\dabo\ide\ClassDesignerTreeSheet.py", line 79, in onTreeSel
> dui.callAfter(self.Controller.treeSelect)
> AttributeError: 'dApp' object has no attribute 'treeSelect'
Should I retry with latest svn version ?
Any recommendation for svn tools ? Is tortoise svn still the easiest, or
is there another one to try ?
Thanks again
-- Alex
--- StripMime Report -- processed MIME parts ---
multipart/alternative
text/plain (text body -- kept)
text/html
---
_______________________________________________
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]