Re: [GRASS-dev] [GRASS GIS] #1978: module GUIs: or enter values interactively should be opt-in
#1978: module GUIs: or enter values interactively should be opt-in +--- Reporter: hamish | Owner: grass-dev@… Type: defect | Status: new Priority: normal | Milestone: 6.4.4 Component: wxGUI | Version: svn-trunk Keywords: parser |Platform: All Cpu: All | +--- Comment(by annakrat): Replying to [comment:2 hamish]: If term 2 (element) is file, trunk's libgis checks to see if the file already exists insists on --overwrite. So for file input= and output= term 2 should probably stay as file. This also means that the GUI should use term 2 (element) to decide if there should be a file [Browse] button present, instead of term 3 (prompt/description) as it does now. so that leaves the switch for deciding on a text input box to be based on the third term (prompt/description). (as far as gui/wxpython/gui_core/forms.py is concerned) so e.g. for r.in.mat we have this info from --interface-description gisprompt age=old element=mat prompt=file / `element` would go back to file, and term 3, `prompt` (aka description), would change from file to text (or bin or generic file). And the or enter text interactively box would be made to only show up if `prompt` was text. I agree. file as element and text or bin as prompt (this is what you mean, is it?). Currently it's the opposite way. Apart from bin, grep shows also camera or font - is there any reason to keep them? -- Ticket URL: https://trac.osgeo.org/grass/ticket/1978#comment:3 GRASS GIS http://grass.osgeo.org ___ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev
Re: [GRASS-dev] [GRASS GIS] #1978: module GUIs: or enter values interactively should be opt-in
#1978: module GUIs: or enter values interactively should be opt-in +--- Reporter: hamish | Owner: grass-dev@… Type: defect | Status: new Priority: normal | Milestone: 6.4.4 Component: wxGUI | Version: svn-trunk Keywords: parser |Platform: All Cpu: All | +--- Comment(by mmetz): Replying to [comment:3 annakrat]: Apart from bin, grep shows also camera or font - is there any reason to keep them? Regarding camera, please keep it as an element (as in g.findfile element=camera), it is used by the orthorectification modules. -- Ticket URL: https://trac.osgeo.org/grass/ticket/1978#comment:4 GRASS GIS http://grass.osgeo.org ___ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev
Re: [GRASS-dev] [GRASS GIS] #1978: module GUIs: or enter values interactively should be opt-in
#1978: module GUIs: or enter values interactively should be opt-in +--- Reporter: hamish | Owner: grass-dev@… Type: defect | Status: new Priority: normal | Milestone: 6.4.4 Component: wxGUI | Version: svn-trunk Keywords: parser |Platform: All Cpu: All | +--- Comment(by hamish): (just to clarify for anyone reading along at home, element here typically refers to a subdirectory of the MAPSET dir) -- Ticket URL: https://trac.osgeo.org/grass/ticket/1978#comment:5 GRASS GIS http://grass.osgeo.org ___ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev
Re: [GRASS-dev] [GRASS GIS] #1978: module GUIs: or enter values interactively should be opt-in
#1978: module GUIs: or enter values interactively should be opt-in +--- Reporter: hamish | Owner: grass-dev@… Type: defect | Status: new Priority: normal | Milestone: 6.4.4 Component: wxGUI | Version: svn-trunk Keywords: parser |Platform: All Cpu: All | +--- Comment(by hamish): If term 2 (element) is file, trunk's libgis checks to see if the file already exists insists on --overwrite. So for file input= and output= term 2 should probably stay as file. This also means that the GUI should use term 2 (element) to decide if there should be a file [Browse] button present, instead of term 3 (prompt/description) as it does now. term 1 remains old, new; the value of any doesn't seem to be used any more in g6.4+ or g7. so that leaves the switch for deciding on a text input box to be based on the third term (prompt/description). (as far as gui/wxpython/gui_core/forms.py is concerned) so e.g. for r.in.mat we have this info from --interface-description gisprompt age=old element=mat prompt=file / `element` would go back to file, and term 3, `prompt` (aka description), would change from file to text (or bin or generic file). And the or enter text interactively box would be made to only show up if `prompt` was text. In GRASS 6 with GRASS_UI_TERM set, the `prompt` term 3 is used in the Enter the name of line, as is term 1's new. e.g. for r.in.bin it is {input}: {{{ OPTION: Binary raster file to be imported key: input required: YES Enter the name of an existing {input} file Hit RETURN to cancel request }}} so having that be text or binary would still read well (although still locked to English). thoughts? Hamish -- Ticket URL: https://trac.osgeo.org/grass/ticket/1978#comment:2 GRASS GIS http://grass.osgeo.org ___ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev
[GRASS-dev] [GRASS GIS] #1978: module GUIs: or enter values interactively should be opt-in
#1978: module GUIs: or enter values interactively should be opt-in +--- Reporter: hamish | Owner: grass-dev@… Type: defect | Status: new Priority: normal | Milestone: 6.4.4 Component: wxGUI | Version: svn-trunk Keywords: parser |Platform: All Cpu: All | +--- Hi, for the G_standard_input for input files, the auto-generated wx module GUIs are always asking or enter values interactively whenever G_define_standard_option(G_OPT_F_INPUT) is present. Since that makes no sense for binary input files, and anything automatic should err on the side of not being weird, the interactive version should be opt-in -- the programmer should have to use a special gisprompt in those cases. (e.g. r.in.gdal, v.in.ogr, r.in.bin (G6.x), r.in.mat, ...) fwiw section 12.16.5.2.4 of the grass5 programmer's manual has a full description of what the a,b,c options of gisprompt were originally designed to be, {{{ 12.16.5.2.4 gisprompt Member The gisprompt Option structure item requires a bit more description. The three comma-separated (no spaces allowed) sub-arguments are defned as follows: First argument: old results in a call to the GRASS library subroutine G_ask_old, new to G_ask_new, any to G_ask_any, and mapset to G_ask_in_mapset. Second argument: This is identical to the element argument in the above subroutine calls. It specifes a directory inside the mapset that may contain the user's response. Third argument: Identical to the prompt argument in the above subroutine calls. This is a string presented to the user that describes the type of data element being requested. }}} see lib/gis/ask.c for the above subroutine calls. I first considered to mangling all the gisprompts by hand to stop the interactive text box but keep the Browse button, but then it occurs to me that the gui parser is the problem, not the modules. (also it seems the above a,b,c have been continually redefined since the tcltk gui days, so we should better sort out what it means now if gisprompt is to be different in grass7) thanks, Hamish -- Ticket URL: https://trac.osgeo.org/grass/ticket/1978 GRASS GIS http://grass.osgeo.org ___ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev
Re: [GRASS-dev] [GRASS GIS] #1978: module GUIs: or enter values interactively should be opt-in
#1978: module GUIs: or enter values interactively should be opt-in +--- Reporter: hamish | Owner: grass-dev@… Type: defect | Status: new Priority: normal | Milestone: 6.4.4 Component: wxGUI | Version: svn-trunk Keywords: parser |Platform: All Cpu: All | +--- Comment(by glynn): Replying to [ticket:1978 hamish]: (also it seems the above a,b,c have been continually redefined since the tcltk gui days, so we should better sort out what it means now if gisprompt is to be different in grass7) GRASS 7 no longer has any of the ask functions. The first component (age) is used within the parser in relation to overwrite checks. If the age component is new and overwrite isn't enabled, then the second component (element) is used to determine whether the specified entity already exists. Also, `G__uses_new_gisprompt()` returns true if any option has an age of new; this causes the the --overwrite option to be listed as a recognised flag in the output for --help etc. The third component (prompt) is no longer used directly by libgis, although it may be used by the GUI. -- Ticket URL: https://trac.osgeo.org/grass/ticket/1978#comment:1 GRASS GIS http://grass.osgeo.org ___ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev