19import QtQuick.Window 2.2
20import Lomiri.Components 1.3
21import Dekko.Components 1.0
22import Dekko.Lomiri.Constants 1.0
27 height: implicitHeight;
29 implicitWidth: (!d.shouldStretch ? size : -1);
30 implicitHeight: (!d.shouldStretch ? size : -1);
34 property int activeEdge: Item.Right
35 property int size: units.gu(30)
36 property int minSize: units.gu(10)
37 property int maxSize: units.gu(50)
38 property bool resizable:
true
44 property bool stretchOnSmallFF:
false
45 property var viewState: dekko ? dekko : undefined
46 readonly
property bool expanded: !d.collapsed
47 default property alias content: internal.data
48 property alias contentItem: internal
49 property alias container: container
65 visible: (expanded && resizable);
67 var tmp = mapToItem (panel.parent, mouse.x, mouse.y);
68 originalPos = Qt.point (tmp.x, tmp.y);
72 var absCurrPos = mapToItem(panel.parent, mouse.x, mouse.y);
73 var deltaX = (absCurrPos.x - originalPos.x);
74 var deltaY = (absCurrPos.y - originalPos.y);
75 var tmp = originalSize;
90 size = Math.max(minSize, Math.min (maxSize, tmp));
93 property int originalSize : 0;
94 property point originalPos : Qt.point(0,0);
98 visible: grabber.pressed
103 height: parent.height
108 GradientStop { position: 0.0; color: LomiriColors.blue }
109 GradientStop { position: 1.0; color:
"transparent" }
116 visible: grabber.visible
120 if (d.subWindow === null) {
121 var rootItem = Introspector.window (panel);
122 var abspos = rootItem.contentItem.mapFromItem (panel, 0 , 0);
123 d.subWindow = compoWindow.createObject(Introspector.window (panel), {
124 "x" : (abspos.x + rootItem.x),
125 "y" : (abspos.y + rootItem.y),
127 panel.parent = d.subWindow.contentItem;
132 if (d.subWindow !== null) {
133 panel.parent = internal;
134 d.subWindow.destroy ();
143 width: internal.width;
144 height: internal.height;
146 onClosing: { attach (); }
152 property bool collapsed:
false
153 readonly
property bool shouldStretch: viewState && viewState.isSmallFF && stretchOnSmallFF
154 readonly
property bool dockedLeft: activeEdge === Item.Right
155 readonly
property bool dockedRight: activeEdge === Item.Left
156 readonly
property bool dockedBottom: activeEdge === Item.Top
157 readonly
property bool dockedTop: activeEdge === Item.Bottom
158 property Window subWindow : null
171 bottom: panel.bottom;
176 width: units.gu(0.5);
177 cursorShape: Qt.SizeHorCursor;
185 bottom: panel.bottom;
198 bottom: panel.bottom;
203 width: units.gu(0.5);
204 cursorShape: Qt.SizeHorCursor;
212 bottom: panel.bottom;
225 bottom: panel.bottom;
230 height: units.gu(0.5);
231 cursorShape: Qt.SizeVerCursor;
239 bottom: panel.bottom;
257 height: units.gu(0.5);
258 cursorShape: Qt.SizeVerCursor;