12.4 The EnviroView

The Environment Viewer

Figure: The Environment Viewer

The EnviroView provides a graphical representation of the Environment, allowing the user to view, create, and edit Events and Patterns. In addition the EnviroView can be used to track the current Event presented to the network by setting its updaters (see section 6.1.3 Window Views).

All of the events in the Environment are listed sequentially from top to bottom in a scrollable vertical list on the left side of the EnviroView. The index number of the event is shown on the left-hand side of the label, and the first four characters of the sub-group name if the event is in a sub-group. Pressing the left mouse button on an Event name causes the View to display only that event. Pressing the middle mouse button toggles the visibility of the Event, adding it to the View or removing it. If an Event is removed from the view, its pattern values are saved automatically. Pressing the right mouse button brings up an Edit Dialog for the Event.

The following action buttons appear in the upper left of the EnviroView:

New Event
The New Event button provides a convenient method for creating events in the Environment. Pressing the New Event button creates a "New" dialog which prompts the user for the number and type of events to create. Each new event is modeled after the default (usually the first) EventSpec in the Environment. If there are no EventSpecs, a default EventSpec consisting of an input pattern for the FIRST layer and a target output pattern for the LAST layer is created for the new events. If there are currently no events, the New Event button will appear hi-lighted indicating that it is the suggested course of action.
Delete
The Delete button removes the currently selected Events from the Environment
Apply
The Apply button saves the changes made to the Patterns. It will appear hi-lighted if there are potentially changes which have not been saved.
Revert
The Revert button refreshes the EnviroView to reflect the stored values of the currently displayed Events. Any un-applied changes to the patterns will be lost.

At the bottom of the EnviroView is a painting ColorBar. This colorbar differs from the colorbar in the scale region of the NetView in that the different shades of color are selectable for use in "painting" values into the patterns of the Events. In addition, four custom value pads are provided for entering specific values. The color corresponding to the value of the pad appears next to the value and is selectable for use in painting just like to shades of the colorbar. These pads appear above the ColorBar and have default values of (-1.0, 0.0, 0.5, 1.0). The minimum and maximum of the range of the ColorBar may be independently specified or automatically scaled to the minimum and maximum value of the currently displayed events if the "Auto Range" toggle in the upper left corner of the EnviroView is selected.

When an Event is selected for viewing, it appears in the EnviroView as as set of name labels and colored blocks. The labels and blocks are positioned according to pos and geom values of the PatternSpecs for each Pattern in the Event. The color of the blocks corresponds to its value in the ColorBar at the bottom of the EnviroView. If a pad or shade value is selected in the ColorBar, the user may change the values of the Patterns by clicking or dragging on the colored blocks. Pressing the left mouse button changes the value of the block under the mouse pointer to be the selected value in the ColorBar. Pressing the middle mouse button changes the block's value to it previous value.

In the upper left area of the EnviroView are three menus which control certain features of each event which is displayed. The first one labeled "Evt Head", control which propery of the Event is shown in the Event Header region (top) of the displayed events. Likewise, the "Pat Head" menu contols what pattern properties are shown in the formatted pattern header section of the displayed events (just below the event header section near the top). If the displayed event and/pr pattern does not have the propery which is selected, an "N/A" will be displayed.

The "Pat Block" menu controls which property of the pattern is being displayed and edited when the user clicks on the pattern blocks described above. By defualt this menu is set to "Patther Values" indicating that changes in the blocks colors reflect changes in the actual values of the patterns. More complicated patterns which behave in specialized ways can be created by changing the the "Pat Block" menu to one of the other selections and editing a pattern's flags (see section 12.2 Events, Patterns and their Specs.) When editing pattern values a color value greater than zero sets the flag on, and a colorvalue less than or equal to zero sets the flag off. The user may also choose to edit the global PatternSpec flags from this menu. In this case the global flags on the displayed pattern's PatternSpec will be displayed and changed when the "Apply" button is pressed. Note that if multiple Events are being edited and more than one of those Events shares the same EventSpec then the last selected Event's values will be applied when the "Apply" button is pressed.

The EnviroView provides the following variables for customizing the display:

Layout event_layout
Controls whether events are arranged VERTICALLY or HORIZONTALLY when multiple events are selected for viewing.
bool value_name_toggle
Controls whether or not the names stored in PatternSpecs' value_names array are displayed on top of the blocks. If this toggle is on, the pad_size is automatically adjusted to a size which will encompass the value_name text.
bool auto_range
Controls whether or not the ColorBar at the bottom off the EnviroView is automatically scaled to reflect the minimum and maximum pattern values of the Events currently displayed in the EnviroView.
int pad_size
This variable controls the size of the pad blocks in the EnviroView.
BlockFill pad_fill
Controls how the values of the Patterns are displayed in the blocks. The COLOR setting fills the blocks with the colors from the colorbar, while the AREA, and LINEAR settings draw size varying spirals in the blocks. The spirals are similar to the spirals available for viewing in the NetView and a described in more detail in that section. (see section 10.6 Network Viewer).
ColorScale* colorspec
The colorscale to use for the ColorBar at the bottom of the EnviroView.

In addition, the EnviroView provides the following functions:

SetEventSpec(EventSpec* es)
Changes the EventSpec of all the currently displayed Events to es
SetLayout(EventLayout el)
Changes the layout to multiple events to be either HORIZONTAL or VERTICAL