User Tools

Site Tools



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

Link to this comparison view

ptidej_ui_viewer_standalone_swing [2014/05/01 09:21]
ptidej_ui_viewer_standalone_swing [2019/10/06 20:37]
Line 1: Line 1:
-====== Ptidej UI Viewer Standalone Swing ====== 
-The ''​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. ​ 
-===== Usage ===== 
-Here are some steps to use it: 
-^ Clickable Screenshots ^ Steps ^ 
-| {{:​ptidej_ui_viewer_standalone_swing_1.png?​100|}} | Starting-up the project viewer | 
-| {{:​ptidej_ui_viewer_standalone_swing_2.png?​100|}} | Using the File menu to create a new model from some C++ source files | 
-| {{:​ptidej_ui_viewer_standalone_swing_3.png?​100|}} | Giving a name to the model | 
-| {{:​ptidej_ui_viewer_standalone_swing_4.png?​100|}} | Selecting a directory containing C++ source files | 
-| {{:​ptidej_ui_viewer_standalone_swing_5.png?​100|}} {{:​ptidej_ui_viewer_standalone_swing_5.1.png?​100|}} | After reverse-engineering the C++ source code files, displaying the model | 
-| {{:​ptidej_ui_viewer_standalone_swing_6.png?​100|}} | Selecting the Tools tab... | 
-| {{:​ptidej_ui_viewer_standalone_swing_6.1.png?​100|}} | ... and showing the list of micro-architectures similar to some motifs (either from design patterns, design anti-patterns,​ code smells, or micro-patterns) | 
-| {{:​ptidej_ui_viewer_standalone_swing_7.png?​100|}} | At first, the list is empty... | 
-| {{:​ptidej_ui_viewer_standalone_swing_8.png?​100|}} | ... but selecting the Code Smells tab and the AbstractClass code smell reveals some potential problems | 
-| {{:​ptidej_ui_viewer_standalone_swing_9.png?​100|}} | These problem can be investigated by selecting the displayed occurrence in the list... | 
-| {{:​ptidej_ui_viewer_standalone_swing_10.png?​100|}}{{:​ptidej_ui_viewer_standalone_swing_10.1.png?​100|}} | ... or in the model view | 
-===== Implementation ===== 
-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 [[ptidej_ui_viewer_extensions|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. 
-The class ''​DesktopPane''​ is the world in which various visualisations can live. These visualisations are typically displayed as internal ''​Window''​s. 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 ''​Window''​s,​ from the ''​Windows''​ to the lists, and from the lists to the ''​Window''​s. 
ptidej_ui_viewer_standalone_swing.txt ยท Last modified: 2019/10/06 20:37 (external edit)