On Fri, 27 Apr 2001, Dekel Tsur wrote:

> On Thu, Apr 26, 2001 at 08:58:42PM +0100, Angus Leeming wrote:
> > Attached is a patch creating a Math Toolbar. I'm posting it, rather than
> > commiting it to the repository because I discovered what I think are a couple
> > of bugs in WorkArea and in ToolbarDefaults, but am not very familiar with the
> > code, so think I should seek a second opinion...
>
> Nice. However, as I suspected, the workarea resizing is annoying: when
> you enter/leave a math inset, the screen flickers - it seems that the
> screen is redrawn more than once.

Ideally the resizing should just cause the workarea to crop the top of
its display and keep the rest of the drawing. This should be "croppable"
at any pixel height but I'm nort sure how that will affect the
workareas idea of a current row.  There wouldn't be any flicker then apart
from the magical appearance of the math toolbar.

> How about making the math toolbar replace some of the icon in the standard
> toolbar (e.g. the font icons, figure/tabular/footnote insertion)
> so you won't need to resize the workarea ?

Or just replace one toolbar with the other.  The general toolbar isn't
much use in math anyway.  The 4 general toolbar buttons that are useful in
math mode should just be repeated in the math toolbars definition.

This gets us to the idea of rotating toolbars -- like those available in
Ami Pro all those wonderful years ago, or in Blender or like James Bond's
car number plates.

Then you just need to define a "rotate toolbar" icon that displays the
icon of the toolbar you would switch to when you hold down a mouse button
and move the mouse cursor.  Blender style.  Or use a small menu to list
the names of the toolbars you can switch to.  Ami Pro style.  You wouldn't
normally need to force the change to a different toolbar until we start
offering the user multiple custom toolbars to choose from.

FWIW:
Signal1<string const &, void> showToolbar;

You don't really need a hideToolbar(string) although some implementations
might want to allow several toolbars to clutter up the screen even though
some aren't useful until you are within an appropriate environment.  KLyX
is a good example of this in the Linux world.  Or Word in the Dark
Universe.

Math or general text inside tables would require at most two toolbars:
        table + maths
        table + general
that is, one outer-context sensitive toolbar and one inner-context.

You could also consider the rotated toolbars as being placed on a stack
and thereby just:

Signal0<void> popToolbar;

Although this may not work if the user jumps around their document using
the mouse.  I don't think keyboard interaction could trick the stack.

Allan. (ARRae)

Reply via email to