This is an old revision of the document!
The Ptidej UI Viewer project provide interfaces and classes used by all the viewers. In particular, it provides the IRepresentation interface that is the “model” (as in the Model-View-Controller) of any viewer. This interface allows managing PADL models, Ptidej UI models, original sources, occurrences. It is essential that any viewer uses this interface for its model, as it allows extensions to the viewers to work seamlessly regardless of the viewer implementations.
This project also provides the IExtension interface that any extension to the viewers must implement. Differently from the IAnalysis interfaces defined in the PADL and Ptidej UI projects, this interfaces requires an extension to implement a invoke(IRepresentation) method. Therefore, it is possible for an extension to access the source paths from which a PADL model has been built, found occurrences, and so on.