Differences between revisions 6 and 9 (spanning 3 versions)
Revision 6 as of 2006-05-23 17:22:45
Size: 4026
Editor: 69-30-77-125
Comment:
Revision 9 as of 2006-05-23 17:56:41
Size: 4229
Editor: bzq-84-108-16-232
Comment:
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
3. A way to define which event handlers the control should handle. The code generator (pywxrc) will then be able to generate empty overridable methods. This one is already on mys list and will hopefully be implemented soon. --EliGolovinsky 3. A way to define which event handlers the control should handle. The code generator (pywxrc) will then be able to generate empty overridable methods. --EliGolovinsky
Line 11: Line 11:
4. Code generation for languages other than Python. I will probably implement the C++ code generation, but maybe we should help our wxRuby and wxPerl friends as well.  --EliGolovinsky 4. Code generation for languages other than Python : starting with C++ and then on to Perl, Ruby and anything else that has wx bindings. --EliGolovinsky
Line 14: Line 14:
   * This could really help the [http://pyxides.stani.be/ pyxides] project. --EliGolovinsky
Line 17: Line 18:
7. A way to select multiple controls for delete / cut / copy --EliGolovinsky 7. A way to select multiple controls for delete / cut / copy. --EliGolovinsky
Line 19: Line 20:
8. The ability to select a group of controls/containers and say "wrap these in a sizer of this kind". --DonDwiggings 8. The ability to select a group of controls/containers and say "wrap these in a sizer of this kind". --DonDwiggins
Line 24: Line 25:
    * This can be done reasonably well by copying a sub-tree from one instance of XRCed and pasting it in another instance. I was really surprised to learn that it actually works well. --EliGolovinsky
Line 35: Line 37:
    * This one will also need changes to the C++ XRC code, but will be an easy modification.     * This one will also need changes to the C++ XRC code, but will be an easy modification. --RobinDunn

XRCed Wish List

1. A simple way to add support for custom (read "written by you") controls. I think it might be really cool to only have to add a function that returns a dict of the attributes that can be set on the control, and then add the module that contains the control to a list somewhere accessible from the XRCed GUI. --EliGolovinsky

  • One way to approach this is to use a plugin-in or drop-in architecture where every widget type has it's own module located in a certain directory. The module contains everything that is needed to allow XRCed to support that widget, (including a wx.xrc.XmlResourHandler if needed) instead of having bits and pieces scattered all around the XRCed code. When XRCed starts up it can load all modules in this directory and build it's menus, control bar, and etc. based on what it finds and loads. --RobinDunn

2. A graphic way to put controls on a container at a fixed position with a fixed size. I even think this should be the default behavior to ease the use of XRCed for first time users. --EliGolovinsky

3. A way to define which event handlers the control should handle. The code generator (pywxrc) will then be able to generate empty overridable methods. --EliGolovinsky

4. Code generation for languages other than Python : starting with C++ and then on to Perl, Ruby and anything else that has wx bindings. --EliGolovinsky

5. Refactor to make it easy to embed XRCed functionality into other applications, such as full fledged IDEs or RAD tools. --RobinDunn

6. An option to always set default 5pt borders on all sides for all new controls. --EliGolovinsky

7. A way to select multiple controls for delete / cut / copy. --EliGolovinsky

8. The ability to select a group of controls/containers and say "wrap these in a sizer of this kind". --DonDwiggins

9. Drag-and-drop of controls for reorganization. One issue I found while trying to use XRCed the other day was that trying to insert a predecessor sibling was a bit of a pain. Offering a drag-and-drop method for moving around entire sections of the tree would be nice. One would need to be careful about whether a drop is 'insert as sibling before', 'insert as sibling after', and 'add as child', though I believe the child case is solvable with temporary dummy controls (you only need to add siblings). --JosiahCarlson

10. Allow importing part of or all of another XRC file into the one being edited. --DonDwiggins

  • This can be done reasonably well by copying a sub-tree from one instance of XRCed and pasting it in another instance. I was really surprised to learn that it actually works well. --EliGolovinsky

11. Provide for "templates" or a kind of macro facility that makes it easy to do common things like label-control pairs. --DonDwiggins

  • For example, this could be implmented by having a Insert Template toolbar item that allows the user to select from a list of named items. When one is selected it simply inserts tree nodes from the template to the current location in the tree. The templates themselves can simply be snippets of XRC XML located in a certain directory (or perhaps a standard location and also a location in the user's documents directory.) We should also allow the user to select part of or all of their current XRC tree and save it as a template. --RobinDunn

12. Allow specifying the size of a window (control or container) in terms other than absolute pixels. For instance, "I want a text control just large enough to hold the string '12345-6789' in the standard font". For another: make this window 110% of the size of that other one (horizontally, vertically, or both). --DonDwiggins

  • This will require modifications to the C++ XRC code, and will probably be a hard sell unless we can come up with a specific and simple set of alternate sizing methods. The percentage method may also need support from the sizers. --RobinDunn

13. Allow specifying one or both of a minimum and maximum size. --DonDwiggins

  • This one will also need changes to the C++ XRC code, but will be an easy modification. --RobinDunn

XRCed Wish List (last edited 2009-09-14 21:55:37 by D-128-95-103-224)

NOTE: To edit pages in this wiki you must be a member of the TrustedEditorsGroup.