% -*- TeX-master: "fdd.tex" -*-

\label{sec:use-cases}

\paragraph{Loading a game board}
To load a game board, click ``Load...'' and navigate to the file you
wish to load.

\paragraph{Saving a game board}
After editing or while playing, a game board can be saved by clicking
``Save...'' and typing the desired path and filename.

\paragraph{Adding gizmos to the game board}
To add a gizmo, click the gizmo on the gizmo toolbar.  Moving the mouse
over the gameboard area will reveal a gizmo trailing the pointer.
Clicking the mouse again will place the gizmo in the current location.  
Gizmos will be X-ed to indicate that they cannot be added to the current 
mouse location.  To cancel gizmo adding, press `Esc' or click the gizmo 
over an invalid location.  Gizmos may be aligned to a grid by activating 
the ``Snap to grid'' option, or they may be freely placed.  Balls are 
also added as gizmos.

\paragraph{Transforming/deleting gizmos}
Clicking on a gizmo on the game board will select it.  Once selected, a
menu will appear around the gizmo displaying a set of options.  The
following options are allowed:
\begin{itemize}
\item rotate
\item move
\item delete
\item set properties (see Section~\ref{sec:properties})
\end{itemize}
To rotate a gizmo, select the
corresponding option and drag the mouse to make the desired change.
To move a gizmo, click and drag the selected gizmo and move to 
desired location.
To delete a gizmo, click the delete option.

\paragraph{Transforming gizmos and setting properties (advanced)}
Gizmo properties can be set through the property list.
Each property (name, position, orientation, color, triggers) will
have a corresponding entry in the property list.  Selecting the 
property will activate the appropriate input method (e.g. a text
field for Strings, or a Color selector for colors).  Input the
desired value to set the property.  This method allows properties
not accessible through the focus menu to be set.

\paragraph{Connecting gizmos}
Once a gizmo has been selected, one of the displayed options is to
connect the gizmo.  To connect the selected gizmo’s trigger to another
gizmo's action, click and drag the connect option to the gizmo whose
action is to be triggered, and then release.  An alternative method is
to click the connect option on the first gizmo and then click the
second gizmo.  By either method, an arrow from the trigger gizmo will
trail the mouse pointer to indicate that a connection is being
created.  Once the connection has been created, it will be indicated
by an arrow (depending on the view mode) and will also appear in the
property lists of the two gizmos.

\paragraph{Connecting gizmos to keys}
To connect a gizmo to a key-press, first select the gizmo.  Then,
locate the property in the property list that contains all the keys
triggering the gizmo.  Setting this property will allow the gizmo's
action to be connected.

\paragraph{Undoing build options}
To undo adding, deleting, transforming, connecting, or changing
properties, click the Undo button.

\paragraph{Switching between editing and playing}
To switch between the two modes, click the appropriate button in the
menu.  This button is labeled ``Play'' while in Editing mode, and
``Edit'' while in Playing mode.
