[GRASS-dev] Re: [GRASS GIS] #102: new tabs in GUI have required
last
Glynn Clements
glynn at gclements.plus.com
Thu Mar 20 11:21:50 EDT 2008
GRASS GIS wrote:
> #102: new tabs in GUI have required last
> -----------------------+----------------------------------------------------
> Reporter: cmbarton | Owner: grass-dev at lists.osgeo.org
> Type: defect | Status: new
> Priority: major | Milestone: 6.3.0
> Component: Tcl | Version: svn-trunk
> Resolution: | Keywords:
> -----------------------+----------------------------------------------------
> Comment (by hamish):
>
> Replying to [comment:4 glynn]:
> > Replying to [comment:1 hamish]:
> Hamish:
> > > For r.colors, v.in.ascii the input can come from stdin which is why those
> > > input filenames are not required by the parser, although piping to stdin isn't
> > > really an option from a GUI window.
> Glynn:
> > I suggest modifying the parser so that "-" is always accepted for "old,file"
> > options.
> >
> > Providing incorrect type information so that "-" works is a rather ugly hack.
>
> What I was trying to get at was the modules work like "if input file is
> NULL, assume input comes from stdin". I don't think those modules actually
> have code to deal with input=-, they will treat that as a filename not
> something special. Some modules do recognize that trick, for consistency's
> sake I suppose all that can read from stdin should, and if the parser
> needs to be aware of that then so be it.
>
> And AFAIK the parser does not actually check to see if an "old,file"
> option's answer actually exists. It leaves that to the module. All it
> provides is the folder file picker GUI. (Same is true for cell, vector,
> group, ... elements) (??)
>
> So the type isn't being dropped to accomodate 'oldfile=-', ->required is
> being dropped to accomodate "if input file is NULL, assume input comes
> from stdin".
>
>
> not sure if we're talking about the same thing here...
Okay. I misinterpreted "filenames are not required" as "files are not
required (to exist)".
Realistically, we either need a more expressive type system, with
union types, or we have to eliminate all of these special cases.
BTW, the specific issue with "mode" flags (e.g. "r.colors -l") could
be dealt with fairly easily by adding a field to "struct Flag" to
indicate that the flag suppresses any requirements. That way, you
wouldn't have to do without ->required settings because of
"exceptional" cases.
--
Glynn Clements <glynn at gclements.plus.com>
More information about the grass-dev
mailing list