1import QtQuick 2.12
2import "../colors.js" as Colors
3
4Rectangle {
5    id: root
6    property real uiScale: 1
7    property real __padding: 4 * uiScale
8    implicitHeight: 2*__padding + 49 * uiScale
9    implicitWidth: parent.width
10    property alias title: label.text
11    property alias tooltipText: labelTooltip.tooltipText
12    property alias enteredText: textEntryBox.text
13    property bool highlight: false
14
15    color: highlight ? Colors.darkOrangeH : Colors.darkGray
16
17    signal tooltipWanted( string text, int coordX, int coordY )
18
19    Item {
20        id: labelBox
21        width: parent.width - 2*__padding
22        height: 25 * uiScale
23        x: __padding
24        y: __padding
25        Text {
26            id: label
27            color: "white"
28            anchors.fill: parent
29            verticalAlignment: Text.AlignVCenter
30            elide: Text.ElideRight
31            font.pixelSize: 12.0 * uiScale
32        }
33    }
34    Rectangle {
35        id: textEntryRect
36        color: "black"
37        width: parent.width - 2*__padding
38        height: 25 * uiScale
39        x: __padding
40        y: 25 * uiScale + __padding
41        TextInput {
42            id: textEntryBox
43            x: __padding
44            y: __padding * 1.25
45            width: parent.width - x
46            height: parent.height - y
47            color: "white"
48            selectByMouse: true
49            cursorVisible: focus
50            font.pixelSize: 12.0 * uiScale
51            clip: true
52        }
53    }
54
55    ToolTip {
56        id: labelTooltip
57        anchors.fill: labelBox
58        Component.onCompleted: labelTooltip.tooltipWanted.connect( root.tooltipWanted )
59    }
60}
61