43 lines
979 B
QML
43 lines
979 B
QML
|
import QtQuick 2.12
|
||
|
import QtQuick.Controls 2.12
|
||
|
import QtQuick.Layouts 1.12
|
||
|
|
||
|
HColumnLayout {
|
||
|
implicitWidth: Math.min(
|
||
|
parent.width,
|
||
|
Math.max(tabBar.contentWidth, swipeView.contentWidth),
|
||
|
)
|
||
|
|
||
|
Layout.alignment: Qt.AlignCenter
|
||
|
Layout.fillWidth: false
|
||
|
Layout.fillHeight: false
|
||
|
|
||
|
property alias tabIndex: tabBar.currentIndex
|
||
|
property alias tabModel: tabRepeater.model
|
||
|
default property alias boxes: swipeView.contentData
|
||
|
|
||
|
HTabBar {
|
||
|
id: tabBar
|
||
|
Component.onCompleted: shortcuts.tabsTarget = this
|
||
|
|
||
|
Layout.fillWidth: true
|
||
|
|
||
|
Repeater {
|
||
|
id: tabRepeater
|
||
|
HTabButton { text: modelData }
|
||
|
}
|
||
|
}
|
||
|
|
||
|
SwipeView {
|
||
|
id: swipeView
|
||
|
clip: true
|
||
|
currentIndex: tabBar.currentIndex
|
||
|
interactive: false
|
||
|
|
||
|
Layout.fillWidth: true
|
||
|
|
||
|
Behavior on implicitWidth { HNumberAnimation {} }
|
||
|
Behavior on implicitHeight { HNumberAnimation {} }
|
||
|
}
|
||
|
}
|