It is know not possible anymore to connect Interfaces / Pads with the same direction or with itself, because it logicaly impossible and leads to fatal crash
Co-authored-by: Copilot <copilot@github.com>
This commit introduces some new functionalities:
- The deletion of nodes via a new context menu
- The context menu is also avalible in the Panel for Visuals
- You can rename nodes from nowon via a new rename dialog
- Cables have way more power and are responible for controling themselfs.
This puts a lot of code from the nodeeditor_scene to the cable
- Nodes can be now moved around without losing their Cable visualy. The Cable moves with them
Co-authored-by: Copilot <copilot@github.com>
First of all the context menu is not finished and introduced a bug with the panel.
The ContextMenu spawns on a right click and enables the user to insert and later also,
rename and view properties.
The follwing changes where edited:
- Context menu, Insert Nodes functionality for both panel and node editor
- Creating factories to create Nodes, give the Document more power / properties,
so that it is more central and opening various documents is easier later
- The active document is handled by itself
- Nodes have a new property "position_hint" to position them on node editor and panel
- The method setPanel was removed and was replaced by the Panel::addVisual method
- The class VisualContainer holds a new property "node" which is the visual node that is stored
in the VisualContainer
The removed virtual method was not used for any triggers / handlers
The logic inside it, just does what whould happen if you remove the
method, so I removed it
This commit introduces a move mechanism for NodeGraphicsItems,
the visual representation of Nodes in the Node Editor.
To do so it also introcudes a selection mechanism
The moving is handled by the NodeEditor class which is a QGraphsView. The routing is still handled in the nodeeditor_scene which is a QGraphicsScene.
The selection mechanism is slightly different from the
Panel. To move multiple Nodes you have to hold shilft, while dragging. By doing it differently, we can test, which method is
more intuitive and than implement if for the other system.
There is also an update to the devmanul.md. These explenations in the docs are not all implemented. But I use them as a guidenance for future commits.
* Refactor of Panel
- Changing Visuals as subclass of Nodes
- Removing Visual painting in Node Class
- New Visual Class that is part of the node module
- Moving ResizeBoundingBox from Visuals to Panel
- Introducing a VisualContainer where the Visuals are rendered in
- Adding property window
- Removing Visual Container in Documents
* Adding local doxygen to .gitignore
* Adding non documented parts to Doxygen
* Basic Property Window