[GRASS5] New gui.tcl generic user interface

benducke at compuserve.de benducke at compuserve.de
Tue Mar 14 03:06:13 EST 2006


I also think that, as many new convenienve functions get added to the
GUI forms, it will probably prove a better approach to not add icons or
buttons for all of them but rather have a regular menu bar at the
top of each form that can be conveniently enhanced with new functions
without having to think about form layout and GUI size each time.

A menubar on top of each form could easily provide room for entries for
such things as session management, outputing current option values to
an ASCII file (reading from on), a form list with open forms (grouped by
type), etc. All fancy stuff that could be added in the future!

Best,

Benjamin

----- Originalnachricht -----
Von: Cedric Shock <cedricgrass at shockfamily.net>
Datum: Dienstag, 14. März 2006 4:34 am
Betreff: [GRASS5] New gui.tcl generic user interface

> Good evening,
> 
> I have hammered out a new gui.tcl. This is the file that produces 
> the generic 
> graphical user interface for all of the other programs.
> 
> 
> Screenshots:
> 
> g.region, as it first comes up:
> http://www.shockfamily.net/cedric/grass/newgui1.png
> 
> Sample output:
> http://www.shockfamily.net/cedric/grass/newgui2.png
> 
> A fake test-script that shows guisections for a command like g.region
> http://www.shockfamily.net/cedric/grass/newgui3.png
> 
> Output showing errors and progress bar:
> http://www.shockfamily.net/cedric/grass/newgui7.png
> 
> File selection, very wide due to extremely long description text. 
> This module 
> would benefit from labels:
> http://www.shockfamily.net/cedric/grass/newgui4.png
> 
> Multiple selection, same deal:
> http://www.shockfamily.net/cedric/grass/newgui5.png
> 
> Dropdown box, nothing has changed:
> http://www.shockfamily.net/cedric/grass/newgui6.png
> 
> 
> Changes:
> 
> Options and Output are now displayed in tabs instead of panes
> 
> There is a new command label which shows the current command as it 
> is edited. 
> It has a button for copying the command to the clipboard. (Might be 
> worth 
> noting in wish 2074)
> 
> Programs reporting guisections will have a tab made for options in 
> each 
> toplevel section. Finer section grouping is obeyed, but no labels 
> are created 
> or displayed.
> 
> The options frames scroll with the mouse wheel.
> 
> If possible the window opens wide enough to display its contents. 
> This is 
> accomplished by adding a binding to the scrolled frames which 
> report their 
> widths to their parent frames.
> 
> Programs using the label and description attributes on options or 
> tabs will 
> now have the description displayed as balloon help.
> 
> The help button is not enabled if no help file exists for the 
> program. (closes 
> wish 3799)
> 
> The type and required text for options is displayed right justified.
> 
> Module information is displayed differently. Both the label and 
> description 
> are displayed if available. Module is displayed with an icon if a 
> matching 
> one can be found in $(GISBASE)/etc/icons. See /gui/icons/README for 
> more 
> information.
> 
> Buttons for file selection are displayed with an open file icon.
> 
> Buttons for selecting database elements and symbols are displayed 
> with an icon 
> if a matching one can be found in $(GISBASE)/etc/icons.
> 
> It is now possible to determine when a command has finished 
> executing. Output 
> text has an added graphic along with the command text when the 
> command is 
> run. When the command finishes another graphic is displayed along 
> with the 
> text "Done."
> 
> 
> Testing:
> Ran lots of different commands both from the console and from 
> gis.m. Only 
> tested against tcl/tk 8.4 on Ubuntu Linux.
> 
> 
> Patch:
> Patch of lib/gis/gui.tcl and gui/Makefile is attached
> 
> gui.tcl also needs icons. To get the icons directory do the 
> following in 
> grass6/:
> tar xvfz gui-icons.tar.gz
> 
> I believe a "make install" is all that is needed, but I'm not sure.
> 
> 
> Enjoy,
> 
> Cedric Shock
> 




More information about the grass-dev mailing list