Back to Diploma Thesis Page

QUOGGELS - User Manual

User Interface

After having started Gravisto, loaded the QUOGGLES plugin and started it, a dialog window should appear:

This image displays the four main parts of the GUI.
This window consists of four parts. In the lower part, there are a number of buttons with which the user can control the execution and loading / saving of queries. The left part of the dialog is reserved for the (standard) input box(es). The one providing all graph elements of the current graph should be displayed in that area. The top ribbon is occupied by iconic representations of all available boxes. The Output_Box will be located to the very left, followed by all basic boxes. Separated by a larger gap the compound boxes like the AttributeFilter_Box and SizeOf_Box can be found. The last icons (after having scrolled the icon panel to the very right) belong to boxes that extend the system beyond a simple query language: ChangeAttribute_Box and Algorithm_Box. The largest part of the dialog is covered by an empty space. This is called the main panel. In this panel, the query will be created.

The "Cancel" button in the bottom left corner closes the window (the current query is lost if it has not been explicitly saved).

Creating Queries

The icons in the icon panel on top act like buttons. Double-clicking on one of them with the left mouse button adds an instance of this box to the query panel. Boxes will normally automatically snap to the next free input / output.

Double clicking on an icon adds a corresponding box instance.
If the position of a box should be changed, it can easily be done by dragging the box with the mouse. Observe that the box will not move as long as the mouse cursor has not come nearer to another free input / output than to the current one.

Green and red filled circles (marks) indicate whether two boxes (and maybe an additional Output_Box) are correctly connected or not.

To remove a box from the main panel, simple double click on it. To remove several boxes in one step, draw a selection rectangle around those boxes and double click on one of the marked ones. This can be done by pressing and holding the left mouse button at some free place in the main panel (i.e. where no box is located). Drag the mouse over the boxes that should be marked and release the button. A rectangle is drawn indicating the area that will be selected. Only boxes that are located entirely inside the selection rectangle are marked.

Multiple boxes can be selected by dragging a rectangle with the mouse.
When the shown selection rectangle is dragged so far that it includes the AttributeFilter_Box, this results in the following boxes being marked:

Several marked boxes.
Individual boxes can be marked by clicking on the box while holding the shift or control key. Selecting non-connected areas can also be managed by drawing a selection rectangle while holding the shift or control key.

The parameters of boxes can intuitively be changed using the corresponding components inside the box representations.

The button labelled "Clear Query" can be used to remove all boxes from the main panel.

Sometimes it is useful to move a box representation some distance without it being automatically snapped to the next free input / output. This can be achieved by activating the free place mode by clicking on the "Free Place Mode" button located in the bottom right corner. This deactivates the automatic placement of boxes as long as the mode is not deactivated by clicking on the button again.

Button to toggle the \
Several boxes can be moved in one step: Mark all boxes that should be moved, click on one of them and drag the boxes to the desired location. Observe that the automatic placement feature has been switched off in that case.

Clicking anywhere but on a selected box removes an active selection.

Whenever two boxes should be connected that cannot be dragged towards each other, OneOneConnector_Boxes can be used. There is no explicit icon in the icon panel for this box. Clicking on any red mark (not belonging to a OneOneConnector_Box) starts a OneOneConnector_Box. If free place mode is not switched on, the other end of the connector will probably snap to the next free input / output at once.

A line connector used for layout purposes.

Saving and Loading Queries

The query currently displayed in the main panel (i.e. excluding any standard input boxes) can be saved into a GML file. Pressing the "Save Query" button (always!) opens a file chooser dialog where the name of the file into which the query should be saved can be entered.

The button "Save Sub-Query" is responsible for saving only the selected part of the query. The second difference to the normal "Save Query" button is that additional information is stored. The purpose of this feature is to save subqueries that will later be loaded into a SubQuery_Box. When selecting several boxes, all free inputs and all Output_Boxes are tagged with i1, i2, ... and o1, o2, ... respectively. This information will be saved together with the subquery since it fixes the order in which the inputs and outputs of the SubQuery_Box getting this subquery as parameter will appear. The tags are sorted by the vertical (i.e. y-) coordinates of the inputs / outputs.

Principally, it is possible to load a query into a SubQuery_Box that has not been saved via the "Save Sub-Query" button. This means, however, that the order of the inputs and outputs is chosen by random and can change when loading the same query several times.

Loading a query using the "Load Query" button opens a file chooser dialog. If a file has been chosen and the contained query graph can successfully be loaded, the current query will be removed from the main panel and the new graph is added.

Saved queries can also be loaded into the Gravisto system. Since the names of the boxes and their geometrical properties are saved as normal attributes, the standard Gravisto view will display a readable version of it. No functionality is connected to those node, of course.

Executing Queries

After having created or loaded a query, it can be executed. Clicking on the "Start" button will initiate the corresponding algorithm.

The button used to run the query execution algorithm.
Only boxes to which a path in the underlying undirected query graph from one of the standard input boxes exists are executed. Others will be ignored.

Whenever a query has been successfully executed, another small dialog pops up, showing the result table of the current query. This is connected to the Gravisto editor in the following way: Selecting any cell in the table results in all graph elements that are displayed in this cell (maybe nested within collections of collections) being marked in the Gravisto view. The checkbox on top of each column in the result table can be used to select all cells in one column. Observe that the very moment a cell containing a graph element has been selected, the second standard input box appears.

Last modified: Tue Feb 17 22:38:32 Westeuropäische Normalzeit 2004