Carl Karsten wrote:
> Ed Leafe wrote:
>> On Jan 4, 2007, at 4:30 PM, Carl Karsten wrote:
>>
>>> How about keeping the class code in the cdxml, which will promote
>>> the "event's
>>> call methods" practice: the .hit code in the cdxml will just be
>>> something.ImHit() in some module that can be edited with my
>>> favorite editor?
>> Does your editor properly handle Python code within XML? Does it
>> know to switch syntax coloring and block comment style when you move
>> from an XML section to Python code in a CDATA section?
>
> "in some module that can be edited" is a normal .py file, not the xml. so
> yes,
> it handles all the xml just fine. :)
>
> Now that I think about it can see it being attribute driven, so no code in
> the
> cdxml at all.
>
>> the overwhelming choice of users is to keep the Python
>> code in a separate file.
>
> right - keep the python code in one file and the layout in the cdxml.
>
>> Of course, that's something you can
>> configure for yourself (Menu: File/Single File for Layout and Code)
>
> There isn't any backwards compatability issues, right? dump that option and
> the
> code editor window all together. make your life simpler.
>
Why? Some people might prefer to only use the IDE instead of their
favorite editor.
>
>>> There shouldn't be lots of code in the UI anyway, right?
>> There should be as much as is needed.
>
> I suggest none is needed.
>
>> Look as the ClassDesigner*.py
>> files: they are 100% UI code. Is that too much?
>
> We must have a different idea of what UI code is.
>
> to me, this is not UI:
>
> xml = xtd.dicttoxml(propDict)
> # Try opening the file. If it is read-only, it will raise an
> # IOError that the calling method can catch.
> open(clsFile, "wb").write(xml)
>
> so maybe UI isn't a good term to use. How about skin?
Layout and code! (You said it.)
>
> To me, this is mostly skin: ClassDesignerMenu.py - When I look at it (the
> file)
> I can get a feel for what I will see when it runs, but no idea what will
> actually happens when I start interacting with it (other than what I can
> infer
> from the method names.) It is more of a config file written in code. I can
> see
> that being replaced by a cdxml and a loader. In witch case, the cdxml editor
> doesn't need to edit any code.
>
> ClassDesignerMenu.py has this line:
>
> itm = fm.prepend(_("Save as C&lass\tCtrl+Shift+S"),
> bindfunc=app.onSaveClassDesign, help=_("Save the ClassDesigner contents as a
> class"))
>
> which calls the .write() code from ClassDesignerFormMixin.py. That file
> contains no skin. I don't see anything that could be edited with a visual
> GUI
> editor like the class designer.
>
> So nice separation of skin from ... bones.
>
> I am guessing this is how you normally write code. or at least consider it a
> good practice, right?
>
> Carl K
>
If you look at boa-constructor you can see that they wrote layout-code
and user-defined code in one file.
This is sometimes more complicated as the dabo way seperating layout and
code in different files (as Ed teached me).
Uwe
Uwe
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev