mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-05-21 21:16:29 +02:00
[ui] Add the notion of Node Documentation
This commit is contained in:
parent
2ebcf19382
commit
0e606eef4e
4 changed files with 55 additions and 0 deletions
|
@ -397,6 +397,7 @@ class Node(object):
|
||||||
outputs = []
|
outputs = []
|
||||||
size = StaticNodeSize(1)
|
size = StaticNodeSize(1)
|
||||||
parallelization = None
|
parallelization = None
|
||||||
|
documentation = ''
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -474,6 +474,9 @@ class BaseNode(BaseObject):
|
||||||
t, idx = self._name.split("_")
|
t, idx = self._name.split("_")
|
||||||
return "{}{}".format(t, idx if int(idx) > 1 else "")
|
return "{}{}".format(t, idx if int(idx) > 1 else "")
|
||||||
|
|
||||||
|
def getDocumentation(self):
|
||||||
|
return self.nodeDesc.documentation
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def packageFullName(self):
|
def packageFullName(self):
|
||||||
return '-'.join([self.packageName, self.packageVersion])
|
return '-'.join([self.packageName, self.packageVersion])
|
||||||
|
@ -766,6 +769,7 @@ class BaseNode(BaseObject):
|
||||||
name = Property(str, getName, constant=True)
|
name = Property(str, getName, constant=True)
|
||||||
label = Property(str, getLabel, constant=True)
|
label = Property(str, getLabel, constant=True)
|
||||||
nodeType = Property(str, nodeType.fget, constant=True)
|
nodeType = Property(str, nodeType.fget, constant=True)
|
||||||
|
documentation = Property(str, getDocumentation, constant=True)
|
||||||
positionChanged = Signal()
|
positionChanged = Signal()
|
||||||
position = Property(Variant, position.fget, position.fset, notify=positionChanged)
|
position = Property(Variant, position.fget, position.fset, notify=positionChanged)
|
||||||
x = Property(float, lambda self: self._position.x, notify=positionChanged)
|
x = Property(float, lambda self: self._position.x, notify=positionChanged)
|
||||||
|
|
38
meshroom/ui/qml/GraphEditor/NodeDocumentation.qml
Normal file
38
meshroom/ui/qml/GraphEditor/NodeDocumentation.qml
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
import QtQuick 2.11
|
||||||
|
import QtQuick.Controls 2.3
|
||||||
|
import QtQuick.Layouts 1.3
|
||||||
|
import Controls 1.0
|
||||||
|
|
||||||
|
import "common.js" as Common
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Displays Node documentation
|
||||||
|
*/
|
||||||
|
FocusScope {
|
||||||
|
id: root
|
||||||
|
|
||||||
|
property variant node
|
||||||
|
|
||||||
|
SystemPalette { id: activePalette }
|
||||||
|
|
||||||
|
ScrollView {
|
||||||
|
width: parent.width
|
||||||
|
height: parent.height
|
||||||
|
ScrollBar.vertical.policy: ScrollBar.AlwaysOn
|
||||||
|
ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
|
||||||
|
clip: true
|
||||||
|
|
||||||
|
TextEdit {
|
||||||
|
width: parent.parent.width
|
||||||
|
height: parent.height
|
||||||
|
|
||||||
|
padding: 8
|
||||||
|
textFormat: TextEdit.MarkdownText
|
||||||
|
selectByMouse: true
|
||||||
|
selectionColor: activePalette.highlight
|
||||||
|
color: activePalette.text
|
||||||
|
text: node.documentation
|
||||||
|
wrapMode: TextEdit.Wrap
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -148,6 +148,12 @@ Panel {
|
||||||
chunkCurrentIndex: m.chunkCurrentIndex
|
chunkCurrentIndex: m.chunkCurrentIndex
|
||||||
onChangeCurrentChunk: { m.chunkCurrentIndex = chunkIndex }
|
onChangeCurrentChunk: { m.chunkCurrentIndex = chunkIndex }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NodeDocumentation {
|
||||||
|
id: nodeDocumentation
|
||||||
|
Layout.fillWidth: true
|
||||||
|
node: root.node
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -185,6 +191,12 @@ Panel {
|
||||||
leftPadding: 8
|
leftPadding: 8
|
||||||
rightPadding: leftPadding
|
rightPadding: leftPadding
|
||||||
}
|
}
|
||||||
|
TabButton {
|
||||||
|
text: "Documentation"
|
||||||
|
width: implicitWidth
|
||||||
|
leftPadding: 8
|
||||||
|
rightPadding: leftPadding
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue