Commit graph

68 commits

Author SHA1 Message Date
Aurore LAFAURIE
12c3a1f8b9 [ui] Large Multiline Component added 2024-06-14 23:48:24 +02:00
Fabien Castan
d5d2ee3095
Merge pull request #2366 from alicevision/dev/copyPasteAttributeEditor
[ui] Right click on text element in AttributeEditor open Copy/Paste menu
2024-05-25 14:28:21 +02:00
Fabien Castan
00acdb5a88 [ui] GraphEditor: Add Copy/Paste on the attribute label too 2024-05-25 14:04:03 +02:00
Fabien Castan
02ab2ef931 [ui] GraphEditor: attribute now loses focus when Enter or Escape is pressed 2024-05-25 14:03:26 +02:00
Fabien Castan
49c0d0feea [ui] GraphEditor: manage selection for text copy/paste 2024-05-25 14:00:41 +02:00
Aurore LAFAURIE
dd7e19dd2c [ui] Selection of text for copy of text attribute fixed
If there is no text selected, then it copies all the attribute, otherwise it copies only the selected text.
2024-05-23 16:55:29 +02:00
Fabien Castan
de1938e55c
Merge pull request #2384 from alicevision/dev/internalAttributeColorPickerDisabled
[GraphEditor] Internal Custom Color Picker disabled when node is locked
2024-05-20 21:56:47 +02:00
Aurore LAFAURIE
55c657dc1d [core/ui] Modifiable label and description of node available 2024-04-25 17:03:33 +02:00
Aurore LAFAURIE
1cdcc6dd78 [GraphEditor] Internal Custom Color Picker disabled when node is locked 2024-04-24 18:11:57 +02:00
Aurore LAFAURIE
e3e25e677e [ui] Right click on text element in AttributeEditor open Copy/Paste menu 2024-04-24 16:02:26 +02:00
Aurore LAFAURIE
c5f440b8a8 [ui] Add PushButton component to AttributeItemDelegate 2024-04-24 15:29:45 +02:00
Aurore LAFAURIE
0a770f474f [ui] Disabled behavior applied to all types of parameters and attributes
Disabled behavior applied to all types of parameters and attributes
2024-04-19 17:16:21 +02:00
Aurore LAFAURIE
8d0dc4d62e [ui] Usage of Colors palette
Use of Colors palette instead of Qt palette because doesn't work by now
for disabled elements (until Qt6).
2024-04-19 17:16:21 +02:00
Aurore LAFAURIE
1b55dc8649 [ui] Attribute becomes grey in graph editor and attribute editor when connected but disabled
If attribute is disabled but has output connections, it becomes grey.
If the connection is removed while being disabled, it hides itself.

Both is working in GraphEditor on the nodes and in the AttributeEditor.
2024-04-19 17:16:20 +02:00
Aurore LAFAURIE
27aceb33e1 [ui] fix : invalide value when reopening AttributeEditor 2024-04-09 14:46:25 +02:00
Candice Bentéjac
3f3f2e647d [GraphEditor] Use attribute.values for the model
Following the modifications that introduce the dynamic choices, we use
the list of attributes instead of the description of the attributes.
2024-04-09 14:46:25 +02:00
Aurore LAFAURIE
9007dbdbfd [ui] Validate value even if not in values of ComboBox, Arrow Keys Navigation and Case insensitive 2024-04-08 17:46:57 +02:00
Aurore LAFAURIE
57a02fc50c Filter text reset when attribute reset 2024-04-08 17:46:56 +02:00
Aurore LAFAURIE
c439c5a06e Add FilterComboBox.qml and update AttributeItemDelegate.qml 2024-04-08 17:46:31 +02:00
Aurore LAFAURIE
498fd6cbd2 [core] Add new type of ChoiceParam that changes dynamically according to other values
Add new type of ChoiceParam that changes dynamically according to other
values.

When value of an attribute is changed onAttributeChanged is called,
allowing to have unique reaction within node files.

Also add of callDesc function to be able to have other functions such as
onNodeCreated at creation of node.
2024-03-28 12:06:40 +01:00
Candice Bentéjac
e9d80611c7 [GraphEditor] Clean-up: Harmonize syntax across all files 2023-11-06 16:28:22 +01:00
Candice Bentéjac
b916a923e1 [GraphEditor] AttributeItemDelegate: Fix binding loop warning 2023-11-06 16:28:20 +01:00
Abdelrahman AL MAROUK
b5093ac3a0 [ui] improve atts filtering and add search bar ...
...for node attributes and 3D inspector

- add search bar for node attributes
- add search bar for 3D inspector
- improve attributes filtering by adding more flexibility
and fixing some issues
2023-08-30 16:21:11 +02:00
Loïc Vital
363115b201 [ui] AttributeItemDelegate: remove redundant error icon 2023-08-21 16:46:38 +02:00
Candice Bentéjac
1e14b2c5a0 [ui] GraphEditor: Flag an attribute's label when its value is invalid
If an attribute's `validValue` is false, and it has a non-empty
`errorMessage`, the following will happen:
- An icon indicating an error will be added next to the attribute's name;
- The color of the label's background will change to red to clearly
indicate that something is wrong with the current value;
- The error message that has been set for this attribute will be displayed
in its tooltip, before its regular description.
2023-08-21 16:30:11 +02:00
Candice Bentéjac
091346cbb8 [qml] Optimize QML files and fix syntax warnings
This commit addresses warnings that were raised by QtCreator's linter:
- IDs declared more than once
- variables declared more than once in the same scope
- type coercions
- variables declared as "var" when their type is known
- unclosed "case" in switch-case
2023-07-04 12:04:14 +02:00
Candice Bentéjac
8c494198e0 [qml] Qt5.15: Update syntax for slots
Slots now need to be written as function; the previous syntax is
deprecated.
2023-07-03 12:11:33 +02:00
Candice Bentéjac
4b7a548687 Notify changes in internal attributes' properties
The "label", "color" and "comment" properties are not constant anymore,
their changes in value are notified with the internalAttributesChanged()
signal, like the "invalidation" property.

This implies that the connection on "internalAttributesChanged" on the
QML side is not needed anymore.
2023-02-15 08:36:16 +00:00
Candice Bentéjac
21d01acc9a Add "color" as an internal attribute
Setting this attribute allows the user to change the color
of a node, either by directly providing an SVG color name or an
hexadecimal color code, or by picking a color with the selector.
2023-02-15 08:36:11 +00:00
Candice Bentéjac
9bc9e2c129 Add "Notes" tab with "comment"/"invalid comment" attributes
Add two internal attributes, "Comment" and "Invalid comment", in
a specific "Notes" tab, which will contain any further internal
attribute. Internal attributes exist for all nodes.
2023-02-15 08:36:10 +00:00
Candice Bentéjac
708eb85c9c Evaluate variables in nodes' string parameters 2022-07-12 09:31:37 +02:00
Guillaume Buisson
67c4cf3c65 [attribute] hue semantic editor: add text editor and colored display 2021-07-19 12:03:11 +02:00
Fabien Castan
dc3f4dd2be [nodes] add semantic to customize attibute UI 2021-07-19 12:03:00 +02:00
Julien-Haudegond
a5407fc8c7 [ui] Graph Editor: remove useless attributes property 2020-07-29 11:34:45 +02:00
Fabien Castan
e933e1adf6 [ui] Float attributes: ensure alignment on the left
Ensure that the important part of the number is displayed.
2020-03-18 20:21:02 +01:00
Fabien Castan
77fc562a1e [ui] AttributeEditor: improve display of long floating point values 2020-03-10 11:59:41 +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
5a38295184 [ui][AttributeEditor] display attribute technical name in tooltip
+ convert attribute description from plain text to html
2019-01-04 17:30:38 +01:00
Yann Lanthony
6ac4a9d712 [desc][qt] use QVariantList for list-type properties
* required for PySide2 > 5.11.1 (and compatible with 5.11.1)
* AttributeItemDelegate: test for list length to determine whether to create a slider component (if range is set to None on Python side, it will be an empty list on the QML/JS side)
2019-01-04 17:30:38 +01:00
Yann Lanthony
e7b49f31c7 [ui][GraphEditor] use 'C' locale for FloatParam validator + minor fixes
* using 'C' locale to ensure floating point values can be written using '.' decimal separator
* make TextField larger by default for numbers and fill width when slider is not defined
* avoid binding loop on height for ListAttributes by using contentHeight as implicitHeight
* add explicitly id for Connections in ComboBox
2019-01-04 17:30:37 +01:00
Yann Lanthony
00feb46667 [ui] extract NodeEditor from AttributeEditor
* NodeEditor
    * exposes Node parameters: compatibility, attributes and logs
    * provides a placeholder when no active Node
* AttributeEditor
    * only displays the list of Attributes
    * use 'AttributeEditor' for GroupAttributes in AttributeItemDelegate
* Layout
   * move NodeEditor on the same SplitView level as GraphEditor
   * move current node name and menu to the Panel's header
2019-01-04 17:30:37 +01:00
Yann Lanthony
dc8be1efae [ui] Attribute: display icon on advanced parameters 2018-12-20 11:17:23 +01:00
Yann Lanthony
1c935b6b5a [ui] GraphEditor: show/hide advanced Attributes
* use SortFilterModels to filter out  advanced attributes when hidden
* add GraphEditorSettings with persistent settings related to the GraphEditor
2018-12-20 11:17:23 +01:00
Yann Lanthony
717b4f8b37 [ui] GraphEditor: display compatible attributes in Viewer3D on double click 2018-12-07 16:07:41 +01:00
Yann Lanthony
754a4360a3 [ui] AttributeEditor: set attribute when edited TextField is destroyed
ensure attribute is correctly set when the AttributeItemDelegate is abruptly destroyed (e.g: when another node is selected)
2018-07-27 19:05:53 +02:00
Yann Lanthony
d3885331b2 [ui] AttributeEditor: fix value setting by slider + avoid scientific notation
* fix reference to non-existing slider.value 
* convert values to string to avoid e+XX notation on large numbers
* fix number of decimals based on stepSize to avoid floating point approximations
2018-07-24 15:14:31 +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
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
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