forked from qt-creator/qt-creator
QmlDesigner.PropertyEditor: Adding TabViewSpecifics
Change-Id: I4160946d46e7731809f5fbdadf47bd1e5dde38ef Reviewed-by: Marco Bubke <marco.bubke@digia.com>
This commit is contained in:
@@ -0,0 +1,88 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
|
||||||
|
** Contact: http://www.qt-project.org/legal
|
||||||
|
**
|
||||||
|
** This file is part of Qt Creator.
|
||||||
|
**
|
||||||
|
** Commercial License Usage
|
||||||
|
** Licensees holding valid commercial Qt licenses may use this file in
|
||||||
|
** accordance with the commercial license agreement provided with the
|
||||||
|
** Software or, alternatively, in accordance with the terms contained in
|
||||||
|
** a written agreement between you and Digia. For licensing terms and
|
||||||
|
** conditions see http://qt.digia.com/licensing. For further information
|
||||||
|
** use the contact form at http://qt.digia.com/contact-us.
|
||||||
|
**
|
||||||
|
** GNU Lesser General Public License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||||
|
** General Public License version 2.1 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||||
|
** packaging of this file. Please review the following information to
|
||||||
|
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||||
|
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Digia gives you certain additional
|
||||||
|
** rights. These rights are described in the Digia Qt LGPL Exception
|
||||||
|
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
import QtQuick 2.1
|
||||||
|
import HelperWidgets 2.0
|
||||||
|
import QtQuick.Layouts 1.0
|
||||||
|
import QtQuick.Controls 1.1 as Controls
|
||||||
|
|
||||||
|
SecondColumnLayout {
|
||||||
|
Controls.ComboBox {
|
||||||
|
id: currentIndexComboBox
|
||||||
|
|
||||||
|
TabViewIndexModel {
|
||||||
|
id: tabViewModel
|
||||||
|
modelNodeBackendProperty: modelNodeBackend
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
property color textColor: currentIndexColorLogic.textColor
|
||||||
|
|
||||||
|
model: tabViewModel.tabViewIndexModel
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
property bool __isCompleted: false
|
||||||
|
|
||||||
|
style: CustomComboBoxStyle {
|
||||||
|
textColor: currentIndexComboBox.textColor
|
||||||
|
}
|
||||||
|
|
||||||
|
onCurrentTextChanged: {
|
||||||
|
if (!__isCompleted)
|
||||||
|
return;
|
||||||
|
|
||||||
|
backendValues.currentIndex.value = currentIndexComboBox.currentIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
ColorLogic {
|
||||||
|
id: currentIndexColorLogic
|
||||||
|
backendValue: backendValues.currentIndex
|
||||||
|
onValueFromBackendChanged: {
|
||||||
|
invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
function invalidate() {
|
||||||
|
if (currentIndexComboBox.currentIndex !== backendValue.value)
|
||||||
|
currentIndexComboBox.currentIndex = backendValue.value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Component.onCompleted: {
|
||||||
|
currentIndexColorLogic.invalidate()
|
||||||
|
__isCompleted = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
ExtendedFunctionButton {
|
||||||
|
x: 2
|
||||||
|
y: 4
|
||||||
|
backendValue: backendValues.currentIndex
|
||||||
|
visible: currentIndexComboBox.enabled
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,75 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
|
||||||
|
** Contact: http://www.qt-project.org/legal
|
||||||
|
**
|
||||||
|
** This file is part of Qt Creator.
|
||||||
|
**
|
||||||
|
** Commercial License Usage
|
||||||
|
** Licensees holding valid commercial Qt licenses may use this file in
|
||||||
|
** accordance with the commercial license agreement provided with the
|
||||||
|
** Software or, alternatively, in accordance with the terms contained in
|
||||||
|
** a written agreement between you and Digia. For licensing terms and
|
||||||
|
** conditions see http://qt.digia.com/licensing. For further information
|
||||||
|
** use the contact form at http://qt.digia.com/contact-us.
|
||||||
|
**
|
||||||
|
** GNU Lesser General Public License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||||
|
** General Public License version 2.1 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||||
|
** packaging of this file. Please review the following information to
|
||||||
|
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||||
|
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Digia gives you certain additional
|
||||||
|
** rights. These rights are described in the Digia Qt LGPL Exception
|
||||||
|
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
import QtQuick 2.1
|
||||||
|
import HelperWidgets 2.0
|
||||||
|
import QtQuick.Layouts 1.0
|
||||||
|
import QtQuick.Controls 1.1 as Controls
|
||||||
|
|
||||||
|
ComboBox {
|
||||||
|
useInteger: true
|
||||||
|
backendValue: backendValues.tabPosition
|
||||||
|
implicitWidth: 180
|
||||||
|
model: [ "TopEdge", "BottomEdge" ]
|
||||||
|
scope: "Qt"
|
||||||
|
|
||||||
|
manualMapping: true
|
||||||
|
|
||||||
|
property bool block: false
|
||||||
|
|
||||||
|
onValueFromBackendChanged: {
|
||||||
|
if (!__isCompleted)
|
||||||
|
return;
|
||||||
|
|
||||||
|
block = true
|
||||||
|
|
||||||
|
if (backendValues.tabPosition.value === 1)
|
||||||
|
currentIndex = 0;
|
||||||
|
if (backendValues.tabPosition.value === 0)
|
||||||
|
currentIndex = 0;
|
||||||
|
if (backendValues.tabPosition.value === 8)
|
||||||
|
currentIndex = 1;
|
||||||
|
|
||||||
|
block = false
|
||||||
|
}
|
||||||
|
|
||||||
|
onCurrentTextChanged: {
|
||||||
|
if (!__isCompleted)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (block)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (currentText === "TopEdge")
|
||||||
|
backendValues.tabPosition.value = 1
|
||||||
|
|
||||||
|
if (currentText === "BottomEdge")
|
||||||
|
backendValues.tabPosition.value = 8
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,105 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
|
||||||
|
** Contact: http://www.qt-project.org/legal
|
||||||
|
**
|
||||||
|
** This file is part of Qt Creator.
|
||||||
|
**
|
||||||
|
** Commercial License Usage
|
||||||
|
** Licensees holding valid commercial Qt licenses may use this file in
|
||||||
|
** accordance with the commercial license agreement provided with the
|
||||||
|
** Software or, alternatively, in accordance with the terms contained in
|
||||||
|
** a written agreement between you and Digia. For licensing terms and
|
||||||
|
** conditions see http://qt.digia.com/licensing. For further information
|
||||||
|
** use the contact form at http://qt.digia.com/contact-us.
|
||||||
|
**
|
||||||
|
** GNU Lesser General Public License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||||
|
** General Public License version 2.1 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||||
|
** packaging of this file. Please review the following information to
|
||||||
|
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||||
|
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Digia gives you certain additional
|
||||||
|
** rights. These rights are described in the Digia Qt LGPL Exception
|
||||||
|
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
import QtQuick 2.1
|
||||||
|
import HelperWidgets 2.0
|
||||||
|
import QtQuick.Layouts 1.0
|
||||||
|
import QtQuick.Controls 1.1 as Controls
|
||||||
|
|
||||||
|
Column {
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
|
||||||
|
Section {
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.right: parent.right
|
||||||
|
caption: qsTr("TabView")
|
||||||
|
|
||||||
|
SectionLayout {
|
||||||
|
|
||||||
|
Label {
|
||||||
|
text: qsTr("Current index")
|
||||||
|
}
|
||||||
|
|
||||||
|
CurrentIndexComboBox {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Label {
|
||||||
|
text: qsTr("Frame visible")
|
||||||
|
toolTip: qsTr("Determines the visibility of the tab frame around contents.")
|
||||||
|
}
|
||||||
|
|
||||||
|
SecondColumnLayout {
|
||||||
|
CheckBox {
|
||||||
|
text: backendValues.frameVisible.valueToString
|
||||||
|
backendValue: backendValues.frameVisible
|
||||||
|
implicitWidth: 180
|
||||||
|
}
|
||||||
|
ExpandingSpacer {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Label {
|
||||||
|
text: qsTr("Tabs visible")
|
||||||
|
toolTip: qsTr("Determines the visibility of the the tab bar.")
|
||||||
|
}
|
||||||
|
|
||||||
|
SecondColumnLayout {
|
||||||
|
CheckBox {
|
||||||
|
text: backendValues.tabsVisible.valueToString
|
||||||
|
backendValue: backendValues.tabsVisible
|
||||||
|
implicitWidth: 180
|
||||||
|
}
|
||||||
|
ExpandingSpacer {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Label {
|
||||||
|
text: qsTr("Tab position")
|
||||||
|
toolTip: qsTr("Determines the position of the tabs.")
|
||||||
|
}
|
||||||
|
|
||||||
|
SecondColumnLayout {
|
||||||
|
|
||||||
|
TabPositionComboBox {
|
||||||
|
}
|
||||||
|
|
||||||
|
ExpandingSpacer {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -43,5 +43,8 @@
|
|||||||
<file>Controls/ComboBoxSpecifics.qml</file>
|
<file>Controls/ComboBoxSpecifics.qml</file>
|
||||||
<file>Controls/CheckBoxSpecifics.qml</file>
|
<file>Controls/CheckBoxSpecifics.qml</file>
|
||||||
<file>Controls/RadioButtonSpecifics.qml</file>
|
<file>Controls/RadioButtonSpecifics.qml</file>
|
||||||
|
<file>Controls/TabViewSpecifics.qml</file>
|
||||||
|
<file>Controls/TabPositionComboBox.qml</file>
|
||||||
|
<file>Controls/CurrentIndexComboBox.qml</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
Reference in New Issue
Block a user