nodedge.scene¶
Scene module containing Scene
.
-
class
nodedge.scene.
Scene
¶ Bases:
nodedge.serializable.Serializable
Scene
class- Instance Attributes
nodes - list of Nodes in this Scene
edges - list of Edges in this Scene
history - Instance of
SceneHistory
- clipboard - Instance of
scene_width - width of this Scene in pixels
scene_height - height of this Scene in pixels
-
property
isModified
¶ Has this Scene been modified?
- Getter
True
if the Scene has been modified- Setter
set new state. Triggers Has Been Modified event
- Type
bool
-
property
lastSelectedItems
¶ Returns last selected graphics items. This property is used to detect if selection has changed.
- Returns
Last selected items
- Return type
list[QGraphicsItem]
-
property
selectedItems
¶ Returns currently selected Graphics Items
- Returns
list of
QGraphicsItems
- Return type
list[QGraphicsItem]
-
property
graphicsView
¶ Shortcut for returning Scene
QGraphicsView
- Returns
QGraphicsView
attached to the Scene- Return type
QGraphicsView
-
property
silentSelectionEvents
¶ ” If this property is true, do not trigger onItemSelected when an item is selected
- Returns
True is onItemSelected is not triggered when an item is selected
- Return type
bool
-
onItemSelected
(silent: bool = False)¶ Handle Item selection and trigger event Item Selected
- Parameters
silent (
bool
) – IfTrue
scene’s onItemSelected won’t be called and history stamp not stored.
-
onItemsDeselected
(silent: bool = False)¶ Handle Items deselection and trigger event Items Deselected
- Parameters
silent (
bool
) – IfTrue
scene’s onItemsDeselected won’t be called and history stamp not stored.
-
doDeselectItems
(silent: bool = False) → None¶ Deselects everything in scene
- Parameters
silent (
bool
) – IfTrue
scene’s onItemsDeselected won’t be called
-
addHasBeenModifiedListener
(callback: Callable[None])¶ Register callback for Has Been Modified event
- Parameters
callback (
Callable[[], None]
) – callback function
-
addItemSelectedListener
(callback: Callable[None])¶ Register callback for Item Selected event
- Parameters
callback (
Callable[[], None]
) – callback function
-
addItemsDeselectedListener
(callback: Callable[None])¶ Register callback for Items Deselected event
- Parameters
callback – callback function
-
addDragEnterListener
(callback: Callable[PySide2.QtGui.QDragEnterEvent, None])¶ Register callback for Drag Enter event
- Parameters
callback – callback function
-
addDropListener
(callback: Callable[PySide2.QtGui.QDropEvent, None])¶ Register callback for Drop event
- Parameters
callback – callback function
-
resetLastSelectedStates
() → None¶ Resets internal selected flags in all Nodes and Edges in the Scene
-
removeNode
(nodeToRemove: nodedge.node.Node)¶ Remove
Node
from this Scene :param nodeToRemove:Node
to be removed from this Scene :type nodeToRemove:Node
-
clear
() → None¶ Remove all Nodes from this Scene. This causes also to remove all Edges
-
saveToFile
(filename)¶ Save this Scene to the file on disk.
- Parameters
filename (
str
) – where to save this scene
-
loadFromFile
(filename: str) → None¶ Load Scene from a file on disk
- Parameters
filename (
str
) – from what file to load the Scene- Raises
InvalidFile
if there was an error decoding JSON file.
-
serialize
() → collections.OrderedDict¶ Serialization method to serialize this class data into
OrderedDict
which can be stored in memory or file easily.- Returns
data serialized in
OrderedDict
- Return type
OrderedDict
-
deserialize
(data: dict, hashmap: Optional[dict] = None, restoreId: bool = True, *args, **kwargs) → bool¶ Deserialization method which take data in python
dict
format with helping hashmap containing references to existing entities.- Parameters
data (
dict
) – dictionary containing serialized datahashmap (
dict
) – helper dictionary containing references (by id == key) to existing objectsrestoreId (
bool
) –True
if we are creating new sockets.False
is useful when loading existing sockets which we want to keep the existing object’s id
- Returns
True
if deserialization was successful,False
otherwise- Return type
bool
-
getNodeClassFromData
(data)¶ Takes
Node
serialized data and determines which Node Class to instantiate according the description in the serialized Node.
-
setNodeClassSelector
(classSelectingFunction)¶ Set the function which decides what
Node
class to instantiate during Scene deserialization. If not set, we will always instantiateNode
for eachNode
in the Scene
-
itemAt
(pos)¶ Shortcut for retrieving item at provided Scene position
- Parameters
pos (
QPointF
) – scene position- Returns
Qt Graphics Item at scene position
- Return type
QGraphicsItem
-
getNodeById
(nodeId: int) → Optional[nodedge.node.Node]¶ Find node in the scene according to provided nodeId
- Parameters
nodeId (
int
) – ID of the node we are looking for- Returns
Found :class:`~nodedge.node.Node` or
None
- Return type
:class:`~nodedge.node.Node` or
None
-
exception
nodedge.scene.
InvalidFile
¶ Bases:
Exception