User Tools

Site Tools


ptidej_ui_viewer

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ptidej_ui_viewer [2013/06/13 05:11]
yann
ptidej_ui_viewer [2018/03/04 02:53] (current)
Line 1: Line 1:
-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.+====== ​Ptidej UI Viewer ​======
  
-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 projectsthis interfaces requires an extension to implement a invoke(IRepresentation) method. Thereforeit is possible for an extension to access the source paths from which a PADL model has been built, found occurrences, and so on.+The ''​Ptidej UI Viewer'' ​project ​provide interfaces and classes used by all the viewers. In particular, it provides the ''​ptidej.viewer.IRepresentation'' ​interface that is the "​model"​ (as in Model-View-Controller) of any viewer. This interface allows managing ​PADL models, ​Ptidej UI modelsoriginal sources, occurrences..
  
-There are implementations of different viewers. The most usable currently is ptidej.viewer.ProjectViewer in project Ptidej UI Viewer Standalone Swing. ​Here are some steps to use it:+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 implementation. Extensions are available in the ''​[[Ptidej UI Viewer Extensions]]''​ project.  
 + 
 +There are implementations of different viewers. The most usable currently is run through the class ''​ptidej.viewer.ProjectViewer'' ​in project ​''​[[Ptidej UI Viewer Standalone Swing]]''​There exists also an Eclipse plug-in using SWT to display models but this plug-in is currently outdated. 
 + 
 +===== Canvas ===== 
 + 
 +To assure the independence of the graphical representation,​ of the analyses and UI analyses, and of the extensions from the viewers and underlying graphical frameworks (AWT or SWT), ''​Ptide UI Viewer''​ provides several layers of models and canvas. A instance of ''​ModelGraph''​ is a graphical representation of an ''​AbstractLevelModel''​. Such an instance must be embedded into an instance of ''​Canvas''​. ''​ModelGraph''​ and ''​Canvas''​ are independent of the underlying graphical framework. Viewers and users can interact with them through two interfaces ''​SelectionListener''​ and ''​CanvasListener''​ following the Observer design pattern. An instance of ''​Canvas''​ can be finally embedded into either an ''​AWTCanvas''​ or ''​SWTCanvas''​ for integration in a user-interface. 
 + 
 +{{ :canvas_and_modelgraph.png?​direct&​500 |}}
  
-- Main window at startup {{:​ptidej_ui_viewer_standalone_swing_1.png|}} 
ptidej_ui_viewer.1371100287.txt.gz · Last modified: 2018/03/04 02:53 (external edit)