Skip to content

Commit ed4645c

Browse files
committed
[qml] NodeEditor: Add SplitView with ShapeEditor loader
1 parent 8de9c55 commit ed4645c

File tree

1 file changed

+38
-16
lines changed

1 file changed

+38
-16
lines changed

meshroom/ui/qml/GraphEditor/NodeEditor.qml

Lines changed: 38 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import QtQuick.Layouts
55
import Controls 1.0
66
import MaterialIcons 2.2
77
import Utils 1.0
8+
import Shapes 1.0
89

910
/**
1011
* NodeEditor allows to visualize and edit the parameters of a Node.
@@ -294,23 +295,44 @@ Panel {
294295

295296
currentIndex: tabBar.currentIndex
296297

297-
AttributeEditor {
298-
id: inOutAttr
299-
objectsHideable: true
300-
Layout.fillHeight: true
301-
Layout.fillWidth: true
302-
model: root.node.attributes
303-
readOnly: root.readOnly || root.isCompatibilityNode
304-
onAttributeDoubleClicked: function(mouse, attribute) { root.attributeDoubleClicked(mouse, attribute) }
305-
onUpgradeRequest: root.upgradeRequest()
306-
onShowInViewer: function (attribute) {root.showAttributeInViewer(attribute)}
307-
filterText: searchBar.text
308-
309-
onInAttributeClicked: function(srcItem, mouse, inAttributes) {
310-
root.inAttributeClicked(srcItem, mouse, inAttributes)
298+
// First tab
299+
MSplitView {
300+
orientation: Qt.Vertical
301+
302+
// Node shape editor
303+
Loader {
304+
id: shapeEditorLoader
305+
active: _reconstruction ?
306+
(_reconstruction.selectedNode ? _reconstruction.selectedNode.hasDisplayableShape : false) : false
307+
sourceComponent: ShapeEditor {
308+
model: root.node.attributes
309+
filterText: searchBar.text
310+
}
311+
SplitView.preferredHeight: active ? 200 : 0
312+
SplitView.minimumHeight: active ? 100 : 0
313+
SplitView.maximumHeight: active ? 400 : 0
311314
}
312-
onOutAttributeClicked: function(srcItem, mouse, outAttributes) {
313-
root.outAttributeClicked(srcItem, mouse, outAttributes)
315+
316+
// Node attribute editor
317+
AttributeEditor {
318+
id: inOutAttr
319+
objectsHideable: true
320+
Layout.fillHeight: true
321+
Layout.fillWidth: true
322+
SplitView.minimumHeight: 100
323+
model: root.node.attributes
324+
readOnly: root.readOnly || root.isCompatibilityNode
325+
onAttributeDoubleClicked: function(mouse, attribute) { root.attributeDoubleClicked(mouse, attribute) }
326+
onUpgradeRequest: root.upgradeRequest()
327+
onShowInViewer: function (attribute) {root.showAttributeInViewer(attribute)}
328+
filterText: searchBar.text
329+
330+
onInAttributeClicked: function(srcItem, mouse, inAttributes) {
331+
root.inAttributeClicked(srcItem, mouse, inAttributes)
332+
}
333+
onOutAttributeClicked: function(srcItem, mouse, outAttributes) {
334+
root.outAttributeClicked(srcItem, mouse, outAttributes)
335+
}
314336
}
315337
}
316338

0 commit comments

Comments
 (0)