Model View
Go Up to GUI of Modeling
Go Up to Tool Windows Index
View > Tool Windows > Model View
Contents
To open the Model View, use the View > Model View menu command.
Model View is only available for Delphi projects.
Introduction
The Model View shows the model tree of logical structure and containment hierarchy of your modeling project.
The model tree provides the logical representation of the model of your modeling project. The model tree shows the hierarchy of modeling elements in your projects: the root nodes are project nodes, then come nodes of namespaces (packages) and diagrams, then nodes of other modeling elements shown on diagrams.
Double-click a node in the Model View tree to open the Code Editor for a specific class, interface, or member.
The Model View provides the context menu that you can show by right-clicking model tree nodes. Commands available on the context menu depend on the selected modeling element. Using the context menu, you can add new elements to the model directly in the Model View. Some of the actions provided by the context menu are
- Opening UML diagrams in the Diagram View
- Adding (or deleting) new UML diagrams in a project
- Adding (or deleting) modeling elements on a UML diagram
- Copying, cutting, and pasting modeling elements
- Creating hyperlinks
- Adding constraints
- Going to declaration of the selected modeling element in the Code Editor
- Locating the modeling element, selected in the Model View, on the corresponding UML diagram in the Diagram View
- Adding user properties.
- Generating documentation
- And other operations
Icons used in the Model View
This table lists some icons used in the model tree displayed in the Model View:
Icon | Represents |
---|---|
|
UML 1.5 design project |
|
UML 2 design project |
|
Delphi project |
|
Package or namespace |
|
Class diagram. UML 1.5 |
|
Class diagram. UML 2 |
|
Class |
|
Interface |
|
Association class |
|
Type Definition |
|
Delegate |
|
A property of a class |
|
Object. -- Element of class, deployment, collaboration, activity, and statechart diagrams |
|
Constraint -- Element of class diagrams |
|
Note |
|
Attribute |
|
Operation |
|
Data type |
|
Structure |
|
Union |
|
Enumeration |
|
Enumeration; UML 2 |
|
Enumeration value |
|
Instance specification |
|
Instance specification slot |
|
Part |
|
Port |
|
Activity diagram; UML 1.5 |
|
Activity diagram; UML 2 |
|
Activity -- Element of activity diagrams |
|
Decision -- Element of activity diagrams |
|
Signal receipt -- Element of activity diagrams |
|
Signal sending -- Element of activity diagrams |
|
Swimlane -- Element of activity diagrams |
|
End state -- Element of activity and statechart diagrams |
|
Horizontal synchronization bar (fork/join) -- Element of activity and statechart diagrams |
|
Start state -- Element of activity and statechart diagrams |
|
State -- Element of activity and statechart diagrams |
|
Vertical synchronization bar -- Element of activity and statechart diagrams |
|
Collaboration diagram; UML 1.5 |
|
Communication diagram; UML 2 |
|
Interaction -- Element of communication diagrams |
|
Component diagram; UML 1.5 |
|
Component diagram; UML 2 |
|
Subsystem -- Element of component diagrams |
|
Component -- Element of component diagrams |
|
Interface -- Element of component diagrams |
|
Composite structure diagram; UML 2 |
|
Collaboration -- Element of composite structure diagrams |
|
Collaboration occurrence -- Element of composite structure diagrams |
|
Deployment diagram; UML 1.5 |
|
Deployment diagram; UML 2 |
|
Node -- Element of deployment diagrams |
|
Sequence diagram; UML 1.5 |
|
Sequence diagram; UML 2 |
|
Lifeline -- Element of sequence diagrams |
|
Lifeline execution specification -- Element of sequence diagrams |
|
Statechart diagram; UML 1.5 |
|
State machine diagram; UML 2 |
|
State machine -- Element of state machine diagrams |
|
Region -- Element of state machine diagrams |
|
Entry point -- Element of state machine diagrams |
|
Exit point -- Element of state machine diagrams |
|
Use case diagram |
|
Actor -- Element of use case diagrams |
|
Use case -- Element of use case diagrams |
|
Subject (or System boundary) -- Element of use case diagrams |
Customizing the Model View
You can use the Model View options page of the Options dialog box to customize how the Model View renders the model tree.
To open the Options dialog box, choose the Tools > Options menu command, and to open the Model View options page select the Modeling > (level) > Model View node in the options tree.
The Model View options page provides the following options:
- Show links -- By default (
False
), the model tree does not display links between diagram nodes. You can selectTrue
to show the links to make the visual presentation of the project in the model tree more detailed. - Sorting type -- By default, diagram nodes are sorted by metaclass. You can define to sort elements by
Metaclass
,Alphabetically
, orNone
(do not sort). - View type -- By default, the model tree uses the
Simplified
organization of nodes. For the sake of better presentation, you can opt to show your model inDiagram-centric
or inModel-centric
modes. TheDiagram-centric
mode assumes that the design elements are shown under their respective diagrams; the namespaces only contain classes and interfaces (and the source-code elements for implementation projects). TheModel-centric
mode assumes that all elements are shown under the namespaces.
Commands
The Refresh Model View and Reload commands can be used to refresh the model tree.
Refresh Model View
The Refresh Model View button updates the model tree in the Model View to show possible changes in the implementation project's source code.
Reload
The Reload command refreshes the Modeling model tree from the source code of the implementation project.
The Reload command is available on the context menu of the project root nodes in the model tree. It is available for implementation projects only.
This command provides a total refresh for the elements of the model tree and removes invalid elements from the model. Using this command has the same effect as reopening the project group, but avoids the overhead of reinitializing RAD Studio.