Commit graph

72 commits

Author SHA1 Message Date
Fabien Castan
18be350e6f
Merge pull request #1227 from ChemicalXandco/box_select
[ui] add support for selecting multiple nodes at once
2021-05-03 23:42:11 +02:00
ChemicalXandco
fdfabf0066 [ui] GraphEditor: use entire node selection when handling '_ from here' operations 2021-04-18 14:33:17 +01:00
ChemicalXandco
e8a5491178 [ui] GraphEditor: select duplicated nodes and select following nodes on alt + left click 2021-04-14 23:14:51 +01:00
ChemicalXandco
e18f815af9 [nodes] add node categories 2021-02-14 17:03:42 +00:00
ChemicalXandco
3d33134ca9 [ui] add support for node categories 2021-02-14 16:12:39 +00:00
ChemicalXandco
55b16bc6d3 [tests] update node duplication test 2021-02-03 22:29:31 +00:00
ChemicalXandco
acf1bf2116 [ui] grapheditor: explicitly pass selected nodes argument 2021-01-26 21:13:16 +00:00
ChemicalXandco
aef50d9bde [ui] GraphEditor: fix error when node is clicked with control and not selected 2021-01-22 22:49:44 +00:00
Fabien Castan
078120696a [ui] GraphEditor: fix some readOnly regarding CompatibilityNodes 2021-01-22 14:30:33 +01:00
ChemicalXandco
6f50f652c2 [ui] GraphEditor: fix cursor shape
cursor is only 'closed hand'  when scrolling the graph
2021-01-15 20:16:14 +00:00
ChemicalXandco
c253e7d363 [ui] add support for selecting multiple nodes at once 2021-01-15 18:16:45 +00:00
Fabien Castan
ecf10a65f7 [ui] GraphEditor: visualize edges between params (non File attributes) 2020-12-18 01:13:54 +01:00
Julien-Haudegond
bd4c816e5b [ui] GraphEditor: fix edges removing when nodes are locked 2020-09-05 13:25:58 +02:00
Julien-Haudegond
44821a1c5e [ui] GraphEditor: move stop/cancel computation check into a Python slot 2020-08-26 15:52:00 +02:00
Julien-Haudegond
a00c82cd2f [ui] GraphEditor: check sessionUid for stop/cancel computation 2020-08-26 15:33:45 +02:00
Julien-Haudegond
044ef1710f [ui] GraphEditor: enable stop/cancel computation only on locked nodes 2020-08-25 11:11:00 +02:00
Julien-Haudegond
79e1c69d5d Merge remote-tracking branch 'origin/develop' into dev/nodesAndTaskManager 2020-08-24 15:19:31 +02:00
Julien-Haudegond
f41565f26b [ui] Graph: stop and cancel node computation 2020-08-20 16:20:55 +02:00
Julien-Haudegond
a3e0d530b4 [core/ui] fix typo and syntax 2020-08-20 15:07:29 +02:00
Julien-Haudegond
12de900e96 [ui] fix binding warnings when closing Meshroom 2020-08-17 17:50:44 +02:00
Julien-Haudegond
02b9e34ba4 [ui] GraphEditor: fix delete data issue with duplicate nodes 2020-08-12 18:30:26 +02:00
Julien-Haudegond
041cb8b81a [ui] GraphEditor: fix delete key issue 2020-08-12 10:31:06 +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
Lee Geertsen
70509f5dd2
Delete old readOnly property on GraphEditor 2019-11-29 11:34:15 +01:00
Lee Geertsen
3ff5ba8d54
[core] Submit and Compute buttons are disabled if needed 2019-11-29 11:34:15 +01:00
Lee Geertsen
3c32aaeecd
Fix problem for removing edge while computing 2019-11-29 11:34:10 +01:00
Lee Geertsen
6d83985b39
Lock Nodes and Edges during computing 2019-11-29 11:34:10 +01:00
Lee Geertsen
f4e5e84478
Redesign node UI, added state icons and separate inputs and outputs 2019-11-29 11:34:10 +01:00
Lee Geertsen
c00db25c23
Don't lock graph and node editor while computing nodes
Add possibilty to, while computing nodes:
add more nodes to the task manager,
edit, duplicate and remove nodes without breaking the tasks that are submitted
2019-11-29 11:34:10 +01:00
Yann Lanthony
28e7e64f3d [ui] show unsaved project warning dialog also when computing from GraphEditor 2019-01-30 09:48:37 +01:00
Yann Lanthony
2990129e0f [ui] GraphEditor: display ClosedHandCursor while dragging 2019-01-07 18:47:20 +01:00
Yann Lanthony
b46a2dbba1 [ui] Controls: add SearchBar component + better keyboard focus handling
* use it in MetadataListView and GraphEditor 'add Node' menu
* GraphEditor: forward MenuItem key events to searchBar to be able to continue editing the filter even if it lost active focus
2019-01-07 16:48:17 +01:00
Yann Lanthony
b5c985b3fb [ui] GraphEditor: solo 3D media with Double Click + Control modifier
* allow to solo a 3D media from the GraphEditor by double clicking on a node or an attribute with the Control modifier pressed
* consistent with Viewer3D.MediaLibrary behavior (solo on Ctrl+Click on visibility button)
* handle supported file extensions in Viewer3DSettings
2019-01-07 16:19:42 +01:00
Yann Lanthony
4541d825ad [ui] GraphEditor: consistent readOnly mode when computing
* lock edit actions when graph is being computed
* add an advanced option to control this behavior and unlock it (stored in persistent settings)
2019-01-07 15:39:47 +01:00
Yann Lanthony
b09068dc68 [ui] Node: add "Clear Data From Here" menu entry + confirmation dialog 2019-01-07 10:47:25 +01:00
Yann Lanthony
d1bf04bdf5 [ui] Node: gather single and "From Here" actions in the same menu entry
* add a ToolButton for duplicating/removing following nodes in corresponding entries instead of having a separate item
* change text when those button are hovered to reflect the change of action
* wording: rename "Delete Node" to "Remove Node"
2019-01-07 10:47:25 +01:00
Yann Lanthony
d10c779914 [ui] GraphEditor: add "Delete From Here" in node contextual menu
* ease the deletion of a branch from a given starting point
* accessible with alt+del on a node
* re-order menu to put the most destructive operation (Clear Data) at the very end
2019-01-07 10:47:25 +01:00
Yann Lanthony
b50f9fb44d [ui] GraphEditor: only display "Submit" in node menu if available 2019-01-07 10:47:25 +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
5b991053a8 [ui] UIGraph: add selectedNode property
move node selection management to the Python side
2018-12-07 16:07:42 +01:00
Yann Lanthony
fc8ea7ca18 [ui] GraphLayout: fix bouding box computation
correctly initialize width and height with first item
2018-08-06 10:37:45 +02:00
Fabien Castan
44e34d7eb3 [ui] use shift to pan (instead of Ctrl) 2018-08-03 14:38:08 +02:00
Yann Lanthony
94cba653d5 [ui] GraphEditor: improved ToolBar
* replace text buttons with MaterialToolButtons
* hide advanced min/max depth settings to a Settings menu
2018-07-27 19:12:55 +02:00
Yann Lanthony
e95c88292e [ui] GraphEditor: improve node selection
* deselect node background click
* always select node when pressed
* fix 'mouse.button/s' testing
2018-07-27 19:05:53 +02:00
Yann Lanthony
c3464fa4e8 [ui] GraphEditor: trigger fit on project opening
* fit when the underlying graph has changed (new/open project)
* add 'F' shortcut to fit
* trigger fit after UI has been fully initialized (correct sizes)
2018-07-27 19:05:53 +02:00
Yann Lanthony
53be806019 [ui] GraphEditor: improve Edge UI
* increase EdgeMouseArea thickness for easier picking
* EdgeMouseArea: propagate modifiers on pressed
* increase edge visual thickness when hovered
* add edge contextual menu on right click
* Alt+RighClick shortcut to delete an edge
2018-07-27 19:05: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
06f3d140df [ui] GraphEditor: faster animation for node movement 2018-07-26 22:48:30 +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
Fabien Castan
bb0155ba42
Merge pull request #150 from alicevision/dev_versionCompatibility
Introduce version compatibility handling
2018-07-26 12:50:15 +02:00