Let Presentation inherit from Gaphas' Matrices
We need those anyway.
This commit is contained in:
parent
75998721a5
commit
543a609eff
@ -3,7 +3,6 @@ from typing import Optional
|
|||||||
|
|
||||||
from gaphas.connector import Handle, LinePort, Position
|
from gaphas.connector import Handle, LinePort, Position
|
||||||
from gaphas.geometry import Rectangle, distance_rectangle_point
|
from gaphas.geometry import Rectangle, distance_rectangle_point
|
||||||
from gaphas.matrix import Matrix
|
|
||||||
|
|
||||||
from gaphor.core.modeling import Presentation
|
from gaphor.core.modeling import Presentation
|
||||||
from gaphor.diagram.presentation import Named, postload_connect
|
from gaphor.diagram.presentation import Named, postload_connect
|
||||||
@ -36,8 +35,6 @@ def text_position(position):
|
|||||||
class ProxyPortItem(Presentation[sysml.ProxyPort], Named):
|
class ProxyPortItem(Presentation[sysml.ProxyPort], Named):
|
||||||
def __init__(self, diagram, id=None):
|
def __init__(self, diagram, id=None):
|
||||||
super().__init__(diagram, id)
|
super().__init__(diagram, id)
|
||||||
self._matrix = Matrix()
|
|
||||||
self._matrix_i2c = Matrix()
|
|
||||||
self._connections = diagram.connections
|
self._connections = diagram.connections
|
||||||
|
|
||||||
h1 = Handle(connectable=True)
|
h1 = Handle(connectable=True)
|
||||||
@ -59,14 +56,6 @@ class ProxyPortItem(Presentation[sysml.ProxyPort], Named):
|
|||||||
self.watch("subject[NamedElement].name")
|
self.watch("subject[NamedElement].name")
|
||||||
self.update_shapes()
|
self.update_shapes()
|
||||||
|
|
||||||
@property
|
|
||||||
def matrix(self) -> Matrix:
|
|
||||||
return self._matrix
|
|
||||||
|
|
||||||
@property
|
|
||||||
def matrix_i2c(self) -> Matrix:
|
|
||||||
return self._matrix_i2c
|
|
||||||
|
|
||||||
def handles(self):
|
def handles(self):
|
||||||
return self._handles
|
return self._handles
|
||||||
|
|
||||||
|
@ -6,7 +6,6 @@ import math
|
|||||||
from gaphas.constraint import constraint
|
from gaphas.constraint import constraint
|
||||||
from gaphas.geometry import Rectangle, distance_line_point
|
from gaphas.geometry import Rectangle, distance_line_point
|
||||||
from gaphas.item import Handle, LinePort
|
from gaphas.item import Handle, LinePort
|
||||||
from gaphas.matrix import Matrix
|
|
||||||
from gaphas.state import observed, reversible_property
|
from gaphas.state import observed, reversible_property
|
||||||
from gaphas.util import path_ellipse
|
from gaphas.util import path_ellipse
|
||||||
|
|
||||||
@ -218,8 +217,6 @@ class ForkNodeItem(Presentation[UML.ForkNode], Named):
|
|||||||
|
|
||||||
def __init__(self, diagram, id=None):
|
def __init__(self, diagram, id=None):
|
||||||
super().__init__(diagram, id=id)
|
super().__init__(diagram, id=id)
|
||||||
self._matrix = Matrix()
|
|
||||||
self._matrix_i2c = Matrix()
|
|
||||||
|
|
||||||
h1, h2 = Handle(), Handle()
|
h1, h2 = Handle(), Handle()
|
||||||
self._handles = [h1, h2]
|
self._handles = [h1, h2]
|
||||||
@ -250,14 +247,6 @@ class ForkNodeItem(Presentation[UML.ForkNode], Named):
|
|||||||
self, constraint(above=(h1.pos, h2.pos), delta=30)
|
self, constraint(above=(h1.pos, h2.pos), delta=30)
|
||||||
)
|
)
|
||||||
|
|
||||||
@property
|
|
||||||
def matrix(self) -> Matrix:
|
|
||||||
return self._matrix
|
|
||||||
|
|
||||||
@property
|
|
||||||
def matrix_i2c(self) -> Matrix:
|
|
||||||
return self._matrix_i2c
|
|
||||||
|
|
||||||
def handles(self):
|
def handles(self):
|
||||||
return self._handles
|
return self._handles
|
||||||
|
|
||||||
|
@ -26,7 +26,6 @@ from gaphas import Handle
|
|||||||
from gaphas.connector import LinePort, Position
|
from gaphas.connector import LinePort, Position
|
||||||
from gaphas.constraint import constraint
|
from gaphas.constraint import constraint
|
||||||
from gaphas.geometry import Rectangle, distance_rectangle_point
|
from gaphas.geometry import Rectangle, distance_rectangle_point
|
||||||
from gaphas.matrix import Matrix
|
|
||||||
from gaphas.solver import WEAK
|
from gaphas.solver import WEAK
|
||||||
|
|
||||||
from gaphor import UML
|
from gaphor import UML
|
||||||
@ -43,8 +42,6 @@ class ExecutionSpecificationItem(Presentation[UML.ExecutionSpecification]):
|
|||||||
|
|
||||||
def __init__(self, diagram, id=None):
|
def __init__(self, diagram, id=None):
|
||||||
super().__init__(diagram, id=id)
|
super().__init__(diagram, id=id)
|
||||||
self._matrix = Matrix()
|
|
||||||
self._matrix_i2c = Matrix()
|
|
||||||
self._connections = diagram.connections
|
self._connections = diagram.connections
|
||||||
|
|
||||||
self.bar_width = 12
|
self.bar_width = 12
|
||||||
@ -80,14 +77,6 @@ class ExecutionSpecificationItem(Presentation[UML.ExecutionSpecification]):
|
|||||||
style={"background-color": (1.0, 1.0, 1.0, 1.0)}, draw=draw_border
|
style={"background-color": (1.0, 1.0, 1.0, 1.0)}, draw=draw_border
|
||||||
)
|
)
|
||||||
|
|
||||||
@property
|
|
||||||
def matrix(self) -> Matrix:
|
|
||||||
return self._matrix
|
|
||||||
|
|
||||||
@property
|
|
||||||
def matrix_i2c(self) -> Matrix:
|
|
||||||
return self._matrix_i2c
|
|
||||||
|
|
||||||
def handles(self):
|
def handles(self):
|
||||||
return self._handles
|
return self._handles
|
||||||
|
|
||||||
|
@ -343,7 +343,6 @@ class Diagram(PackageableElement):
|
|||||||
|
|
||||||
def unlink(self):
|
def unlink(self):
|
||||||
"""Unlink all canvas items then unlink this diagram."""
|
"""Unlink all canvas items then unlink this diagram."""
|
||||||
log.debug("unlinking %s", self)
|
|
||||||
for item in self.ownedPresentation:
|
for item in self.ownedPresentation:
|
||||||
self.connections.remove_connections_to_item(item)
|
self.connections.remove_connections_to_item(item)
|
||||||
self._watcher.unsubscribe_all()
|
self._watcher.unsubscribe_all()
|
||||||
|
@ -3,16 +3,15 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from typing import TYPE_CHECKING, Callable, Generic, List, TypeVar
|
from typing import TYPE_CHECKING, Generic, TypeVar
|
||||||
|
|
||||||
|
from gaphas.item import Matrices
|
||||||
|
|
||||||
from gaphor.core.modeling import Element
|
from gaphor.core.modeling import Element
|
||||||
from gaphor.core.modeling.event import DiagramItemDeleted
|
from gaphor.core.modeling.event import DiagramItemDeleted
|
||||||
from gaphor.core.modeling.properties import association, relation_many, relation_one
|
from gaphor.core.modeling.properties import association, relation_many, relation_one
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from gaphas.connector import Handle # noqa
|
|
||||||
from gaphas.matrix import Matrix # noqa
|
|
||||||
|
|
||||||
from gaphor.core.modeling.diagram import Diagram
|
from gaphor.core.modeling.diagram import Diagram
|
||||||
|
|
||||||
S = TypeVar("S", bound=Element)
|
S = TypeVar("S", bound=Element)
|
||||||
@ -23,7 +22,7 @@ log = logging.getLogger(__name__)
|
|||||||
Transient = False
|
Transient = False
|
||||||
|
|
||||||
|
|
||||||
class Presentation(Element, Generic[S]):
|
class Presentation(Matrices, Element, Generic[S]):
|
||||||
"""This presentation is used to link the behaviors of
|
"""This presentation is used to link the behaviors of
|
||||||
`gaphor.core.modeling` and `gaphas.Item`.
|
`gaphor.core.modeling` and `gaphas.Item`.
|
||||||
|
|
||||||
@ -36,9 +35,9 @@ class Presentation(Element, Generic[S]):
|
|||||||
|
|
||||||
def __init__(self, diagram: Diagram, id=None):
|
def __init__(self, diagram: Diagram, id=None):
|
||||||
if id is Transient:
|
if id is Transient:
|
||||||
super().__init__(id)
|
super().__init__(id=id)
|
||||||
else:
|
else:
|
||||||
super().__init__(id, diagram.model)
|
super().__init__(id=id, model=diagram.model)
|
||||||
self.diagram = diagram
|
self.diagram = diagram
|
||||||
|
|
||||||
def update(event):
|
def update(event):
|
||||||
@ -58,11 +57,6 @@ class Presentation(Element, Generic[S]):
|
|||||||
parent: relation_one[Presentation]
|
parent: relation_one[Presentation]
|
||||||
children: relation_many[Presentation]
|
children: relation_many[Presentation]
|
||||||
|
|
||||||
handles: Callable[[Presentation], List[Handle]]
|
|
||||||
|
|
||||||
matrix: Matrix
|
|
||||||
matrix_i2c: Matrix
|
|
||||||
|
|
||||||
def request_update(self, matrix=True):
|
def request_update(self, matrix=True):
|
||||||
if self.diagram:
|
if self.diagram:
|
||||||
self.diagram.request_update(self, matrix=matrix)
|
self.diagram.request_update(self, matrix=matrix)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user