wiki:ToolBar
Last modified 21 months ago Last modified on 08/21/10 13:08:00

Toolbar Enhancements

Due to the growing number of view-specific tools in GeoGebra it is necessary to split the single toolbar into multiple toolbars, each belonging to a view. As the main window is rarely wide enough to show multiple toolbars there is just a single toolbar in the main window which changes depending upon the context. If a view is opened in a separate window the view toolbar is displayed in that window.

Feature Specification

In the Main Window

There is just a single toolbar in the main window all the time. If a view in the main window has a custom toolbar the user somehow has to be able to switch between those toolbars (the general toolbar is always visible). There are two different modes to achieve this, which can be selected in the Options dialog: The automatic mode determines the focused view by listening to mouse clicks and changes the active toolbar if the mouse clicked upon a view, if that view had no toolbar the general toolbar is displayed. The manual mode adds a new button to the toolbar to let the user switch between the toolbars of individual views (see this sketch).

In Detached Views

If a view is opened in an additional window that window should also display its own toolbar if the view has one.

Euclidian Views

The euclidian views are a bit special as they don't define their own toolbar, but should always use the general toolbar (even if detached from the window).

Customizing Toolbars

Toolbars are customized on a per-perspective level, therefore each perspective has different toolbars for each view. To customize the toolbars of the current perspective the "Customize Toolbar" dialog gets a dropdown box at the top where the user can choose between the views and the general toolbar. The reset defaults button will reset all toolbars to their default values. Wishes: Using intuitive drag and drop to move the tools. Categorize tools by views -- that's certainly possible for e.g. the CAS as it has distinctive tools like "Solve" which have no use in other views.

General Toolbar

The general toolbar is displayed if no view in the main window has a toolbar. It is also used as the euclidian view toolbar.

Backward Compatibility

In older versions just a single toolbar was defined and this toolbar will be used as a general toolbar. Views which define their own toolbar should have some default values which can be used in this situation.

Technical Specification

  • GUI still has to be snappy
  • Determine focus by listening to clicks in the glass pane, always active (even if manual toolbar switching mode is used) because this feature is also used for multiple euclidian views to determine on which view objects have to be created.
  • Add toolbar fields to the dock panel class and dock panel xml container.

Attachments