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@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.pngSample output:
http://www.shockfamily.net/cedric/grass/newgui2.pngA fake test-script that shows guisections for a command like g.region
http://www.shockfamily.net/cedric/grass/newgui3.pngOutput showing errors and progress bar:
http://www.shockfamily.net/cedric/grass/newgui7.pngFile selection, very wide due to extremely long description text.
This module
would benefit from labels:
http://www.shockfamily.net/cedric/grass/newgui4.pngMultiple selection, same deal:
http://www.shockfamily.net/cedric/grass/newgui5.pngDropdown box, nothing has changed:
http://www.shockfamily.net/cedric/grass/newgui6.pngChanges:
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 attachedgui.tcl also needs icons. To get the icons directory do the
following in
grass6/:
tar xvfz gui-icons.tar.gzI believe a "make install" is all that is needed, but I'm not sure.
Enjoy,
Cedric Shock