File indexing completed on 2024-05-19 05:35:24
0001 ////////////////////////////////////////////////////////////////////////////// 0002 // oxygentabdemowidget.cpp 0003 // oxygen tabwidget demo widget 0004 // ------------------- 0005 // 0006 // SPDX-FileCopyrightText: 2010 Hugo Pereira Da Costa <hugo.pereira@free.fr> 0007 // 0008 // SPDX-License-Identifier: MIT 0009 ////////////////////////////////////////////////////////////////////////////// 0010 0011 #include "oxygentabdemowidget.h" 0012 0013 #include <QIcon> 0014 0015 namespace Oxygen 0016 { 0017 //______________________________________________________________ 0018 TabDemoWidget::TabDemoWidget(QWidget *parent) 0019 : DemoWidget(parent) 0020 , _left(new QToolButton(nullptr)) 0021 , _right(new QToolButton(nullptr)) 0022 { 0023 ui.setupUi(this); 0024 connect(ui.tabPositionComboBox, SIGNAL(currentIndexChanged(int)), SLOT(changeTabPosition(int))); 0025 connect(ui.textPositionComboBox, SIGNAL(currentIndexChanged(int)), SLOT(changeTextPosition(int))); 0026 connect(ui.documentModeCheckBox, SIGNAL(toggled(bool)), SLOT(toggleDocumentMode(bool))); 0027 connect(ui.cornerWidgetsCheckBox, SIGNAL(toggled(bool)), SLOT(toggleCornerWidgets(bool))); 0028 connect(ui.tabCloseButtonsCheckBox, SIGNAL(toggled(bool)), SLOT(toggleTabCloseButtons(bool))); 0029 connect(ui.tabBarVisibilityCheckBox, SIGNAL(toggled(bool)), ui.tabWidget, SLOT(toggleTabBarVisibility(bool))); 0030 ui.textPositionComboBox->setCurrentIndex(1); 0031 0032 _left->setIcon(QIcon::fromTheme(QStringLiteral("tab-new"))); 0033 _left->setVisible(false); 0034 0035 _right->setIcon(QIcon::fromTheme(QStringLiteral("tab-close"))); 0036 _right->setText(tr("Right Corner Button")); 0037 _right->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); 0038 _right->setVisible(false); 0039 } 0040 0041 //______________________________________________________________ 0042 void TabDemoWidget::toggleCornerWidgets(bool value) 0043 { 0044 if (value) { 0045 ui.tabWidget->setCornerWidget(_left, Qt::TopLeftCorner); 0046 ui.tabWidget->setCornerWidget(_right, Qt::TopRightCorner); 0047 } else { 0048 ui.tabWidget->setCornerWidget(nullptr, Qt::TopLeftCorner); 0049 ui.tabWidget->setCornerWidget(nullptr, Qt::TopRightCorner); 0050 } 0051 0052 _left->setVisible(value); 0053 _right->setVisible(value); 0054 ui.tabWidget->adjustSize(); 0055 } 0056 0057 //______________________________________________________________ 0058 void TabDemoWidget::toggleDocumentMode(bool value) 0059 { 0060 ui.tabWidget->setDocumentMode(value); 0061 } 0062 0063 //______________________________________________________________ 0064 void TabDemoWidget::toggleTabCloseButtons(bool value) 0065 { 0066 ui.tabWidget->setTabsClosable(value); 0067 } 0068 0069 //______________________________________________________________ 0070 void TabDemoWidget::changeTabPosition(int index) 0071 { 0072 switch (index) { 0073 case 1: 0074 ui.tabWidget->setTabPosition(QTabWidget::South); 0075 break; 0076 0077 case 2: 0078 ui.tabWidget->setTabPosition(QTabWidget::West); 0079 break; 0080 0081 case 3: 0082 ui.tabWidget->setTabPosition(QTabWidget::East); 0083 break; 0084 0085 default: 0086 case 0: 0087 ui.tabWidget->setTabPosition(QTabWidget::North); 0088 break; 0089 } 0090 } 0091 0092 //______________________________________________________________ 0093 void TabDemoWidget::changeTextPosition(int index) 0094 { 0095 switch (index) { 0096 case 0: 0097 ui.tabWidget->hideText(); 0098 ui.tabWidget->showIcons(); 0099 break; 0100 0101 case 1: 0102 ui.tabWidget->showText(); 0103 ui.tabWidget->hideIcons(); 0104 break; 0105 0106 default: 0107 case 2: 0108 ui.tabWidget->showText(); 0109 ui.tabWidget->showIcons(); 0110 break; 0111 } 0112 } 0113 0114 //______________________________________________________________ 0115 void TabDemoWidget::benchmark(void) 0116 { 0117 if (!isVisible()) 0118 return; 0119 0120 if (true) { 0121 simulator().selectComboBoxItem(ui.tabPositionComboBox, 1); 0122 simulator().selectComboBoxItem(ui.tabPositionComboBox, 2); 0123 simulator().selectComboBoxItem(ui.tabPositionComboBox, 3); 0124 simulator().selectComboBoxItem(ui.tabPositionComboBox, 0); 0125 0126 simulator().selectComboBoxItem(ui.textPositionComboBox, 0); 0127 simulator().selectComboBoxItem(ui.textPositionComboBox, 2); 0128 simulator().selectComboBoxItem(ui.textPositionComboBox, 1); 0129 } 0130 0131 if (true) { 0132 simulator().click(ui.documentModeCheckBox); 0133 simulator().click(ui.documentModeCheckBox); 0134 0135 simulator().click(ui.cornerWidgetsCheckBox); 0136 simulator().click(ui.cornerWidgetsCheckBox); 0137 0138 simulator().click(ui.tabCloseButtonsCheckBox); 0139 simulator().click(ui.tabCloseButtonsCheckBox); 0140 0141 simulator().click(ui.tabBarVisibilityCheckBox); 0142 simulator().click(ui.tabBarVisibilityCheckBox); 0143 } 0144 0145 if (true) { 0146 simulator().selectTab(ui.tabWidget, 1); 0147 simulator().selectTab(ui.tabWidget, 2); 0148 simulator().selectTab(ui.tabWidget, 3); 0149 simulator().selectTab(ui.tabWidget, 0); 0150 } 0151 0152 // run 0153 simulator().run(); 0154 } 0155 }