waaake
2cc93f7006
[ui] Edge: Exposed the intersects method from the QML Edge component
2025-03-18 17:47:33 +01:00
waaake
d0aeafb34e
[ui] GraphEditor: Moved the click on edge to remove with the remove popup to be triggered with right click
2025-03-18 17:47:32 +01:00
waaake
b07540eaac
[ui] GraphEditor: Added check for node shake and connected shake to disconnect nodes method
2025-03-18 17:47:31 +01:00
waaake
1fdf27022b
[ui] Node: Added backend and signal for a Node Shake
...
Node shake is detected when the node starts changins positions after being clicked and it is tracked via a timer to consider a shake.
Emits the shaked signal when the node is shaked
2025-03-18 17:47:31 +01:00
waaake
ac220fd914
[ui] GraphEditor: Added Menu item to invoke disconnectSelectedNodes functionality for the graph
2025-03-18 17:47:30 +01:00
waaake
dc9b4c07b0
[ui] GraphEditor: Added shortcut to invoke disconnectSelectedNodes functionality for the graph
2025-03-18 17:47:30 +01:00
Candice Bentéjac
2c06ea4870
[GraphEditor] Use attribute's evaluated value for "Open File"
...
Otherwise, input attributes with variables (either environment ones
or local ones) cannot be opened through "Open File", even though "Open
Containing Folder" works fine.
2025-03-05 13:36:34 +00:00
Yann Lanthony
634197583c
[ui] AttributeEditor: Generic TextField param editor improvements
...
* Use disabled text color when attribute is readonly.
* Improved UX: text cursor on mouse hovering.
* Simplify context menu handling.
2025-02-26 15:24:21 +01:00
Yann Lanthony
5a66087eac
Merge pull request #2680 from alicevision/fix/jsParamInjection
...
[qml] Fix QML warnings when dropping project files into the Graph Editor
2025-02-25 17:39:18 +01:00
Candice Bentéjac
bfb9ee3272
[GraphEditor] Convert file to string before testing its extension
...
This fixes the "Property 'endsWith' of object file xxx is not a function"
warning.
2025-02-20 11:06:07 +01:00
Candice Bentéjac
e214868d81
[ui] Fix injections into signal handlers with JS functions
2025-02-20 11:06:06 +01:00
Candice Bentéjac
1fbf42a3f4
[GraphEditor] Only display "Pipelines" menu when templates are available
...
In the node menu (displayed when pressing "Tab" or right-clicking in the
Graph Editor), the "Pipelines" menu entry used to be displayed even if
there was no available template (the entry would open to display an
empty list).
This commit adds a check to ensure that the "Pipelines" menu is only
added to the node menu if there is at least one template that is
available. Otherwise, it is not displayed.
2025-02-19 15:14:27 +01:00
Candice Bentéjac
3e6aabc795
[qml] Handle cases where a chunk is undefined
2025-02-14 17:29:04 +01:00
Candice Bentéjac
b7716ef1bd
[GraphEditor] Remove "common.js" and use Utils.Colors instead
2025-02-14 17:19:11 +01:00
Yann Lanthony
212384bd1c
[ui] GraphEditor: redesign non exclusive ChoiceParam control
...
* Move the control to its own file.
* Add support for displaying custom values (elements outside the predefined possible values).
2025-02-13 11:40:09 +01:00
Yann Lanthony
ba272eddc7
[ui] GraphEditor: Move ChoiceParam control to its own file
...
Start modularization of attribute controls for better readability
and maintenance.
Make Choice control independent from the MeshroomUI API.
2025-02-13 11:40:09 +01:00
Yann Lanthony
cfc2979653
[ui] Redesign exclusive ChoiceParam UI component
...
Simplify the FilterComboBox to rely on the default behavior
provided by the ComboBox control.
Improve the filtering system and the ability to set a custom value.
Turn to a more declarative approach with regard to handling
value update and its mapping to the combobox's current index.
2025-02-13 11:40:09 +01:00
Yann Lanthony
d54ba012a0
[ui] Refactor node pasting using graph partial serialization
...
Re-implement node pasting by relying on the graph partial serializer,
to serialize only the subset of selected nodes.
On pasting, use standard graph deserialization and import the content
of the serialized graph in the active graph instance.
Simplify the positioning of pasted nodes to only consider mouse position
or center of the graph, which works well for the major variety of use-cases.
Compute the offset to apply to imported nodes by using the de-serialized
graph content's bounding box.
2025-02-06 16:46:04 +01:00
Yann Lanthony
e51bb93bf0
Merge pull request #2650 from alicevision/fix/CrashingEdge
...
[ui][fix] Edge: Fixing an issue with mouse event on Custom EdgeMouseArea causing Crash
2025-01-27 12:22:42 +01:00
waaake
870dcf4edb
[ui] Edge: Updated curveScale to use standard property binding for EdgeMouseArea
2025-01-27 16:48:00 +05:30
waaake
49ceb6e78c
[ui] Edge: Removed Qt.binding on curveScale
2025-01-23 10:42:28 +05:30
waaake
a5e6d61730
[ui] GraphEditor: Added Fit to Selected Nodes in the Graph
...
Pressing F or invoking GraphEditor.fit() now considers the selected nodes and fits/focusses on the overall selection if present, else fits/focusses all of available nodes
2025-01-21 09:45:46 +05:30
Candice Bentéjac
6071a914bc
Merge pull request #2646 from alicevision/dev/AutoLayoutMenu
...
[ui] Moved Auto-Layout Depth Settings under Graph Editor Menu
2025-01-17 14:42:54 +00:00
waaake
bf857bc6e4
[ui] GraphEditor: Setting the drag.smoothed property of the MouseArea to false when the selection is started
...
Setting the drag.smoothed to false ensures that the target will be moved straight to the current mouse position
2025-01-15 16:20:38 +05:30
waaake
c9b85ce137
[ui] Graph Editor: With the Auto-Layout Depth setting moved to the graph editor menu, the quick setting in the floating pane is removed
2025-01-15 09:14:33 +05:30
waaake
7384db89e3
[ui] ScriptEditor: Updated to Use Horizontal MSplitView
2025-01-10 08:18:43 +01:00
waaake
1b963ab1f2
[ui] ScriptEditor: Adjusted Icon Size and Layout
2025-01-10 07:44:45 +01:00
waaake
a90d5c4d38
[ui] ScriptEditor: Updated the content width of the input and output flickables
...
Formatted the input and output text for output display text area
2025-01-08 09:47:37 +05:30
waaake
49052dfc0f
[ui] ScriptEditor: ScriptEditor gets new icons
...
Updated Icons for ScriptEditor
Script Editor shows a confirmation dialog before clearing history
2025-01-07 09:37:33 +05:30
waaake
8207e84a41
[ui] ScriptEditor: ScriptEditor gets a RowLayout
...
A Row Layout is more practical for using script editor with the current placement of meshroom GUI.
2025-01-07 09:32:14 +05:30
waaake
2e577274e6
[ui] ScriptEditor: Added syntax colorization for the script editor
...
Python syntax within the script editor is now highlighted making it easier to understand and write smaller code in it.
2025-01-07 09:32:12 +05:30
waaake
4464cdf799
[ui] ScriptEditor: Updated Script Editor layout
...
ScriptEditor is now part of a ColumnLayout in an MSplitView allowing more control over what is being viewed.
2025-01-07 09:32:07 +05:30
Fabien Castan
e43cd62f79
Merge pull request #2627 from alicevision/fix/jsParamInjection
...
[GraphEditor] Fix injections into signal handlers with JS functions
2025-01-06 15:14:39 +01:00
waaake
a2f4ac560f
[ui] NodeEditor: Added refresh function to update the currentIndex of the tabBar
2024-12-31 09:43:27 +05:30
waaake
d142a745d0
[fix][ui] StatViewer: Updated Layouts for Stat Viewer
...
The sub column layouts in the parent column layouts were causing polish loop during show/resize ops
2024-12-30 09:28:36 +05:30
Candice Bentéjac
cb301b2aaa
[GraphEditor] Fix injections into signal handlers with JS functions
2024-12-26 15:44:11 +01:00
waaake
2f0996f7bf
[ui] NodeEditor: Addressed the issue with retaining tabs when switching node selection
...
Updated the event trigger to be onVisibleChanged and the condition to check whether the current selected node is an incomputable node and the current tab index does not exist for it before resetting the index to 0
2024-12-23 09:07:29 +05:30
waaake
b31da19e66
[ui] GraphEditor: Fixed Key handling for Node creation Menu
...
Keys.AfterItem as the priority ensures the Item's own key events are handled before Forwarding it to specified items. This handles all defined Enter and Return key presses
2024-12-19 06:05:11 +01:00
Candice Bentéjac
9aa9e7fe6e
[GraphEditor] Add missing import of Utils
to access Format
methods
2024-12-17 11:03:33 +00:00
Candice Bentéjac
e565458131
[GraphEditor] AttributeItemDelegate: Use MaterialLabel for uncomputed components
2024-12-11 14:59:35 +01:00
Yann Lanthony
944ff15002
[ui] Additive mode for select following Nodes
...
Implement additive selection behavior when selecting downstream
nodes from a node, using Alt+Shift+Click.
2024-12-09 11:16:33 +01:00
Yann Lanthony
fc85999011
[ui] GraphEditor: toggle node selected state on Ctrl+click
...
Closer to the standard behavior of the Ctrl modifier key for selection.
2024-12-09 10:18:48 +01:00
Yann Lanthony
87c0cef605
[ui] GraphEditor: fix indentation
2024-12-06 11:03:30 +01:00
Yann Lanthony
4a60e24c2e
[ui] GraphEditor: Improve node selected status logic
...
Instead of connecting to onSelectionChanged, use ItemSelectionModel.hasSelection
property, that can be use for direct bindings with the same behavior.
https://doc.qt.io/qt-6/qml-qtqml-models-itemselectionmodel.html#hasSelection-prop
2024-12-06 10:47:20 +01:00
Yann Lanthony
67bd43e040
[ui] Graph: remove selectedNodes
model
...
Expose `getSelectedNode` that relies on the QItemSelectionModel
for imperative code in QML that still requires to access the
selected node instances.
2024-12-06 10:14:50 +01:00
Yann Lanthony
cdfa6186b1
[ui] Graph: Add clearSelectedNodesData
method
...
Convenient function to directly work on the current node selection.
2024-12-06 10:14:50 +01:00
Yann Lanthony
d11a1f62cc
[ui] Graph Editor: fix remaining use of deleted function
2024-12-06 10:14:50 +01:00
Yann Lanthony
107b1e959a
[ui] GraphEditor: cache selected node computability status
...
Avoid to evaluate the computability/submitability status of each
node twice by caching the information when creating the node
context menu.
2024-12-06 10:14:50 +01:00
Yann Lanthony
ade1f87b8f
[ui] GraphEditor: Centralize node selection computability status
...
Re-write the computability status of the current node selection
as properties within the node menu component.
Note that this should be further improved to better scale with the size
of the selection, as it requires to traverse the graph for each node.
2024-12-06 10:14:50 +01:00
Yann Lanthony
b5836d96ed
[ui] GraphEditor: Create node context menu after selection update
...
Delay the loading of the node context menu once the node selection
has been updated, for it to consider the proper selection.
2024-12-06 10:14:50 +01:00