Commit graph

29 commits

Author SHA1 Message Date
Julien-Haudegond
d838e7866a [ui] Node: fix slowness due to QML function calls with a lot of nodes
Instead of calling the duplicateList function for each node, at each modification, it is called only when we press the button.
2020-08-13 11:45:52 +02:00
Julien-Haudegond
de83294446 [ui] Node: change how duplicate nodes are displayed 2020-08-12 18:05:07 +02:00
Julien-Haudegond
ff7f8b3e36 [core/ui] add a locked property on nodes
Add locked property on core nodes and update UI in the same commit because both parts are very dependent for this change.
2020-08-11 13:08:47 +02:00
Yann Lanthony
991aca989b Merge develop into dev/nodesAndTaskManager 2020-01-24 14:54:08 +01:00
Yann Lanthony
61866708ac [ui] Node: improve node UI
* unify colors and spacing
* simplify status icon display
* remove duplicated code
2020-01-24 11:41:58 +01:00
Yann Lanthony
e2ef6520d7 [ui] Node: improve attribute display
* display filled pin when attribute has output connections
* start removing duplicated code
* tweak sizing/spacing 
* fix anchor errors
2020-01-24 11:37:59 +01:00
Yann Lanthony
97e18e02e1
[ui] Node: only display File attributes as Node attribute pins 2019-12-13 19:27:15 +01:00
Fabien Castan
65c472fe50
[ui] GraphEditor: change node background color 2019-11-29 11:34:15 +01:00
Fabien Castan
72e0e64e27
[ui] GraphEditor: fix QML errors
- fix anchors/layout/padding conflicts
- fix references to non-existing variables
- fix anchors to a position and not to an object
2019-11-29 11:34:15 +01:00
Fabien Castan
bbe40e0bc6
[ui] GraphEditor: use node label in duplicates tooltip 2019-11-29 11:34:15 +01:00
Lee Geertsen
72c0606b1b
[UI] Add node name to top bar, push icons right + add radius on node 2019-11-29 11:34:15 +01:00
Lee Geertsen
f4e5e84478
Redesign node UI, added state icons and separate inputs and outputs 2019-11-29 11:34:10 +01:00
Yann Lanthony
05854ed897 [ui] UIGraph: add hoveredNode property + node hovering visual feedback
* keep track of currently hovered node in UIGraph on Python side
* Node: show border on hover + make MouseArea contain everything else to always get hover events, even when cursor is over children attribute pins
2018-12-07 16:07:42 +01:00
Yann Lanthony
7db4beea89 [ui] use Node label in GraphEditor 2018-11-19 15:17:37 +01:00
Yann Lanthony
713ca7c6a3 [ui] GraphEditor: simplify attributes connection
* make Drag/DropArea overflow on the attribute's label to be more tolerant when connecting attributes
* add visual feedback when hovering interactive areas
* tweak spacings between attributes
2018-07-27 19:12:53 +02:00
Yann Lanthony
e6e2c18aa8 [ui] Node: add selected property + selection border
* use more efficient selection border instead of slightly changing header's color
* require activeFocus when selected
2018-07-26 22:50:42 +02:00
Yann Lanthony
f415745a4a [ui] make Nodes moves undoable
Handle nodes move and auto-layout on Python side by using GraphLayout and MoveNodeCommand.

* Node QML component relies on underlying core.Node object's position
* MoveNodeCommand is called after a Node has been dragged
* partial/full auto-layout for specific graph operations (Duplication, Augmentation...) are now part of those operations
* serialized position in node data allows to properly restore nodes coordinates on undo/redo
* remove all layout/node moving code from QML
2018-07-26 22:46:22 +02:00
Yann Lanthony
7dfb750407 [ui] move node menu to GraphEditor + ensure computability of node
use core.graph.canCompute on current node to check if node can be computed; enable computation related MenuItem accordingly
2018-07-19 14:50:58 +02:00
Yann Lanthony
0128cd56f0 [ui] add CompatibilityBadge on CompatibilityNodes
* add badge icon on nodes in GraphEditor
* add badge banner in AttributeEditor with upgrade button when available
2018-07-19 13:50:45 +02:00
Yann Lanthony
20ef9b5a05 [ui] GraphEditor: unregister AttributePins when destroyed 2018-06-18 14:43:18 +02:00
Yann Lanthony
2f2390e465 [ui] fix Palette propagation
* bugfix: in latest PySide2 versions, application palette is not properly applied to all QtQuick Controls 2 components. Force this by exposing QApplication palette and bind it to the root ApplicationWindow.
* rename all "palette" ids to "activePalette" to avoid clashes with "palette" property on QtQuick Controls 2
* use parent component palette when it makes sense to propagate active/disabled style (instead of always using Active SystemPalette)
2018-05-28 15:30:09 +02:00
Yann Lanthony
0249706018 [ui] add missing string paths to url conversions 2018-03-21 17:24:19 +01:00
Yann Lanthony
06851f0357 [ui] GraphEditor: use Node name as objectName
* ease debugging
2018-02-12 18:50:54 +01:00
Yann Lanthony
53791cb7d8 [ui] GraphEditor: nodes duplication
* allow duplication of one node/all nodes following a node
* actions available from Node contextual menu and Alt+Click on node for multi-nodes duplication
2018-02-12 18:49:13 +01:00
Yann Lanthony
25992286d0 [ui] add partial graph submission up to a certain node 2018-02-07 14:35:50 +01:00
Yann Lanthony
907c9cbcba [ui] use signals instead of direct calls to context var '_reconstruction' 2018-02-07 14:33:30 +01:00
Yann Lanthony
b8f61bf033 [ui] display output 3D files when double clicking on a node
* iterate over output attributes to find an "obj" file
* make default material brighter
2018-01-05 12:14:32 +01:00
Yann Lanthony
a9bffb6c74 [ui] Node: elide attribute names + extend at mouse hover 2017-12-19 16:17:44 +01:00
Yann Lanthony
886ded7f19 [ui] create GraphEditor module 2017-12-12 17:47:27 +01:00
Renamed from meshroom/ui/qml/Node.qml (Browse further)