This class represents a project.
A project contains NodeContainers of all types. It also contains links between these nodes.
Project can manage ProjectChangeListeners . These listeners are called when anything changes on project.
Project also contains a list of enabled features, and a list of project properties.
Project defines methods to add/remove nodes, to fire events, to add/remove links, to find links...
Project is also responsible to store into XML document and to call each NodeContainer specific serializer.
All nodes inherit from com.alveole.studio.web.data.NodeContainer. There are 3 types of nodes:
Between nodes, are NodeLink .
NodeContainer expose methods to serialize/deserialize them into XML document. They are responsible of calling their managers to store specific part in XML.
This class contains references to Project , and exposes some GUI methods.
It enables for example to display some components on plugin's view (getNodePropertiesView()), to get a reference on SWT shell, to get a reference on java project (IProject).
ProjectContext is mainly used by GUI components, but it may exist before creation of project (used by wizards). In that case, GUI methods must not be called.
This class is a singleton class that helps finding managers for Action and View nodes. It is called by graph navigator and by many components.