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/CheckBoxSpecifics.qml</file>
|
||||
<file>Controls/RadioButtonSpecifics.qml</file>
|
||||
<file>Controls/TabViewSpecifics.qml</file>
|
||||
<file>Controls/TabPositionComboBox.qml</file>
|
||||
<file>Controls/CurrentIndexComboBox.qml</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
Reference in New Issue
Block a user