Size: 5799
Comment:
|
Size: 6950
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
'''NOTE:''' Some of these are already completed, or have been partially implemented. They should either be marked in some way, or moved to a "Completed" section. --RobinDunn | |
Line 3: | Line 4: |
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 ''(big change)''. --EliGolovinsky |
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 ''(big change)''.)-- --EliGolovinsky |
Line 7: | Line 7: |
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 ''(big change)''. --EliGolovinsky | * See [[XRCed Refactoring Project]]. --RomanRolinsky |
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 ''(medium change)''. --EliGolovinsky | 1. 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 ''(big change)''. --EliGolovinsky |
Line 11: | Line 11: |
4. Code generation for languages other than Python : starting with C++ and then on to Perl, Ruby and anything else that has wx bindings ''(small change per language)''. --EliGolovinsky | 1. --(A way to define which event handlers the control should handle. The code generator (pywxrc) will then be able to generate empty overridable methods ''(medium change)''.)-- --EliGolovinsky |
Line 13: | Line 13: |
5. Refactor to make it easy to embed XRCed functionality into other applications, such as full fledged IDEs or RAD tools ''(big change?)''. --RobinDunn * This could really help the [http://pyxides.stani.be/ pyxides] project. --EliGolovinsky |
1. Code generation for languages other than Python : starting with C++ and then on to Perl, Ruby and anything else that has wx bindings ''(small change per language)''. --EliGolovinsky |
Line 16: | Line 15: |
6. An option to always set default 5pt borders on all sides for all new controls. This can also be implemented as a "set borders" function that will set the same border width and flags for all the selected controls (or all the child-controls of a container) ''(medium change)''. --EliGolovinsky | 1. Refactor to make it easy to embed XRCed functionality into other applications, such as full fledged IDEs or RAD tools ''(big change?)''. --RobinDunn * This could really help the [[http://pyxides.stani.be/|pyxides]] project. --EliGolovinsky |
Line 18: | Line 18: |
7. A way to select multiple controls for delete / cut / copy ''(small change?)'' --EliGolovinsky | 1. An option to always set default 5pt borders on all sides for all new controls. This can also be implemented as a "set borders" function that will set the same border width and flags for all the selected controls (or all the child-controls of a container) ''(medium change)''. --EliGolovinsky |
Line 20: | Line 20: |
8. The ability to select a group of controls/containers and say "wrap these in a sizer of this kind" ''(small change?)''. --DonDwiggins | 1. A way to select multiple controls for --(delete)-- / cut / copy ''(small change?)'' --EliGolovinsky |
Line 22: | Line 22: |
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) ''(medium change)''. --JosiahCarlson | 1. The ability to select a group of controls/containers and say "wrap these in a sizer of this kind" ''(small change?)''. --DonDwiggins |
Line 24: | Line 24: |
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 * That's definitely good to have but actually, I was thinking of something like Python's import (IIRC, there's a couple of XML constructs for this). --DonDwiggins |
1. 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) ''(medium change)''. --JosiahCarlson |
Line 28: | Line 26: |
11. Provide for "templates" or a kind of macro facility that makes it easy to do common things like label-control pairs ''(small change?)''. --DonDwiggins | 1. 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 * That's definitely good to have but actually, I was thinking of something like Python's import (IIRC, there's a couple of XML constructs for this). --DonDwiggins |
Line 30: | Line 30: |
* 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 | 1. Provide for "templates" or a kind of macro facility that makes it easy to do common things like label-control pairs ''(small change?)''. --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 |
Line 32: | Line 33: |
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 | 1. 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 |
Line 34: | Line 36: |
* 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 | 1. Allow specifying one or both of a minimum and maximum size ''(small change)''. --DonDwiggins * This one will also need changes to the C++ XRC code, but will be an easy modification. --RobinDunn |
Line 36: | Line 39: |
13. Allow specifying one or both of a minimum and maximum size ''(small change)''. --DonDwiggins | 1. --(Define defaults for sizer flags for different controls : panels should be added with wx.EXPAND and proportion=1, and buttons without wx.EXPAND and proportion=0. There should be an options dialog to make those things configurable ''(medium change)''.)-- --EliGolovinsky (stolen shamelessly from Ed Leafe and DaboUI :) * "Preferences" dialog added. --RomanRolinsky |
Line 38: | Line 42: |
* This one will also need changes to the C++ XRC code, but will be an easy modification. --RobinDunn | 1. --(Rename the 'option' arument to 'proportion' like it should be and like it is named in the code ''(small change)''.)-- --EliGolovinsky |
Line 40: | Line 44: |
14. Define defaults for sizer flags for different controls : panels should be added with wx.EXPAND and proportion=1, and buttons without wx.EXPAND and proportion=0. There should be an options dialog to make those things configurable ''(medium change)''. --EliGolovinsky (stolen shamelessly from Ed Leafe and DaboUI :) | 1. Create shortcut buttons for alignment and proportion (like the ones used in wxDesigner) ''(medium change)''. --EliGolovinsky |
Line 42: | Line 46: |
15. Rename the 'option' arument to 'proportion' like it should be and like it is named in the code ''(small change)''. --EliGolovinsky | 1. --(Enable the Save button after any change in a node, instead of waiting until the user selects a different node ''(small change)''.)-- --RobinDunn |
Line 44: | Line 48: |
16. Create shortcut buttons for alignment and proportion (like the ones used in wxDesigner) ''(medium change)''. --EliGolovinsky | 1. --(Replace the control icons with better looking ones ''(medium change)''.)-- --EliGolovinsky |
Line 46: | Line 50: |
17. Enable the Save button after any change in a node, instead of waiting until the user selects a different node ''(small change)''. --RobinDunn | 1. Allow the "separator" to insert a line between Toolbar buttons as it does for MenuItems (whereas now it just adds extra space) ''(small change)''. --JohnSalerno * It is the native toolbar class that decides how a separator is rendered. XRC or XRCed has nothing to do with it. --RobinDunn |
Line 48: | Line 53: |
18. Replace the control icons with better looking ones ''(medium change)''. --EliGolovinsky | * As a workaround wxStaticLine with wxLI_VERTICAL style can be added to toolbar. --RomanRolinsky |
Line 50: | Line 55: |
19. Allow the "separator" to insert a line between Toolbar buttons as it does for MenuItems (whereas now it just adds extra space) ''(small change)''--JohnSalerno | === Comments === Should we re-number this list so that each item starts with "1." and let the wiki take care of automatically numbering them? --JohnSalerno Probably. --RobinDunn Done. --JohnSalerno What do we do with completed items? --RomanRolinsky --(How about to cross them?)-- --techtonik ---- (Franz Steinhaeusler) My humble wish: 1) Export XRC code to pure python code and 2) vice versa (scan python code and generate XRC files) I'm aware it is not that easy especially the second one, anyway the second one has low priority for me, but it would be nice. ;) |
XRCed Wish List
NOTE: Some of these are already completed, or have been partially implemented. They should either be marked in some way, or moved to a "Completed" section. --RobinDunn
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 (big change). --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
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 (big change). --EliGolovinsky
A way to define which event handlers the control should handle. The code generator (pywxrc) will then be able to generate empty overridable methods (medium change). --EliGolovinsky
Code generation for languages other than Python : starting with C++ and then on to Perl, Ruby and anything else that has wx bindings (small change per language). --EliGolovinsky
Refactor to make it easy to embed XRCed functionality into other applications, such as full fledged IDEs or RAD tools (big change?). --RobinDunn
This could really help the pyxides project. --EliGolovinsky
An option to always set default 5pt borders on all sides for all new controls. This can also be implemented as a "set borders" function that will set the same border width and flags for all the selected controls (or all the child-controls of a container) (medium change). --EliGolovinsky
A way to select multiple controls for delete / cut / copy (small change?) --EliGolovinsky
The ability to select a group of controls/containers and say "wrap these in a sizer of this kind" (small change?). --DonDwiggins
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) (medium change). --JosiahCarlson
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
That's definitely good to have but actually, I was thinking of something like Python's import (IIRC, there's a couple of XML constructs for this). --DonDwiggins
Provide for "templates" or a kind of macro facility that makes it easy to do common things like label-control pairs (small change?). --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
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
Allow specifying one or both of a minimum and maximum size (small change). --DonDwiggins
This one will also need changes to the C++ XRC code, but will be an easy modification. --RobinDunn
Define defaults for sizer flags for different controls : panels should be added with wx.EXPAND and proportion=1, and buttons without wx.EXPAND and proportion=0. There should be an options dialog to make those things configurable (medium change). --EliGolovinsky (stolen shamelessly from Ed Leafe and DaboUI
"Preferences" dialog added. --RomanRolinsky
Rename the 'option' arument to 'proportion' like it should be and like it is named in the code (small change). --EliGolovinsky
Create shortcut buttons for alignment and proportion (like the ones used in wxDesigner) (medium change). --EliGolovinsky
Enable the Save button after any change in a node, instead of waiting until the user selects a different node (small change). --RobinDunn
Replace the control icons with better looking ones (medium change). --EliGolovinsky
Allow the "separator" to insert a line between Toolbar buttons as it does for MenuItems (whereas now it just adds extra space) (small change). --JohnSalerno
It is the native toolbar class that decides how a separator is rendered. XRC or XRCed has nothing to do with it. --RobinDunn
As a workaround wxStaticLine with wxLI_VERTICAL style can be added to toolbar. --RomanRolinsky
Comments
Should we re-number this list so that each item starts with "1." and let the wiki take care of automatically numbering them? --JohnSalerno
Probably. --RobinDunn
Done. --JohnSalerno
What do we do with completed items? --RomanRolinsky
How about to cross them? --techtonik
(Franz Steinhaeusler)
My humble wish:
1) Export XRC code to pure python code and
2) vice versa (scan python code and generate XRC files)
I'm aware it is not that easy especially the second one, anyway the second one has low priority for me, but it would be nice.