1) How to install 2) How to use 3) Problems 4) How to remove 1) How to install Just expand vision.tgz in parents's SmartEiffel 1.1 installation directory. Winzip can open such archive. On UNIX-like systems, use command tar zxvf vision.tgz (for GNU tar) or gunzip vision.tgz; tar xvf vision.tar Then you must add the new directories in search list. Add those lines in file lib/loadpath.se: signal/ sequencer/ vision/loadpath.se Note that vision.tgz contains file who *have to* be put in sys/runtime/c directory. Other files are eiffel files which can be put anywhere as soon as the configuration files are filled in order to find them. 2) How to use Now you would like to see some graphic applications. Before you can, you have to discover some new mechanisms because vision are based on. 2.1) Signal This cluster is a very powerfull communication service. It's an improved implementation from Qt signal/slot principle (design pattern observer). You must understand it because widgets (graphic object) use signals. For example, when you create a button, then you register what is to be done when a click occur on this button. In order do discover signals, please go to the directory tutorial/signal. You'll find file signal.txt and examples. 2.2) Sequencer This cluster allows you to create many cooperative tasks. You can find some basic examples in tutorial/sequencer showing you how to make background jobs, periodic jobs, modal jobs. Using this cluster you can simulate tasks being executed in parallel. The next step if you are interested by jobs si to look how SIMPLE_*_JOB are implemented. 2.3) Vision This graphic library is written from scratch using Eiffel capabilities. It is aimed to be high quality graphic library, very easy to use, safe, light (only used features are in the executable), portable at the Eiffel level *and* at C level (C code produced on Windows can be used on any UNIX and vice versa). The main advantage over wrapper around existing graphic library is vision is design use Eiffel style and Eiffel power (design by contracts, genericity, agents, multiple inheritance). In tutorial/vision, you can find some examples and a README.txt file to understand basic vision principles. 3) Problems 3.1) Compilation problems On Linux system, tcc 0.9.18 is known to work but not 0.9.19 and next. If you have any trouble, just use gcc until tcc is fixed. On Windows, LCC is known to work (it's free). On some UNIX systems, if X11 installation directories are not standard, you may have compilation errors (header file not found) or linking errors (library not found). Then add option for your C compiler like -I... or -L... You may use SmartEiffel's verbose mode to see used command line. 3.2) Running problems On Windows system, there is two known bugs in the very low level management. Unfortunately these bugs does not appear on my Windows release and I have no Windows XP. It's really difficult to become Win32 expert and X11 expert! On X11 system, problems may occur with - unavailable unicode font (modify the file sys/runtime/c/basic_font.h using one of the commented font name. In this case, you *have to* use clean before you try to compile again.) - some popup windows if you change your virtual desktop (not all windows manager affected) 4) How to remove Your SmartEiffel compiler has not been modified, only some files have been added. If you really want to remove everthing: - remove the three lines you added in loadpath.se (see install chapter). - remove directories lib/signal, lib/sequencer, lib/vision and their counter parts in tutorial. - remove added files in sys/runtime/c. Their names are: basic_draw.c/h, basic_file.c/h, basic_font.c/h, basic_guikit.c/h, basic_image.c, basic_vision.c/h, basic_pixmap.c/h, basic_style.c/h, basic_window.c/h - remove directory work/tools