first commit
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
import QtQuick 2.0
|
||||
import FlightGear 1.0 as FG
|
||||
|
||||
Item {
|
||||
id: root
|
||||
property bool showDecorations: true
|
||||
property alias canvas: paintedDisplay.canvas
|
||||
property bool showUi: true
|
||||
property bool showMenu: false
|
||||
|
||||
|
||||
Component.onCompleted: {
|
||||
if (canvas) {
|
||||
width = canvas.size.width
|
||||
height = canvas.size.height
|
||||
x = canvas.origin.x
|
||||
y = canvas.origin.y
|
||||
}
|
||||
}
|
||||
|
||||
function saveGeometry()
|
||||
{
|
||||
canvas.origin = Qt.point(x, y )
|
||||
canvas.size = Qt.size(root.width, root.height);
|
||||
}
|
||||
|
||||
Item {
|
||||
id: clipShell
|
||||
anchors.fill: parent
|
||||
clip: true
|
||||
|
||||
// FG.CanvasDisplay {
|
||||
// id: canvasDisplay
|
||||
// anchors.fill: parent
|
||||
|
||||
// onCanvasChanged: {
|
||||
// if (canvas) {
|
||||
// root.width = canvas.size.width
|
||||
// root.height = canvas.size.height
|
||||
// root.x = canvas.origin.x
|
||||
// root.y = canvas.origin.y
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
FG.PaintedCanvasDisplay {
|
||||
id: paintedDisplay
|
||||
anchors.fill: parent
|
||||
// canvas: canvasDisplay.canvas
|
||||
|
||||
onCanvasChanged: {
|
||||
if (canvas) {
|
||||
root.width = canvas.size.width
|
||||
root.height = canvas.size.height
|
||||
root.x = canvas.origin.x
|
||||
root.y = canvas.origin.y
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
border.width: 1
|
||||
border.color: "orange"
|
||||
color: "transparent"
|
||||
anchors.centerIn: parent
|
||||
width: parent.width
|
||||
height: parent.height
|
||||
visible: showUi
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
|
||||
drag.target: root
|
||||
|
||||
onReleased: {
|
||||
root.saveGeometry();
|
||||
}
|
||||
|
||||
onPressAndHold: {
|
||||
root.showMenu = true;
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
width: 32
|
||||
height: 32
|
||||
color: "orange"
|
||||
opacity: 0.5
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: parent.bottom
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
|
||||
// resizing
|
||||
|
||||
onPositionChanged: {
|
||||
var rootPos = mapToItem(root, mouse.x, mouse.y);
|
||||
// var rootDiff = Qt.point(rootPos.x - root.x,
|
||||
// rootPos.y - root.y);
|
||||
|
||||
root.width = rootPos.x;
|
||||
root.height = rootPos.y;
|
||||
}
|
||||
|
||||
onReleased: {
|
||||
saveGeometry();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Text {
|
||||
color: "orange"
|
||||
anchors.centerIn: parent
|
||||
text: "Canvas"
|
||||
visible: !root.showMenu
|
||||
}
|
||||
|
||||
Text {
|
||||
anchors.fill: parent
|
||||
verticalAlignment: Text.AlignBottom
|
||||
|
||||
function statusAsString(status)
|
||||
{
|
||||
switch (status) {
|
||||
case FG.CanvasConnection.NotConnected: return "Not connected";
|
||||
case FG.CanvasConnection.Connecting: return "Connecting";
|
||||
case FG.CanvasConnection.Connected: return "Connected";
|
||||
case FG.CanvasConnection.Closed: return "Closed";
|
||||
case FG.CanvasConnection.Reconnecting: return "Re-connecting";
|
||||
case FG.CanvasConnection.Error: return "Error";
|
||||
case FG.CanvasConnection.Snapshot: return "Snapshot";
|
||||
}
|
||||
}
|
||||
|
||||
text: "WS: " + canvas.webSocketUrl + "\n"
|
||||
+ "Root:" + canvas.rootPath + "\n"
|
||||
+ "Status:" + statusAsString(canvas.status);
|
||||
color: "white"
|
||||
|
||||
}
|
||||
|
||||
CanvasMenu {
|
||||
anchors.fill:parent
|
||||
visible: root.showMenu
|
||||
onMenuBack: root.showMenu = false
|
||||
onCloseCanvas: _application.closeCanvas(canvas);
|
||||
onReconnectCanvas: canvas.reconnect();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user