Skip to content

diagram_view

Builder for diagram view layouts.

Transforms collected diagram elements into ELK input data.

DiagramViewBuilder 🔗

DiagramViewBuilder(diagram: ELKDiagram, params: dict[str, Any])

Build ELK input data from diagram elements.

Source code in src/capellambse_context_diagrams/builders/diagram_view.py
23
24
25
26
27
28
29
30
31
32
33
34
35
def __init__(
    self, diagram: context.ELKDiagram, params: dict[str, t.Any]
) -> None:
    self.diagram = diagram
    self.params = params
    self.data = _generic.collector(self.diagram, no_symbol=True)
    self.data.children = []

    self.boxes: dict[str, _elkjs.ELKInputChild] = {}
    self.ports: dict[str, _elkjs.ELKInputPort] = {}
    self.boxes_to_delete: set[str] = set()

    self.collector = diagram_view.Collector(diagram)

build_from_diagram 🔗

build_from_diagram(
    diagram: ELKDiagram, params: dict[str, Any]
) -> _elkjs.ELKInputData

Build ELK input data from a diagram.

Source code in src/capellambse_context_diagrams/builders/diagram_view.py
145
146
147
148
149
150
def build_from_diagram(
    diagram: context.ELKDiagram, params: dict[str, t.Any]
) -> _elkjs.ELKInputData:
    """Build ELK input data from a diagram."""
    diagram._slim_center_box = False
    return DiagramViewBuilder(diagram, params)()