0 Introduction

This is the readme for the preview version of DreamCode. It is a very quick guide to get started. I know it is very short and if there are any questions I will answer them as quick as possible. See the contact section of this readme on how to reach me.

1 Requirements

- A Graphics card that supports the ARB_FRAGMENT_PROGRAM extension of OpenGl. 
  For NVidia cards this comes down to a Geforce FX or later.
  For ATI cards a Radeon in the 9000 series or later.
  The XGI Volari series and the Intel 915G chipset should also support it.

- 256 MB of Memory is recommended


2 How to use DreamCode

Start DreamCode and open one of the xml files in the sample directory.

NOTE: It is possible to create xml files based on your own source code by downloading GCC-XML from http://www.gccxml.org.

2.1 Mouse Controls

Left button is used to toggle selection of the rectangle under the mouse pointer.
Middle button is for pannnig. Hold down and drag the mouse to pan the view.
Right button is for activating queries with the current selection. However this functionality is not yet available.
Scroll button is for zooming.
Ctrl+Scroll button can be used when 1 rectangle is selected. While scrolling the selection now moves through the hierarcy of the rectangles. This is useful when no borders are drawn and you want to select the parent rectangle.

2.2 Keyboard

Esc: Cancel current selection.
Backspace: Reset the view.
r: the same as Backspace.
w,a,s,d: discrete panning (cfr. Middle mouse button).
Up: Selects the parent of the selected rectangle.

2.3 Menu's

2.3.1 Tools

Find dialog
Type a name of an element to look it up.

Preferences dialog
This is a dialog in which a wide variety of settings can be customised. The top group lets you change the layout. The bottem group changes the way the treemap is drawn. It is possible to save your preferences in an xml based config file. The config file the program loads on startup is settings.cfg. Some options in the config file can only be set by editing the file itself. 
Some sample config files are available in the samples directory. To use one of them just copy one of the sample config files over settings.cfg and (re)start the program.

NOTE: Most options in the layout group (all but border width) require that you press the OK button before the changes are applied.

2.3.2 Selection

The option you select here determines what rectangle is selected when you left click. The default selects the rectangle under the mouse pointer. If you select "class", the class that holds the rectangle under the mouse pointer - if any - is selected. In the case "file" is selected, the file is selected in which the program element is defined that the rectangle represents. The "group" option is not implemented.


3 Issues

What follows is a list of issues that still needs to be resolved in the current version of DreamCode.
This is not a list of features that will be implemented.

-) Queries are not enabled. The popup menu that appears when you right click on a selected class won't do anything.
-) Files are only represented when they are found on disk. So when you get a big grey rectangle without any red rectangles that represent files, then the source files of the data file that is opened are not present on your disk. This will probably be the case when you open the sample xml files and Visual Studio 2003 is not installed on your hard drive.
-) It is possible to move outside the view while panning.
-) You can switch shaders, but for normal purposes it should stay on the default shader (normal).
-) The group option in the selection menu is not implemented.

4 Contact

Any suggestions, bug reports or other kind of feedback is more than welcome.

Email: f.nossin@student.tue.nl


