graph LR
gaphor_ui_mainwindow["gaphor.ui.mainwindow"]
gaphor_ui_diagrams["gaphor.ui.diagrams"]
gaphor_ui_diagrampage["gaphor.ui.diagrampage"]
gaphor_ui_toolbox["gaphor.ui.toolbox"]
gaphor_ui_elementeditor["gaphor.ui.elementeditor"]
gaphor_ui_modelbrowser["gaphor.ui.modelbrowser"]
gaphor_ui_filemanager["gaphor.ui.filemanager"]
gaphor_diagram_tools["gaphor.diagram.tools"]
gaphor_diagram_propertypages["gaphor.diagram.propertypages"]
gaphor_UML_treemodel["gaphor.UML.treemodel"]
gaphor_diagram_presentation["gaphor.diagram.presentation"]
gaphor_ui_mainwindow -- "orchestrates" --> gaphor_ui_diagrams
gaphor_ui_mainwindow -- "orchestrates" --> gaphor_ui_elementeditor
gaphor_ui_diagrams -- "manages" --> gaphor_ui_diagrampage
gaphor_ui_diagrams -- "notifies" --> gaphor_ui_mainwindow
gaphor_ui_diagrampage -- "uses" --> gaphor_diagram_tools
gaphor_ui_toolbox -- "notifies" --> gaphor_ui_diagrampage
gaphor_ui_diagrams -- "notifies" --> gaphor_ui_elementeditor
gaphor_ui_elementeditor -- "uses" --> gaphor_diagram_propertypages
gaphor_ui_modelbrowser -- "uses" --> gaphor_UML_treemodel
gaphor_ui_modelbrowser -- "notifies" --> gaphor_ui_elementeditor
gaphor_ui_filemanager -- "notifies" --> gaphor_ui_mainwindow
gaphor_ui_filemanager -- "impacts" --> gaphor_ui_diagrams
gaphor_diagram_tools -- "modifies" --> gaphor_diagram_presentation
The User Interface subsystem in gaphor encompasses all graphical user interface elements for user interaction, including diagram editing, property editing, model browsing, and file management dialogs. It combines the "View" and "Controller" aspects for visual interaction, adhering to the Desktop GUI Application pattern.
Acts as the primary application container, orchestrating the visibility and interaction between major UI panels and managing global application actions (e.g., file operations, active diagram switching).
Related Classes/Methods:
Manages the lifecycle of multiple diagrampage instances, allowing users to switch between different open diagrams (e.g., via tabs).
Related Classes/Methods:
Represents the primary interactive view for a single diagram, handling user input for drawing, selecting, and manipulating diagram items. It acts as the "View" and "Controller" for a specific diagram.
Related Classes/Methods:
Presents a categorized list of tools (e.g., class tool, association tool) that users can select to create new diagram elements.
Related Classes/Methods:
Displays and allows editing of properties for the currently selected model element or diagram item, providing a detailed "Property View."
Related Classes/Methods:
Provides a tree-like hierarchical view of all model elements within the project, enabling navigation, selection, and direct manipulation of the underlying model structure.
Related Classes/Methods:
Manages all file-related operations, including opening, saving, reloading, and merging project files. It acts as the "Controller" for file persistence.
Related Classes/Methods:
Provides foundational logic for user interactions on the diagram, such as selecting items, moving them, and creating new elements based on the active tool.
Related Classes/Methods:
Provides property page definitions for diagram elements.
Related Classes/Methods:
Provides the tree model for UML elements.
Related Classes/Methods:
Represents the visual presentation of diagram items.
Related Classes/Methods: