Table of Contents
The Virtual Laboratory Browser
Quick Contents of this Page
Overview of the Browser
The object browser (see Figure 1) provides the user with a two dimensional
view of the Virtual Laboratory object hierarchy.
Figure 1 - The Browser window
Each object is represented by a folder symbol, object name, and optional
icon.
Prototypes and extensions are connected by lines
forming a tree structure. Objects with multiple folder symbols that are filled have
extensions, while objects with single folder symbols that are empty represent leaves of the tree.
Some objects have folder symbols that contain the letter "L". These are actually
symbolic links to other object databases (they represent links to other users' object oriented
file systems).
The tree is modified dynamically whenever objects are created, copied,
moved, or deleted.
The object hierarchy can be scrolled in both x and y directions
if it does not fit in the browser's window.
Startup Info
The object browser is invoked using the Unix command line:
browser [directory_name]
The optional directory_name specifies the root directory of the hierarchical file structure for vlab (this may be specified as a subdirectory
name relative to the current working directory).
If no directory is specified, then the $VLABROOT/oofs directory is used.
Example:
browser /usr/u/vlab/oofs
starts the browser with /usr/u/vlab/oofs as the root directory;
checks for the presence of a running vlab daemon and, if necessary, starts it.
Browser will automatically start the vlab daemon.
This program will create the file /tmp/vlabdxxx (where xxx is the user id) to indicate that the
vlab daemon is available for communication with any of the vlab system components.
The vlab daemon must be running at all
times while the object browser is being used.
Several browser processes may be active at the same time using a single vlab daemon.
The vlab daemon is closed when the user exits
the last browser process.
Menu bar
The menu bar contains the following menu captions:
File - collects a variety of items
- New browser - invokes a new browser process
- Open shell - opens a shell window to the location of the selected object in the vlab hierarchy
- Open file - opens up a file selection window, listing files in
the directory of the current object(or if no object is selected, the directory
of the root object)
- Customize - opens a window where you can customize the browser, i.e. change the colors, font, etc.
- Exit - exits the browser
View - allows users to control the view of the vlab object hierarchy
- Show extensions - shows one level of extensions for this object
- Show all extensions - shows all extensions for this object
- Hide extensions - hides all extensions for this object
- Show icon - shows the object's thumbnail icon
- Hide all icons - hides all thumbnail icons
- Show all icons - shows thumbnail icons for all the objects
- Center object - centers the selected object in the browser's window
- Begin tree here - shows the tree beginning at the selected object
- Begin tree from root - shows the tree beginning at the root of the object hierarchy
Object - allows users to invoke objects and manipulate the object hierarchy
- Get - copies the selected object to the lab table and invokes the
object manager represented by a window with the object's icon.
- Rename - renames the object
- Cut - copies the object and its entire subtree to the clipboard and deletes it
once a Paste operation has been performed
- Copy node - copies a single object (but not its subtree) to the clipboard
- Copy subtree - copies the object and its entire subtree to the clipboard for a subsequent Paste operation
- Paste - pastes the object from the clipboard into the selected object
- Delete - deletes the object and all its extensions from the file
system
Find: makes it possible to search for an object in the object tree
by specifying a substring of the name that is being looked for.
Example: if you entered a substring 'abc', the objects 'abc',
'xxxabc', 'abcyyy', 'xabcy' would
all be found.
Help - contains the Help menu items
- About - displays general information about the current version
of the browser
- Online help - brings up the Help system and this document
Mouse Operations
In addition to selecting menus from the menu bar, the mouse can also be used to perform a number of
actions.
Left Button
- Click on an object's folder symbol, name or icon: Selects the object
- Double click on the object's folder symbol: Places the object on the lab table (Gets the object)
- Double click on the object's name: Shows or hides object extensions (toggle action)
Middle Button
- Click on the object: Selects an object and makes it possible to copy it using "drag and drop" operation style.
The user selects an object and drags it to a new location, where
a new child is created.
The view of the object hierarchy is automatically scrolled if the destination
object is located outside the viewing area.
This
action only copies the object, not the object's extensions, and is
functionally equivalent to performing a
Copy node and Paste operation.
Dropping an object on itself or
releasing the mouse button with no object selected cancels the "drag and drop" operation.
Right Button
- Click on the object's name or folder symbol: Shows or hides the object's
thumbnail icon (toggle action).
Advanced features
The browser can be invoked as many times as needed, therefore the user
can see different parts of the tree (or different trees) using different
browsers.
The drag and drop feature works between browsers,
so an object can be dragged from one browser and dropped onto another browser.
This makes it very easy to integrate new subtrees into the main database.
Each browser's view of the hierarchy is updated automatically
when changes are made to the tree structure.
Customization
When the user selects Customize under the File menu, the browser customization window is displayed (see Figure 2).
Figure 2 - The browser customization window
Using this and descendent windows, it is possible to
choose the various colors used in the browser display, change the
format of the tree display, modify fonts, and select icon size and icon
zoom methods. Pushbuttons are located in the bottom of the
window for saving or loading the selected settings, and to apply or cancel
the selections. Custom settings are saved in the file browser
in the vlab/config directory.
Additional resources may be set using the X-windows standard method of
specifying them in the Browser file in the vlab/app-defaults directory.
It is possible to find out all of the resource names used, by running the X windows
editres program.
(editres - a dynamic resource editor for X Toolkit applications)
For usage information, see the online man pages (man editres).
Implementation Details
Browser was written in C, using Xt, Motif, OpenGL and SGI libraries.
References
E. Lowe - Extensions to the Virtual Laboratory. Master's thesis, University of Calgary, Calgary, Canada, 1995.
S. Moen, "Drawing Dynamic Trees", IEEE Software, July 1990, pp. 21-28.
Credits
P. Federl - design improvements and browser implementation
Selected routines for image manipulation copyright 1994 by John Bradley.
Used with permission.
E. Lowe - design and implementation of the browser's prototype in Tcl/Tk and C
I. Hernadi, P. Federl, P. Prusinkiewicz - browser documentation
Bugs
1. There is no 'undo' command.
2. Placing an object on the lab table is sometimes slow, since the object's files
need to be copied to a temporary location, and no user feedback is given during this
process until the object's icon is displayed on the screen.
Contact Information
Please direct all feedback, bug reports, and so on to
vlab@cpsc.ucalgary.ca.
Last updated Jan. 5, 1995 by Istvan Hernadi
Table of Contents