11.5 Edit Events in the EnviroView

The Environment Viewer -- Events

Figure: The Environment Viewer -- Events

Non-obvious actions you can perform on objects in the EnviroView

Single-click with left-mouse-button (LMB) on Event Button
Will select event for display in the view area to the right.
Single-click with right-mouse-button (RMB) on Event Button
Will bring up the edit dialog for the Event.
Shift-LMB or middle-mouse-button (MMB) on Event Button
Extends the selection to include multiple events, and can remove an event from the display if performed on an already-selected event.
LMB on a pattern element of displayed event
Will set the value of that pattern element according to highlighted drawing color (in color palette at bottom of display).
MMB on a pattern element of displayed event
Will reset the value of that pattern element to its previous value before it was edited.
RMB on a label on the displayed event
Will allow you to edit the value (e.g., change the event name, or its frequency if that is what is displayed).

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.

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.
Init
The Init 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), which can be changed just by typing in a new value. 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 (see section 11.6 Edit Specs in the EnviroView for how to configure this interactively). 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 several menus which control certain features of each event which is displayed. The first menu called Val Txt determines what kind of textual information is rendered along with the pattern values (could be VALUES or LABELS or BOTH). The Disp Md: menu selects the way in which the values are rendered -- COLOR, AREA, or LINEAR, just as in the NetView (see section 10.6 Network Viewer).

The next two menus control what kinds of labels are shown along with each event and each pattern. Evt Label controls which propery of the Event is shown in the Event Label region (bottom) of the displayed events. Likewise, the Pat Label menu contols what pattern properties are shown in the formatted pattern label section of the displayed events (at the top of each pattern). If the displayed event and/pr pattern does not have the propery which is selected, a "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 default this menu is set to "Pattern 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 11.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:

EventLayout event_layout
Controls whether events are arranged VERTICALLY or HORIZONTALLY when multiple events are selected for viewing.
bool auto_scale
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.
ValDispMode val_disp_mode
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 (see section 6.18 Color Scale Specifications).
ValTextMode val_text
Can be VALUES or LABELS or BOTH (same as Val Txt menu) -- controls whether or not the names stored in PatternSpecs' value_names array are displayed on top of the blocks (LABELS), and/or the numerical value of the pattern is displayed (VALUES).
bool no_border
If selected, this eliminates the black border around the pattern values. This is useful for displaying picture-like stimuli.
FontSpec view_font
The X11 specification for the font to use in drawing all of the basic text in the view.
FontSpec value_font
The X11 specification for the font to use in drawing the pattern labels and values in the View Region (might want it smaller).

In addition, the EnviroView provides the following functions:

SetEventSpec(EventSpec* es)
Changes the EventSpec of all the currently displayed Events to es
SelectEvents(int start=0, int n_events=-1)
This will automatically select a range of events for display in the view -- saves on clicking. start is the index of the event to start displaying, and n_events is the number to display (-1 = all).
DeselectEvents(int start=0, int n_events=-1)
This is the de-selecting complement to SelectEvents.