Feel free to hack Gaphor. Patches are welcome.

Fetching Development Dependencies
=================================

Gaphor uses Easy Install to manage in easy way its dependencies.

To fetch and install dependencies as non-root user
 
1. Create ~/.pydistutils.cfg file

    [install]
    install_lib = ~/opt/share/python2.5/site-packages
    install_scripts = ~/opt/bin

2. Create (or extend) PYTHONPATH variable

    export PYTHONPATH=~/opt/share/python2.5/site-packages

3. Run setup.py script to fetch and install dependencies

    python setup.py develop

Prefix ~/opt can be changed to something more suitable for your setup.


Above is based on

    http://peak.telecommunity.com/DevCenter/EasyInstall#traditional-pythonpath-based-installation


Running Tests
=============
To run tests on Unix machine

    Xvfb :2.0 &
    DISPLAY=:2.0 nosetests gaphor/ 2>&1 | tee tests.log


Structure
=========

Gaphor contains the following modules:

UML
---
The UML module contains the UML 2.0 data model. This part is
quite stable and it is unlikely that code has to be changed
here.

  NOTE:	The code is generated from a Gaphor model: uml2.gaphor. This
	file can be loaded in gaphor.

diagram
-------
The diagram module contains items that can be placed in diagrams.
In most cases the classes NamedItem and Relationship can serve
as bases for your class.

ui
--
The user interface. This is where most of the work is to be done.

misc
----
Some utility stuff, such as Actions and aspects are put in here.

