[GRASS-dev] Standalone GUI modules: Makefile
Vaclav Petras
wenzeslaus at gmail.com
Fri Nov 9 05:49:56 PST 2012
Hi devs,
before asking for help I will introduce you to the topic. In r52629
[1] I tried to implement the idea of standalone GUI modules for Map
Swipe. These modules should be similar to wxGUI components but they
are intended to be launched in the same way as standard modules.
The implementation is simple. You create a file file similar to a file
for python script. But you start wx application and set up the wxGUI
component. As an example you can see mapswipe/g.gui.mapswipe.py which
you can run like this:
g.gui.mapswipe first=map_before second=map_after
The standalone window is the same as you get from the main menu in the
main GUI. You probably see the advantages of this approach. The GUI
will be forced to be more modular and the modularity will be
maintained because users can actually use the standalone modules. The
main idea is to make GUI to be more like the rest of GRASS. The best
part is that this can easily coexist with the idea of one big main GUI
application.
Now, I'm asking for help with Makefile for this module. Martin helped
me a lot in identifying what has to be done and he prepared the
Makefile [2]. But this Makefile need to be generalized in order to
avoid code duplication. I'm not able to do it so I'm asking you to
help.
Basically, the necessary steps are:
1. copy the g.gui.modulename.py to scripts and create standard module
documentation (then you can run g.gui.mapswipe and g.manual
g.gui.mapswipe)
2. remove tmp file with documentation (to behave as a wxGUI component)
3. create wxGUI component documentation (then you can run g.manual
wxGUI.MapSwipe)
Module directory has to be added to gui/wxpython/Makefile in order to
call make in wxGUI module directory (mapswipe in this case). This is
of course expected. However, that is the third directory name
occurrence in this Makefile. Some clever solution is needed here too.
Everything is open for a discussion so the Makefile tasks may change.
But I hope that the current solution is good enough to be fully
implemented (this means, please, help with the Makefile).
You can study the current solution from the sources [3]. The latest
changes were: moving a documentation, renaming the main.py file and
the Makefile (r53733-r53737).
Vaclav
[1] http://trac.osgeo.org/grass/changeset/52629
[2] http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/mapswipe/Makefile?rev=53737
[3] http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/mapswipe/
More information about the grass-dev
mailing list