This is an old revision of the document!
Ptidej UI Viewer Standalone Swing project provides the class
ptidej.viewer.ProjectViewer, which is currently the most usable graphical interface to the Ptidej Tool Suite.
Here are some steps to use it:
|Starting-up the project viewer|
|Using the File menu to create a new model from some C++ source files|
|Giving a name to the model|
|Selecting a directory containing C++ source files|
|After reverse-engineering the C++ source code files, displaying the model|
|Selecting the Tools tab…|
|… and showing the list of micro-architectures similar to some motifs (either from design patterns, design anti-patterns, code smells, or micro-patterns)|
|At first, the list is empty…|
|… but selecting the Code Smells tab and the AbstractClass code smell reveals some potential problems|
|These problem can be investigated by selecting the displayed occurrence in the list…|
|… or in the model view|
The current implementation of the
Ptidej UI Viewer Standaline Swing is actually a mini-framework. It makes it easy for third-parties to integrate their own extensions and visualisations. It provides currently three types of visualisation: one purely graphical, one showing a hierarchical tree and a graphical representation, and one showing two hierarchical trees and graphical representations to distinguish types and their implementation classes.
DesktopPane is the world in which various visualisations can live. These visualisations are typically displayed as internal
Windows. Extensions and other lists listens to the visualisations by implementing the
CanvasListener interface. The canvas also listens to the
DesktopPane to receive notification of changes, for example in the choice of graphical elements to display. Hence, interactions can go in three directions without strong coupling (from the
DesktopPane to its
Windows, from the
Windows to the lists, and from the lists to the