/** Returns the pointer to the dock widget for the given dock area. If dockwidget corresponding to the dock area is not found, new dockwidget for that dock area is created. \param area DockWidgetArea for which corresponding dockwidget is returned. */ QDockWidget* GCF::Components::MainWindow::dockWidget(Qt::DockWidgetArea area) { QDockWidget* ret = 0; if(d->dockWidgetMap.contains(area)) ret = d->dockWidgetMap[area]; if(!ret) { // create the dock widget ret = new QDockWidget(this); ret->setAllowedAreas(area); ret->setFeatures(QDockWidget::NoDockWidgetFeatures); // This is to remove the title bar QWidget* titleWidget = new QWidget(this); ret->setTitleBarWidget( titleWidget ); // place a tab widget on the dock widget QTabWidget* tabWidget = new QTabWidget(ret); ret->setWidget(tabWidget); // position the tabs in the right place. switch(area) { case Qt::LeftDockWidgetArea: tabWidget->setTabPosition(QTabWidget::North); break; case Qt::RightDockWidgetArea: tabWidget->setTabPosition(QTabWidget::North); break; case Qt::TopDockWidgetArea: tabWidget->setTabPosition(QTabWidget::North); // tabWidget->setFixedHeight(150); // ret->setFixedHeight(150); break; case Qt::BottomDockWidgetArea: tabWidget->setTabPosition(QTabWidget::North); // tabWidget->setFixedHeight(150); // ret->setFixedHeight(150); break; default: break; } } addDockWidget(area, ret); d->dockWidgetMap[area] = ret; ret->hide(); return ret; }
int TabWidget::setTabPosition ( lua_State * L ) //( TabPosition )void { QTabWidget* obj = ObjectHelper<QTabWidget>::check( L, 1 ); Enums enums(L); QTabWidget::TabPosition f =(QTabWidget::TabPosition)enums.TabPosition( 2 ); obj->setTabPosition( f ); return 0; }
void QmitkPythonView::CreateQtPartControl(QWidget* parent) { d->m_PythonVariableStackTableView = new QmitkPythonVariableStackTableView; d->m_PythonVariableStackTableView->SetDataStorage(this->GetDataStorage()); //d->m_PythonVariableStackTableView->horizontalHeader()->setResizeMode(QHeaderView::Interactive); QString snippetsFilePath = mitk::PluginActivator::m_XmlFilePath; MITK_DEBUG("QmitkPythonView") << "got snippetsFilePath " << snippetsFilePath.toStdString(); d->m_PythonSnippets = new QmitkPythonSnippets(snippetsFilePath); MITK_DEBUG("QmitkPythonView") << "initializing varStackSnippetsTab"; QTabWidget* varStackSnippetsTab = new QTabWidget; varStackSnippetsTab->addTab( d->m_PythonVariableStackTableView, "Variable Stack" ); varStackSnippetsTab->addTab( d->m_PythonSnippets, "Snippets" ); varStackSnippetsTab->setTabPosition( QTabWidget::South ); MITK_DEBUG("QmitkPythonView") << "initializing m_PythonShell"; d->m_PythonShell = new QmitkCtkPythonShell; MITK_DEBUG("QmitkPythonView") << "initializing m_TextEditor"; d->m_TextEditor = new QmitkPythonTextEditor; MITK_DEBUG("QmitkPythonView") << "initializing tabWidgetConsoleEditor"; QTabWidget* tabWidgetConsoleEditor = new QTabWidget; tabWidgetConsoleEditor->addTab( d->m_PythonShell, "Console" ); tabWidgetConsoleEditor->addTab( d->m_TextEditor, "Text Editor" ); tabWidgetConsoleEditor->setTabPosition( QTabWidget::South ); QList<int> sizes; sizes << 1 << 3; QSplitter* splitter = new QSplitter; splitter->addWidget(varStackSnippetsTab); splitter->addWidget(tabWidgetConsoleEditor); splitter->setStretchFactor ( 0, 1 ); splitter->setStretchFactor ( 1, 3 ); QGridLayout* layout = new QGridLayout; layout->addWidget( splitter, 0, 0 ); parent->setLayout(layout); MITK_DEBUG("QmitkPythonView") << "creating connections for m_PythonSnippets"; connect( d->m_PythonSnippets, SIGNAL(PasteCommandRequested(QString)), d->m_PythonShell, SLOT(Paste(QString)) ); connect( d->m_PythonSnippets, SIGNAL(PasteCommandRequested(QString)), d->m_TextEditor, SLOT(Paste(QString)) ); }
int main(int argc, char *argv[]) { QApplication a(argc, argv); Widget w1; Widget w2; QTabWidget tabWidget; tabWidget.setTabPosition(QTabWidget::South); tabWidget.addTab(&w1, "Instance 1"); tabWidget.addTab(&w2, "Instance 2"); tabWidget.show(); return a.exec(); }
void QTabWidgetProto::setTabPosition(int position) { QTabWidget *item = qscriptvalue_cast<QTabWidget*>(thisObject()); if (item) item->setTabPosition((QTabWidget::TabPosition)position); }
PreferencesDialog::PreferencesDialog(QWidget *parent, Qt::WFlags flags) : QDialog(parent, flags), m_audioDevice(0), m_changesOnRestart(false) { setWindowTitle(tr("Sonic Visualiser: Application Preferences")); Preferences *prefs = Preferences::getInstance(); QGridLayout *grid = new QGridLayout; setLayout(grid); QTabWidget *tab = new QTabWidget; grid->addWidget(tab, 0, 0); tab->setTabPosition(QTabWidget::North); // Create this first, as slots that get called from the ctor will // refer to it m_applyButton = new QPushButton(tr("Apply")); // Create all the preference widgets first, then create the // individual tab widgets and place the preferences in their // appropriate places in one go afterwards int min, max, deflt, i; m_windowType = WindowType(prefs->getPropertyRangeAndValue ("Window Type", &min, &max, &deflt)); m_windowTypeSelector = new WindowTypeSelector(m_windowType); connect(m_windowTypeSelector, SIGNAL(windowTypeChanged(WindowType)), this, SLOT(windowTypeChanged(WindowType))); QComboBox *smoothing = new QComboBox; int sm = prefs->getPropertyRangeAndValue("Spectrogram Y Smoothing", &min, &max, &deflt); m_spectrogramSmoothing = sm; for (i = min; i <= max; ++i) { smoothing->addItem(prefs->getPropertyValueLabel("Spectrogram Y Smoothing", i)); } smoothing->setCurrentIndex(sm); connect(smoothing, SIGNAL(currentIndexChanged(int)), this, SLOT(spectrogramSmoothingChanged(int))); QComboBox *xsmoothing = new QComboBox; int xsm = prefs->getPropertyRangeAndValue("Spectrogram X Smoothing", &min, &max, &deflt); m_spectrogramXSmoothing = xsm; for (i = min; i <= max; ++i) { xsmoothing->addItem(prefs->getPropertyValueLabel("Spectrogram X Smoothing", i)); } xsmoothing->setCurrentIndex(xsm); connect(xsmoothing, SIGNAL(currentIndexChanged(int)), this, SLOT(spectrogramXSmoothingChanged(int))); QComboBox *propertyLayout = new QComboBox; int pl = prefs->getPropertyRangeAndValue("Property Box Layout", &min, &max, &deflt); m_propertyLayout = pl; for (i = min; i <= max; ++i) { propertyLayout->addItem(prefs->getPropertyValueLabel("Property Box Layout", i)); } propertyLayout->setCurrentIndex(pl); connect(propertyLayout, SIGNAL(currentIndexChanged(int)), this, SLOT(propertyLayoutChanged(int))); m_tuningFrequency = prefs->getTuningFrequency(); QDoubleSpinBox *frequency = new QDoubleSpinBox; frequency->setMinimum(100.0); frequency->setMaximum(5000.0); frequency->setSuffix(" Hz"); frequency->setSingleStep(1); frequency->setValue(m_tuningFrequency); frequency->setDecimals(2); connect(frequency, SIGNAL(valueChanged(double)), this, SLOT(tuningFrequencyChanged(double))); QComboBox *audioDevice = new QComboBox; std::vector<QString> devices = AudioTargetFactory::getInstance()->getCallbackTargetNames(); QSettings settings; settings.beginGroup("Preferences"); QString targetName = settings.value("audio-target", "").toString(); settings.endGroup(); for (int i = 0; i < devices.size(); ++i) { audioDevice->addItem(AudioTargetFactory::getInstance() ->getCallbackTargetDescription(devices[i])); if (targetName == devices[i]) audioDevice->setCurrentIndex(i); } connect(audioDevice, SIGNAL(currentIndexChanged(int)), this, SLOT(audioDeviceChanged(int))); QComboBox *resampleQuality = new QComboBox; int rsq = prefs->getPropertyRangeAndValue("Resample Quality", &min, &max, &deflt); m_resampleQuality = rsq; for (i = min; i <= max; ++i) { resampleQuality->addItem(prefs->getPropertyValueLabel("Resample Quality", i)); } resampleQuality->setCurrentIndex(rsq); connect(resampleQuality, SIGNAL(currentIndexChanged(int)), this, SLOT(resampleQualityChanged(int))); QCheckBox *resampleOnLoad = new QCheckBox; m_resampleOnLoad = prefs->getResampleOnLoad(); resampleOnLoad->setCheckState(m_resampleOnLoad ? Qt::Checked : Qt::Unchecked); connect(resampleOnLoad, SIGNAL(stateChanged(int)), this, SLOT(resampleOnLoadChanged(int))); m_tempDirRootEdit = new QLineEdit; QString dir = prefs->getTemporaryDirectoryRoot(); m_tempDirRoot = dir; dir.replace("$HOME", tr("<home directory>")); m_tempDirRootEdit->setText(dir); m_tempDirRootEdit->setReadOnly(true); QPushButton *tempDirButton = new QPushButton; tempDirButton->setIcon(IconLoader().load("fileopen")); connect(tempDirButton, SIGNAL(clicked()), this, SLOT(tempDirButtonClicked())); tempDirButton->setFixedSize(QSize(24, 24)); QCheckBox *showSplash = new QCheckBox; m_showSplash = prefs->getShowSplash(); showSplash->setCheckState(m_showSplash ? Qt::Checked : Qt::Unchecked); connect(showSplash, SIGNAL(stateChanged(int)), this, SLOT(showSplashChanged(int))); #ifndef Q_WS_MAC QComboBox *bgMode = new QComboBox; int bg = prefs->getPropertyRangeAndValue("Background Mode", &min, &max, &deflt); m_backgroundMode = bg; for (i = min; i <= max; ++i) { bgMode->addItem(prefs->getPropertyValueLabel("Background Mode", i)); } bgMode->setCurrentIndex(bg); connect(bgMode, SIGNAL(currentIndexChanged(int)), this, SLOT(backgroundModeChanged(int))); #endif QSpinBox *fontSize = new QSpinBox; int fs = prefs->getPropertyRangeAndValue("View Font Size", &min, &max, &deflt); m_viewFontSize = fs; fontSize->setMinimum(min); fontSize->setMaximum(max); fontSize->setSuffix(" pt"); fontSize->setSingleStep(1); fontSize->setValue(fs); connect(fontSize, SIGNAL(valueChanged(int)), this, SLOT(viewFontSizeChanged(int))); QComboBox *ttMode = new QComboBox; int tt = prefs->getPropertyRangeAndValue("Time To Text Mode", &min, &max, &deflt); m_timeToTextMode = tt; for (i = min; i <= max; ++i) { ttMode->addItem(prefs->getPropertyValueLabel("Time To Text Mode", i)); } ttMode->setCurrentIndex(tt); connect(ttMode, SIGNAL(currentIndexChanged(int)), this, SLOT(timeToTextModeChanged(int))); // General tab QFrame *frame = new QFrame; QGridLayout *subgrid = new QGridLayout; frame->setLayout(subgrid); int row = 0; subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel ("Temporary Directory Root"))), row, 0); subgrid->addWidget(m_tempDirRootEdit, row, 1, 1, 1); subgrid->addWidget(tempDirButton, row, 2, 1, 1); row++; subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel ("Resample On Load"))), row, 0); subgrid->addWidget(resampleOnLoad, row++, 1, 1, 1); subgrid->addWidget(new QLabel(tr("Playback audio device:")), row, 0); subgrid->addWidget(audioDevice, row++, 1, 1, 2); subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel ("Resample Quality"))), row, 0); subgrid->addWidget(resampleQuality, row++, 1, 1, 2); subgrid->setRowStretch(row, 10); tab->addTab(frame, tr("&General")); // Appearance tab frame = new QFrame; subgrid = new QGridLayout; frame->setLayout(subgrid); row = 0; subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel ("Property Box Layout"))), row, 0); subgrid->addWidget(propertyLayout, row++, 1, 1, 2); #ifndef Q_WS_MAC subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel ("Background Mode"))), row, 0); subgrid->addWidget(bgMode, row++, 1, 1, 2); #endif subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel ("View Font Size"))), row, 0); subgrid->addWidget(fontSize, row++, 1, 1, 2); subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel ("Time To Text Mode"))), row, 0); subgrid->addWidget(ttMode, row++, 1, 1, 2); subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel ("Show Splash Screen"))), row, 0); subgrid->addWidget(showSplash, row++, 1, 1, 1); subgrid->setRowStretch(row, 10); tab->addTab(frame, tr("&Appearance")); // Analysis tab frame = new QFrame; subgrid = new QGridLayout; frame->setLayout(subgrid); row = 0; subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel ("Tuning Frequency"))), row, 0); subgrid->addWidget(frequency, row++, 1, 1, 2); subgrid->addWidget(new QLabel(prefs->getPropertyLabel ("Spectrogram Y Smoothing")), row, 0); subgrid->addWidget(smoothing, row++, 1, 1, 2); subgrid->addWidget(new QLabel(prefs->getPropertyLabel ("Spectrogram X Smoothing")), row, 0); subgrid->addWidget(xsmoothing, row++, 1, 1, 2); subgrid->addWidget(new QLabel(tr("%1:").arg(prefs->getPropertyLabel ("Window Type"))), row, 0); subgrid->addWidget(m_windowTypeSelector, row++, 1, 2, 2); subgrid->setRowStretch(row, 10); row++; subgrid->setRowStretch(row, 10); tab->addTab(frame, tr("Anal&ysis")); QDialogButtonBox *bb = new QDialogButtonBox(Qt::Horizontal); grid->addWidget(bb, 1, 0); QPushButton *ok = new QPushButton(tr("OK")); QPushButton *cancel = new QPushButton(tr("Cancel")); bb->addButton(ok, QDialogButtonBox::AcceptRole); bb->addButton(m_applyButton, QDialogButtonBox::ApplyRole); bb->addButton(cancel, QDialogButtonBox::RejectRole); connect(ok, SIGNAL(clicked()), this, SLOT(okClicked())); connect(m_applyButton, SIGNAL(clicked()), this, SLOT(applyClicked())); connect(cancel, SIGNAL(clicked()), this, SLOT(cancelClicked())); m_applyButton->setEnabled(false); }