Variable selection panel

These are the variable selection boxes, each of which is associated
with one variable, that is, one column of the input matrix.  The
variable selection boxes act as buttons which respond to mouse clicks
by selecting and 'deselecting' variables for plotting.  A selected
variable is indicated by a highlighted label in the corresponding
variable selection box.

Above the variable panel is a bit of text to remind the user of the
mouse actions to perform to select and deselect variables.  This
behavior depends on whether XGobi is in a two-variable plotting mode,
initiated by selecting XY Plot, a three-variable mode, initiated by
selecting Rotate, or in Tour, with three or more variables.

In XY Plot, a horizontal line is drawn in the variable circle of the X
variable and a vertical line in that of the Y variable.

In the three-variable mode, if "Y Axis" is selected, one Y variable is
plotted vertically against a linear combination of two X variables, and
the horizontal lines appearing in the variable circles are proportional
in length to the coefficients of the two X variables.  If "X Axis" is
selected, a linear combination of two variables rotates about the
horizontal axis in the plane of the screen; now the vertical lines are
proportional in length to the coefficients of the Y variables.

In Tour mode, the lines in the variable circles are oblique, and
provide information about the magnitude and direction of the
contribution of each variable.

Here is a more detailed description of the selection behavior in each
of the three modes.

One-variable plotting, initiated as DotPlot:

  Left click              always ignored

  Middle click
   the active variable    generate a new dot plot for this variable
   an inactive variable   this variable replaces the active variable

Two-variable plotting, initiated as XYPlot:

  Left click
   an inactive variable    this variable replaces the active X
   the active Y variable   X and Y are exchanged

  Middle click
   an inactive variable    this variable replaces the active Y
   the active X variable   X and Y are exchanged

Three-variable plotting, initiated as Rotate:

 In this mode, we use the idea that a variable can be the
 "last touched," and then it is targeted for replacement.  The
 "last touched" variable is indicated with a small circle in the
 center of its variable circle, suggesting a target.

 Y axis:

  Here, only the horizontally plotted variables can be
  last_touched.

  Left click
   an X variable           this variable becomes the last touched
   an inactive variable    replaces the last touched X
   the active Y variable   is exchanged with the last touched X

  Middle click
   an inactive variable    this variable replaces Y
   an X variable           the selected X is exchanged with Y

 X axis:

  Here, only the vertically plotted variables can be
  last_touched.

  Left click
   an inactive variable    this variable replaces X
   a Y variable            the selected Y is exchanged with X     

  Middle click
   a Y variable            this variables becomes the last touched
   an inactive variable    replaces the last touched Y
   the active X variable   is exchanged with the last touched Y

 Oblique axis:

  Any click
   an active variable      becomes last touched
   an inactive variable    replaces the last touched variable

Tour:

  Left or middle click:
   an inactive variable    this variable becomes part of the next basis
   an active variable      this variable is removed from the next basis


The partitioning of the space between the control panels, the plot
window, the variable selection panel can be made by positioning the
cursor above the little rectangles (called grips) that are at the
bottom of the lines separating these regions, then pressing one of the
mouse buttons and moving the cursor to the left or right.  If this
still doesn't result in a good division of space between the plot
window and the variable selection panel, you might want to adjust
the height and width of PlotWindow or VarPanel using your XGobi
resource file.

Of special interest are these resources:

    *XGobi*VarPanel.width: 200
    *XGobi*VarLabel.width: 34
    *XGobi*VarWindow.width: 34

Column labels can be supplied in a file named fname.col, where fname
or fname.data is the name of the data file, one label per row.
