Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

75 lines
2.8 KiB

Selection & Focus
=================
This section describes the design for selection and focus in the Disk
Administrator.
The two DA views have different selection and focus characteristics.
The disks view displays a superset of the information provided in the
volumes view, by showing free space and the actual breakdown of
partitions in a volume.
The focus is a pure UI concept that doesn't affect the selection. Thus,
we don't maintain the focus. We determine a reasonable focus for the
new view when a view change occurs.
The selection, however, must be maintained. The UI selection is reflected
in the internal data structures and is what commands operate on. We also
maintain the visual selection in both views.
The selection in the disks view consists of a set of volumes and a set
of free spaces. It is impossible to select only one partition of a
multi-paritition (FT) volume; the entire volume is selected. In the volumes
view, we only allow a single item to be selected, as we don't support any
operations on multiple volume selections. In addition, the volumes view doesn't
display any free space regions, so we must deselect free space when switching
to the volumes view.
The following analyzes the different cases:
Disks view
-- mouse select:
The subclassed window proc catches the mouse click.
First, if this isn't a ctrl-click (multiple select), then all
regions are cleared of any existing selection. If it is a
multiple selection, then no selection is cleared.
The region is determined, if the click corresponds to a region, and
selected. The focus is given to the selected region.
-- keyboard select:
Approximately the same as above, except it is easier to
determine what region we are operating on.
Volumes view
-- mouse select:
-- keyboard select:
In both cases, we only do things when we get a LVN_ITEMCHANGED
notification message. The cases we handle:
volume loses selection:
deselect all regions of this volume.
volume gets selection:
select all regions of this volume.
Things to do when switching from disks view to volumes view:
-- set the focus. If the disks view focus is on free space, then
put the focus on the first volume in the volumes view.
-- adjust the selection: deselect all free space.
Things to do when switching from volumes view to disks view:
-- set the focus. Pick a random region from the volume that has the
focus. For instance, if volume "F:" has the focus, then pick any of
its component regions---e.g., it doesn't matter which region of a volume
set gets the focus.
Things to do when we initialize Disk Administrator:
-- set no selection
-- set the focus:
-- if disks view: first region on first disk
-- if volumes view: first volume