Skip to content

Tree Views

Jjodel provides two specialized tree views — one for metamodels and one for models — that offer a hierarchical, text-oriented perspective of your modeling artifacts. Tree views complement the graphical canvas by making it easy to navigate, inspect, and edit complex structures.

The metamodel tree view displays the complete structure of your metamodel in a collapsible hierarchy:

MyMetamodel
├── Package: core
│ ├── Class: Entity
│ │ ├── Attribute: name (String)
│ │ └── Reference: children (0..*)
│ └── Class: NamedElement [abstract]
│ └── Attribute: name (String)
└── Package: relations
└── Class: Association
├── Reference: source (1..1)
└── Reference: target (1..1)

From the metamodel tree view you can:

  • Select any element to view and edit its properties in the Properties Panel
  • Drag and drop elements to reorganize them (e.g., move a class into a different package)
  • Right-click for context menu options: rename, delete, add child elements
  • Expand/collapse branches to focus on specific parts of the metamodel

The model tree view shows the instances in your model, organized by their metamodel class:

MyModel
├── Person: "Alice"
│ ├── name = "Alice"
│ ├── age = 30
│ └── address → Address: "Home"
├── Person: "Bob"
│ └── name = "Bob"
└── Address: "Home"
└── street = "Via Roma 1"

From the model tree view you can:

  • Instantiate new objects by right-clicking on a class node
  • Edit attribute values directly
  • Establish and remove references between objects
  • Navigate to referenced objects by clicking on reference links

Tree views are particularly useful when:

  • The model or metamodel is large and the canvas becomes crowded
  • You need to quickly inspect all properties of a specific element
  • You want to perform bulk operations (e.g., adding multiple attributes)
  • You are working with deeply nested containment hierarchies