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
ca712ef2aa
[ui] AttributeEditor: don't instantiate slider if no range is defined
2018-07-19 13:50:45 +02:00
Yann Lanthony
fc8a3f5f0b
[ui] GraphEditor: add helper functions to move and select nodes
2018-07-19 13:50:45 +02:00
Yann Lanthony
2952e11691
[core] move duplicateNode methods to core.graph
...
handle this low-level operation engine side
* fix ListAttribute children links duplication
* handle CompatibilityNode duplication
* move corresponding unit test in test_graph.py
* [ui] add DuplicateNodeCommand
2018-07-19 13:50:45 +02:00
Yann Lanthony
d5d8fa77dc
[ui] graph: better ListAttribute connections filtering
...
* fix ListAttribute => ListAttribute with children (was breaking multiple simple connections to a ListAttribute)
* add missing case ListAttribute => Attribute
2018-06-26 12:29:55 +02:00
Yann Lanthony
99d6068250
[graph] make ListAttribute connectable at root level
...
ListAttribute can now be connected :
* at root level to another ListAttribute (new)
* at child level to basic Attributes
2018-06-18 14:58:35 +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
1634555bf0
[ui] replace anchors by alignments inside Layouts
2018-05-03 16:52:00 +02:00
Yann Lanthony
014c1fe25f
[ui] specify keys for DropAreas
2018-04-13 22:48:46 +02:00
Yann Lanthony
029d4f2e7b
[ui] GraphEditor: clamp zoom
2018-04-13 22:44:09 +02:00
Yann Lanthony
adf59e56fa
[ui] GraphEditor: fix typo
2018-04-05 21:56:36 +02:00
Yann Lanthony
0249706018
[ui] add missing string paths to url conversions
2018-03-21 17:24:19 +01:00
Yann Lanthony
2e4d9b85e6
[ui] UIGraph: rename 'addNode' to 'addNewNode' to match core.graph API
2018-03-21 15:53:34 +01:00
Yann Lanthony
e0b72863ee
[ui] GraphEditor: improve auto-layout related functions
...
* move graph boundingBox computation in a separate method
* perform autoLayout from "from" to "to" index (instead of "to"-1)
2018-03-21 15:53:34 +01:00
Yann Lanthony
f1b42acc14
[ui] add FilepathHelper Python class to manipulate paths and QUrls
...
* avoid non-cross platform hacks to convert string path to urls
* use standard python API
2018-03-06 15:32:33 +01:00
Yann Lanthony
0c071d03d1
[ui] remove ASCII icons
...
won't render correctly on some platforms
2018-02-26 17:01:41 +01:00
Yann Lanthony
b9a1e57b79
[ui][log] reload file when auto-reload timer stops
...
useful to reload the file when status goes from RUNNING to ERROR/SUCCESS
2018-02-26 17:00:20 +01:00
Yann Lanthony
2cdc83f06f
[ui] add string <--> file representation convertors
...
* convenient methods to conform strings to Qt file reprensentation using the "file:/" protocol prefix
* use those methodes when manipulating files
2018-02-26 16:59:25 +01:00
Yann Lanthony
d91601ca8e
[ui] move filepath.js to Utils module
2018-02-15 15:12:07 +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
6455b7c5d8
[ui] GraphEditor: add partial autoLayout
2018-02-12 18:12:26 +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
ca8a70f367
[ui] GraphEditor: grab focus on background click
2018-02-06 12:20:22 +01:00
Yann Lanthony
b931632ea2
[ui] lose edit focus on background click and TextField validation
2018-02-06 12:19:42 +01:00
Yann Lanthony
f6ff0b9151
[ui] use MaterialIcons instead of ASCII
2018-02-05 19:42:30 +01:00
Yann Lanthony
60f1f36ff8
[ui] AttributeEditor: add contextual actions on File params
...
* add 'Open Containing Folder'/'Open File' actions for filepaths
* add 'Open Folder' action for folders
* misc: tweak spacings
2018-02-05 19:04:39 +01:00
Yann Lanthony
c45ebdf83c
[ui] AttributeEditor: add contextual menu on attributes
...
* allow to expose additional actions on individuals attributes
* add 'Reset to Default Value' action
2018-02-05 18:28:31 +01:00
Yann Lanthony
24727de477
[ui] make label of linked attributes italic
2018-02-05 18:18:30 +01:00
Yann Lanthony
4d961065a8
[ui] don't 'bold' output attributes label
...
outputs don't have a real default value
2018-02-05 18:17:12 +01:00
Yann Lanthony
516a9641bd
[ui] display index as label for ListAttribute's children
2018-02-05 17:31:13 +01:00
Yann Lanthony
f81fdc3c51
[ui] allow file/text drop on String/File params
2018-02-05 15:22:49 +01:00
Yann Lanthony
0fec9c25b0
[ui] make labels of attributes with non-default value bold
2018-02-05 15:13:10 +01:00
Yann Lanthony
4d3509847a
[ui] move label inside AttributeItemDelegate
...
* avoid duplication of code for displaying labels of GroupAttribute's children
* display input/output aligned to the left/right
* add a background to improve readability
2018-02-05 15:05:34 +01:00
Yann Lanthony
0354c3dc9b
[ui] convert text value to Number before setting Int/FloatParams
2018-02-02 15:18:20 +01:00
Yann Lanthony
b08a6d65bf
[ui] logs: use Monospace font
2018-01-29 16:17:27 +01:00
Yann Lanthony
96d648d76d
[ui] logs: reset text if file could not be opened
2018-01-29 16:16:04 +01:00
Yann Lanthony
817e286d8f
[ui] logs: add button to control auto-refresh when chunk is running
2018-01-26 12:23:32 +01:00
Yann Lanthony
796551dc38
[ui] logs: don't reload unchanged file + improve position restoring
...
* in case the textArea changes, restore the scrollbar position to where it was (not only the cursor position)
2018-01-25 21:46:43 +01:00
Yann Lanthony
0bf2ffc4af
[ui] logs: load first chunk's log by default
2018-01-25 21:36:44 +01:00
Yann Lanthony
e71a95de7a
[ui] GraphEditor: invert TexField and Slider on Float/IntAttribute
2018-01-15 21:08:19 +01:00
Yann Lanthony
254b945728
[ui] GraphEditor: expose nodes depth strategy for auto-layout
...
add a ComboBox to chose between node's min/max depth for graph auto-layout
2018-01-15 15:27:21 +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
5f72a8a4eb
[ui] NodeLog: add initial log file read when chunk status changes
2018-01-03 16:00:27 +01:00
Yann Lanthony
36d2411d06
[ui] introduce NodeLog Component to monitor NodeChunks
...
* give access to Node's chunks log files (log, statistics, status) with auto-reload when current NodeChunk is being computed
* add tabs system in the AttributeEditor to switch between attributes edition and Node log
2017-12-28 21:37:26 +01:00
Yann Lanthony
728ddeeca3
[ui] move NodeChunks color "logic" in a javascript file
...
centralize status-based color in a file accessible from outside NodeChunk component
2017-12-28 21:15:13 +01:00
Yann Lanthony
a9bffb6c74
[ui] Node: elide attribute names + extend at mouse hover
2017-12-19 16:17:44 +01:00