|
|
@@ -283,11 +283,15 @@ class Node(_Cluster): |
|
|
|
def __init__( |
|
|
|
self, |
|
|
|
label: str = "", |
|
|
|
icon: object = None, |
|
|
|
icon_size: int = None, |
|
|
|
**attrs: Dict |
|
|
|
): |
|
|
|
"""Node represents a system component. |
|
|
|
|
|
|
|
:param label: Node label. |
|
|
|
:param icon: Custom icon for tihs cluster. Must be a node class or reference. |
|
|
|
:param icon_size: The icon size when used as a Cluster. Default is 30. |
|
|
|
""" |
|
|
|
# Generates an ID for identifying a node. |
|
|
|
self._id = self._rand_id() |
|
|
@@ -295,6 +299,13 @@ class Node(_Cluster): |
|
|
|
|
|
|
|
super().__init__() |
|
|
|
|
|
|
|
if icon: |
|
|
|
_node = icon(_no_init=True) |
|
|
|
self._icon = _node._icon |
|
|
|
self._icon_dir = _node._icon_dir |
|
|
|
if icon_size: |
|
|
|
self._icon_size = icon_size |
|
|
|
|
|
|
|
# fmt: off |
|
|
|
# If a node has an icon, increase the height slightly to avoid |
|
|
|
# that label being spanned between icon image and white space. |
|
|
@@ -458,7 +469,7 @@ class Cluster(Node): |
|
|
|
label: str = "", |
|
|
|
direction: str = "LR", |
|
|
|
icon: object = None, |
|
|
|
icon_size: int = 30, |
|
|
|
icon_size: int = None, |
|
|
|
**attrs: Dict |
|
|
|
): |
|
|
|
"""Cluster represents a cluster context. |
|
|
@@ -469,13 +480,7 @@ class Cluster(Node): |
|
|
|
:param icon_size: The icon size. Default is 30. |
|
|
|
""" |
|
|
|
self._direction = direction |
|
|
|
if icon: |
|
|
|
_node = icon(_no_init=True) |
|
|
|
self._icon = _node._icon |
|
|
|
self._icon_dir = _node._icon_dir |
|
|
|
if icon_size: |
|
|
|
self._icon_size = icon_size |
|
|
|
super().__init__(label, **attrs) |
|
|
|
super().__init__(label, icon, icon_size, **attrs) |
|
|
|
|
|
|
|
|
|
|
|
class Edge: |
|
|
|