User Interface Specification:
Advanced Options System
Document History
[August 20, 2002] Version 0.1 -- Inception
[August 29, 2002] Version 0.2 -- Change Base/Advanced Switching behavior and
Ok Cancel button presence and property commit behavior.
[September 13, 2002] Version 0.3 -- Minor edits
[September 16, 2002] Version 0.3 -- Minor edits
Table of Contents
Introduction
Advanced Options are the remaining IDE options that are do not qualify as Base
Options. The Advanced Options set are those options that are obscure or otherwise
infrequently used and do not concern what most users will need or want to change
in order to successfully use functionality in the IDE.
Overview of Functionality
When the user clicks Advanced the Options Dialog will change. The Options
Category Tree will show all option categories and the customizer will change
to a property sheet. The Advanced Options will follow the same category structure
as Base Options but will provide more categories or sub-categories not present
in the Base Dialog. Options present in the Base Options Dialog will not be present
in the Advanced Option Dialog. The Advanced button will change to a Base
button (that when clicked will revert to the Base Options Dialog).
Buttons
| Dialog Wide Buttons |
| OK |
Commits changes and closes dialog. |
| Cancel |
Closes dialog without committing any changes. |
| Apply |
Commits changes and leaves dialog open (not currently part of the design
but functionality should be available). |
| Advanced |
Opens Advanced Options dialog. See Advanced
Options Spec for more details. |
| Base |
Opens Base Options dialog (when Advanced dialog is present). |
| Property Sheet specific Buttons |
| Use Defaults |
Restores panel values to factory defaults |
Advanced Options Display
- Advanced Options will show only Advanced Options.
- The options will be categorized in a consistent manner with the Base Options
categories to aid the user in finding options.
- In places where Base Options apply to several similar objects the Advanced
Options Dialog may offer customization item by item (e.g. Editor settings
for each individual editor). *See open issues [1]
References
See the Base Options Spec
See the Options
User View
See the Options Guideline for developers.
Detailed Spec.
Advanced Options Interaction
Basic interaction in the Advanced Options Dialog is consistent with the current
operation of the Options Dialog and other property sheet based editing in
the IDE. The following represent breaks from the norm or differences tailored
to this use.
- Values of changed options will not be propagated to the system until clicking
Ok. Exceptions to this are noted below. *See
open issues [2]
- Clicking Ok confirms any changes, applies them to the system
and closes the Options Dialog.
- Clicking Cancel will close and revert all changes made while
in the Base or Advanced Options Dialog.
- Clicking Help opens the help browser to help matching the
current panel.
- Clicking Base opens the Base Options Dialog with the tree
expanded to the options related to what the user was doing in the Options
Dialog.
- Opening the Options Dialog will display which ever mode, Base or Advanced,
that was last used.
Entry Points
Tools | Options -> Advanced Button
Layout and Resize Behavior
The Options Dialog is initially sized at 600 x 400. The left Options list
should be a fixed size for the language content and font size present. The
rest of the dialog can be resized. If the user resizes the dialog it should
always reappear at that new size.
Tab Order
Only when opened from Tools | Options
Initial focus: First element in 'Options' list
When the Options Dialog is accessed from a panel specific entry point then
focus is initially on the first element in the selected panel. In all other
cases initial focus is on a matching element in the 'Options' list.
Tab order:
- First element in 'Options' list
- First element in property sheet
- Base
- Cancel
- Help
Mnemonics
- Options List (O)
- Base (B)
- Cancel
- Help (H)
Error Conditions
Error detection is left to the property sheet mechanism for validating data.
Tooltips
Tooltips will remain unchanged from current property sheet implementation.
Open Issues
- Should Advanced Options dissect and display aggregates of Base Options?
If yes and if the user changes one of these options in a single place in the
Advanced Options Dialog the corresponding option will indicate the loss of
synchronization in the Base Options Dialog. Example: If the user changes only
one editor to not show Line Numbers, then the Show Line Number Checkbox will
be in the third boolean state as discussed on nbui here.
- Creating new service types requires that the new service type actually be
created before clicking Ok. This is acceptable since there is
no other way to edit the new service type. If the user clicks Cancel
the new service type is removed from the system preserving the net behavior
of Ok and Cancel.
Module manipulation currently acts on the system in real time. This was modified
for the startup wizard and should be fixable for the Options Dialog.