r2 - 08 Aug 2006 - 20:04:17 - TimPetersonYou are here: TWiki >  GRAPEcluster Web  >  Documentation > GraphicalProgramming

Using the Graphical Programming Environment

The graphical programming environment, or GPE, consists of three components, one above the other: The menu bar, the canvas area, and the control panels. Each component will be discussed in a section below.

Function canvas

The canvas area is where all the functions that have been created are displayed. There are three types of objects shown on the canvas: functions, ports, links, and groups.

Functions

A function is displayed as a box containing its name.

Ports

A port is either an input or an output of a function. Inputs have arrows pointing into the function, while outputs point outward. In the default layout, data inputs are shown on the left side of a function, parameter inputs on the top, and outputs on the right.

Links

Links are connections between inputs and outputs. Each link connects exactly one output with exactly one input. Links are displayed as lines connecting the two ports they are connected to.

Groups

Groups are tools for organizing related functions. Groups can contain both functions and other nested groups. Groups are displayed as a red box around everything they contain, with a label shown at the top.

Interacting

The following actions work on most objects on the canvas.

Single click
Select an object
Control+click
Select multiple objects
Hover mouse
Show tooltip describing the object under the cursor
Delete or Backspace
Delete the selected object(s)

Whenever and object is selected, all other objects that can be connected to it are highlighted in green. To create a link, click and drag from one object to another. A line will follow the mouse and snap onto nearby compatible ports.

Groups have collapse handles in their upper-left corners. Clicking on it will toggle the collapsed state. When a group is collapsed, all of its contents are hidden and the group shrinks to the size of a function.

Menus

Functions

The Functions menu provides access to all functions available to the system. Each category is shown as a submenu containing functions. Clicking on a function will cause an instance of it to be created. The last entry is labelled "User," which contains composite functions created by the user (see below).

Script

The Script menu provides entries for loading and saving the contents of the canvas as a Sprache script file. The "Save as user function" item allows the contents of the canvas to be saved into the Functions|User menu for later re-use.

Options

The GPE has many plugins which provide options for controlling the appearance of the objects in the canvas.

  • Function style - Controls the appearance of functions
    Highlight connectable
    Outlines in green all functions and ports which can be connected to any of the currently selected objects.
    Highlight selected
    Outlines in blue the selected objects.
    Highlight updating
    Changes function backgrounds to red when they need updating, or yellow while they are in the process of being updated.
  • Input/Output style - Controls the appearance of ports
    Arrows (Horizontal)
    Draws ports as arrows for a layout in which data flows horizontally.
    Arrows (Vertical)
    Draws ports as arrows for a layout in which data flows vertically.
  • Link style - Controls the appearance of links
    Colored Parameters
    Causes links carrying data or parameters to be colored blue or green, respectively.
  • Visibility - Controls which functions are visible at any given time
    Show Neighbors
    Displays only functions that are directly connected to the selected function(s).
  • Layout - Controls the location of functions
    Manual
    Allows the user to move components around manually.
    Sugiyama (Horizontal)
    Uses a version of the Sugiyama graph layout algorithm to place functions so that data flows from left to right.
    Sugiyama (Vertical)
    Same as above, only top-to-bottom.
  • Routing - Controls the path links take between ports
    Straight
    No routing; links take a straight line path from one ort to the other.
    Directional endpoints
    Creates a spline with endpoints lining up with the directions of its ports.
  • Animation - Controls how the functions transition between locations
    None
    Immediate transitions.
    Linear
    Objects slide smoothly from one location to another

Actions

Plugins provide a number of actions that can be performed on the selected objects.

Create Function
Encapsulates the selected functions inside another function, creating inputs and outputs on the outside according to those on the inner functions. Double-clicking on the UserFunction? will open another editor for its contents.
Group
Creates a group around the selected functions.
Ungroup
Removes the selected group(s), leaving the contaoined functions intact.

Debug

Provides commands useful for developers, discussed elsewhere.

Update

Sends an updateview command to the system, causing all the output functions to update.

Information/control panels

On the bottom of the window are a group of tabs pertaining to the currently-selected function(s).

Command tab

The Command tab allows one to send commands to the currently selected function. Each row is a command template. The template shows data-entry controls in each location in the command where input is required. To send the command with the values that have been entered, press the Go button.

Object tab

The Object tab shows information about the currently selected function. The following fields are shown

Name
The fully-qualified name of this function, showing the path through the containing groups.
Type
The name of the Java class of which this function is an instance.
Parameters
The names, data types, default values, and connections to each parameter input on this function.
Inputs
The names, data types, and connections (including data type) to each data input on this function.
Outputs
The names, data types, and connections (including data type) to each output on this function.
Commands
The Sprache command definitions for each command supported by this function.

Plugin tab

The plugin tab displays similar information to the Object tab, except that it displays only what was declared by the plugin's class before creation. The information usually only differs between the two tabs if the function dynamically adds inputs or outputs.

-- TimPeterson - 08 Aug 2006

Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r2 < r1 | More topic actions
General Information
Technology
  • Resources

Documentation
Repository
Related Projects
  • GUI Development
  • MovieMaker?
  • GUI
  • 3D Input Devices
  • Fly Through Path

Related Sites

 
Powered by TWiki
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback