first commit
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
import QtQuick 2.0
|
||||
|
||||
Rectangle {
|
||||
width: 1024
|
||||
height: 768
|
||||
color: "black"
|
||||
|
||||
// only show the UI on the main window
|
||||
property double __uiOpacity: __shouldShowUi ? 1.0 : 0.0
|
||||
property bool __uiVisible: true
|
||||
readonly property bool __shouldShowUi: (isMainWindow && _application.showUI)
|
||||
readonly property bool isMainWindow: (_windowNumber === 0)
|
||||
|
||||
Component.onCompleted: {
|
||||
// synchronize insitial state of this
|
||||
__uiVisible = __shouldShowUi;
|
||||
}
|
||||
|
||||
Behavior on __uiOpacity {
|
||||
SequentialAnimation {
|
||||
ScriptAction { script: if (_application.showUI) __uiVisible = true; }
|
||||
NumberAnimation { duration: 400 }
|
||||
ScriptAction { script: if (!_application.showUI) __uiVisible = false; }
|
||||
}
|
||||
}
|
||||
|
||||
Image {
|
||||
opacity: __uiOpacity * 0.5
|
||||
source: "qrc:///images/checkerboard"
|
||||
fillMode: Image.Tile
|
||||
anchors.fill: parent
|
||||
visible: __uiVisible
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: _application.activeCanvases
|
||||
|
||||
// we use a loader to only create canvases on the correct window
|
||||
// by driving the 'active' property
|
||||
delegate: Loader {
|
||||
id: canvasLoader
|
||||
sourceComponent: canvasFrame
|
||||
active: modelData.windowIndex === _windowNumber
|
||||
|
||||
Binding {
|
||||
target: canvasLoader.item
|
||||
property: "canvas"
|
||||
value: model.modelData
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Component {
|
||||
id: canvasFrame
|
||||
CanvasFrame {
|
||||
showUi: __uiVisible
|
||||
}
|
||||
}
|
||||
|
||||
VerticalTabPanel {
|
||||
anchors.fill: parent
|
||||
tabs: [browsePanel, configPanel, snapshotsPanel]
|
||||
titles: ["Connect", "Load / Save", "Snapshots"]
|
||||
visible: __uiVisible
|
||||
opacity: __uiOpacity
|
||||
}
|
||||
|
||||
Component {
|
||||
id: browsePanel
|
||||
BrowsePanel { }
|
||||
}
|
||||
|
||||
Component {
|
||||
id: configPanel
|
||||
LoadSavePanel { }
|
||||
}
|
||||
|
||||
Component {
|
||||
id: snapshotsPanel
|
||||
SnapshotsPanel { }
|
||||
}
|
||||
|
||||
GetStarted {
|
||||
visible: isMainWindow
|
||||
anchors.centerIn: parent
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user