Proposal: new menu layout, with examples

James Bonfield jkb at mrc-lmb.cam.ac.uk
Tue May 1 08:30:36 UTC 2001


On Mon, Apr 30, 2001 at 06:39:23PM +0100, Peter Rice wrote:
> > type       A choice between "frame" and "page".
> 
> Tricky to test a list of values. frame:Y would be simpler, but we should
> add controlled vocabulary types some time (see 'side' below).

That's a trivial change to make for me, so I'm happy to change (if you desire
it). Personally though I prefer a vocabulary type as it indicates a
choice.

Y/N reminds me of Rodger's earlier tools. You'd often get given a question
like "Plot results? [y]". This was via the YESNO fortran function, which
always had a default Yes - leading to question such as "Do you not want me to
do X?". Hmm! The biggest drawback though was that people thought "plot
results? Well what's the alternative? I guess I'd better take the default."

Vocabs are also more extensable. If we decided that we want to add a type
toplevel (unlikely) for subwindows then we can easily do so without worrying
about all the weird interactions of frame:Y page:Y toplevel:Y.

> > info       A heading for the frame or page. Defaults to ""
> >            A page without a heading would look rather odd, but a frame
> >            without a heading is OK - it's just a bordered block.
> 
> OK. Can also be used to prompt interactive users (e.g. "Gap penalties:"
> before prompting for the gap penalty values). Or we could have a separate
> 'prompt' for this, and use 'info' in the -help output (tricky though -
> qualifiers will be in sections but also in required/optional/advanced
> groupings so maybe -help should be left alone)

Indeed. If we use such things for prompts then I suggest an indentation method 
to display members of the group.

Eg:

Gap penalties:
    Gap open penalty [16]:
    Gap extension penalty [4]:
Output file [foo.stretcher]:


> > book       Only needed for type:frame.
> >            The notebook to associate this page to. Defaults to "", which
> >            implies all pages are part of the same notebook. This is only
> >            needed if a program wishes to make use of more than one tabbed
> >            notebook, in which case this is used to determine which book a
> >            page is within.
> 
> Can we pick a more general name for this?

Of course I meant "book: only needed for type:page" (rather than type book).

We could have a more general name, but I thought the term book fitted rather
well with type:page. Specifically frames are standalone, whereas pages are a
member of a set which are displayed together. Perhaps "set" is a suitable
alternative name?

> > border     Only needed for type:frame. Defaults to 1.
> >            The border width of the frame.
> 
> OK.
>  
> > side       Only needed for type:frame. Defaults to top.
> >            This is used for 'frame packing'. It is only needed if we wish
> >            to express complex layout designs. Eg:
> 
> Looks like another controlled vocabulary. Also, looks like I can think of
> uses for it.

Side here has values of top, bottom, left and right - ie the same as the tcl
pack -side option (how convenient - I wonder how that could have happened?
;-)).

James

-- 
James Bonfield (jkb at mrc-lmb.cam.ac.uk)   Tel: 01223 402499   Fax: 01223 213556
Medical Research Council - Laboratory of Molecular Biology,
Hills Road, Cambridge, CB2 2QH, England.
Also see Staden Package WWW site at http://www.mrc-lmb.cam.ac.uk/pubseq/




More information about the emboss-dev mailing list