Skip to content

Commit 829b184

Browse files
authored
feat: Increase extensibility of BasicGraphicsScene and GraphicsView (#492)
* Make GraphicView on* methods virtual * Added BasicGraphicsScene::setNodeGeometry
1 parent e5cf070 commit 829b184

File tree

3 files changed

+20
-13
lines changed

3 files changed

+20
-13
lines changed

include/QtNodes/internal/BasicGraphicsScene.hpp

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ class NODE_EDITOR_PUBLIC BasicGraphicsScene : public QGraphicsScene
5959

6060
void setConnectionPainter(std::unique_ptr<AbstractConnectionPainter> newPainter);
6161

62+
void setNodeGeometry(std::unique_ptr<AbstractNodeGeometry> newGeom);
63+
6264
QUndoStack &undoStack();
6365

6466
public:
@@ -139,17 +141,17 @@ class NODE_EDITOR_PUBLIC BasicGraphicsScene : public QGraphicsScene
139141

140142
public Q_SLOTS:
141143
/// Slot called when the `connectionId` is erased form the AbstractGraphModel.
142-
void onConnectionDeleted(ConnectionId const connectionId);
144+
virtual void onConnectionDeleted(ConnectionId const connectionId);
143145

144146
/// Slot called when the `connectionId` is created in the AbstractGraphModel.
145-
void onConnectionCreated(ConnectionId const connectionId);
146-
147-
void onNodeDeleted(NodeId const nodeId);
148-
void onNodeCreated(NodeId const nodeId);
149-
void onNodePositionUpdated(NodeId const nodeId);
150-
void onNodeUpdated(NodeId const nodeId);
151-
void onNodeClicked(NodeId const nodeId);
152-
void onModelReset();
147+
virtual void onConnectionCreated(ConnectionId const connectionId);
148+
149+
virtual void onNodeDeleted(NodeId const nodeId);
150+
virtual void onNodeCreated(NodeId const nodeId);
151+
virtual void onNodePositionUpdated(NodeId const nodeId);
152+
virtual void onNodeUpdated(NodeId const nodeId);
153+
virtual void onNodeClicked(NodeId const nodeId);
154+
virtual void onModelReset();
153155

154156
private:
155157
AbstractGraphModel &_graphModel;

include/QtNodes/internal/GraphicsView.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,13 @@ public Q_SLOTS:
5050

5151
void setupScale(double scale);
5252

53-
void onDeleteSelectedObjects();
53+
virtual void onDeleteSelectedObjects();
5454

55-
void onDuplicateSelectedObjects();
55+
virtual void onDuplicateSelectedObjects();
5656

57-
void onCopySelectedObjects();
57+
virtual void onCopySelectedObjects();
5858

59-
void onPasteObjects();
59+
virtual void onPasteObjects();
6060

6161
Q_SIGNALS:
6262
void scaleChanged(double scale);

src/BasicGraphicsScene.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,11 @@ void BasicGraphicsScene::setConnectionPainter(std::unique_ptr<AbstractConnection
122122
_connectionPainter = std::move(newPainter);
123123
}
124124

125+
void BasicGraphicsScene::setNodeGeometry(std::unique_ptr<AbstractNodeGeometry> newGeom)
126+
{
127+
_nodeGeometry = std::move(newGeom);
128+
}
129+
125130
QUndoStack &BasicGraphicsScene::undoStack()
126131
{
127132
return *_undoStack;

0 commit comments

Comments
 (0)