Some info on the ongoing SoC XRCed project

Roman Rolinsky rolinsky at femagsoft.com
Thu Jul 5 16:33:30 PDT 2007


Hi all,

For those who are interested in XRCed refactoring progress, I will be
putting more information on-line in a short period. I'm currently busy
preparing an alpha version which can be actually tested^H^H^H^H^H^Hused
by brave souls who like to try the bleeding-edge stuff.

In addition to the initial wxPyWiki page XRCed Refactoring Project I
registered a blog on the "unofficial" planet-soc site:
http://planet-soc.com/blog/259 , where you can find some screenshots of
the new interface and short notes.

Basically what I was doing in June was reorganizing the old code to be
more MVP-like, and implementing the new class structure for the plug-in
components in parallel. Unfortunately I had some health problems in the
first week of June which had made this a slow start (I've managed to
catch a cold when it was around 30 degreeC here!). I was also finishing
a paper for a conference at that time, but that's another story :)

I didn't post here for the reason the code was changing too rapidly to
be followed and the discussions to be productive (IMHO). I had some mail
exchanges with Robin who guided me through the initial stage and
provided valuable comments.

Now the code is getting more stable, at least in the important areas,
and I'll be asking your opinions on some subjects I'm not sure about and
discussing some new ideas.

Actually if you have an SVN client and recent version of wxPython
(preferably 2.8.4) you can try the new interface already by checking out
from SOC2007_XRCED wxPython branch:
https://svn.wxwidgets.org/svn/wx/wxPython/branches/SOC2007_XRCED/wx/tools/XRCed

Then just run "python xrced.py" inside XRCed directory. The main script
is a simplified version at the moment, id does not save config settings
and window sizes.

I'm not sure if it's needed to provide a bundled version (a nightly
snapshot or something), but if somebody asks I can do it.

I work more on Linux/wxGTK at the moment, so there may be some
platform-dependent bugs on Mac and Windows. I usually perform a
cross-platform testing every couple of days.

Basically, everything looks similar to the traditional version at the
moment: there is still a tree control with pull-down menus and a tool
panel which is now separated from the main frame and organized in pages,
with bigger icons (actually screenshots of the real interface elements).
The main difference is that all interface elements are now defined using
so-called component plug-ins, which are loaded from plugin
director(y)(ies) scanned by XRCed at start-up. I'm putting details about
this on wxPyWiki.

The tool panel is inspired by the OSX Interface Builder, it's just a
wxToolbook with wxPanels and wxBitmapButtons. I'm planning to try to use
AUI to make all panels docking in the future.

The test window is a little different too, it is 'persistent' for
non-top-level controls, so should not flicker and steal focus from the
main window. Another new feature is the possibility to test individual
interface elements. Auto-refreshing and highlighting are not yet
refactored, neither are Locate and code generation commands.

The standard component plug-ins are defined using plugins/core.py file.
I will provide a working example of a custom component plug-in soon.

Please do leave comments on the blog or post here if you think something
can be made in a better way, it's the time to influence the development
of the new version now.

Thanks for your attention,

Roman




More information about the wxpython-dev mailing list