void MainWindow::createDockWidgets() { setDockOptions(QMainWindow::AnimatedDocks); QDockWidget::DockWidgetFeatures features = QDockWidget::DockWidgetMovable| QDockWidget::DockWidgetFloatable; transformWidget = new TransformWidget; QDockWidget *transformDockWidget = new QDockWidget( tr("Transform"), this); transformDockWidget->setFeatures(features); transformDockWidget->setWidget(transformWidget); addDockWidget(Qt::RightDockWidgetArea, transformDockWidget); brushWidget = new BrushWidget; QDockWidget *brushDockWidget = new QDockWidget(tr("Brush (Fill)"), this); brushDockWidget->setFeatures(features); brushDockWidget->setWidget(brushWidget); addDockWidget(Qt::RightDockWidgetArea, brushDockWidget); penWidget = new PenWidget; QDockWidget *penDockWidget = new QDockWidget(tr("Pen (Outline)"), this); penDockWidget->setFeatures(features); penDockWidget->setWidget(penWidget); addDockWidget(Qt::RightDockWidgetArea, penDockWidget); }
void KoDockWidgetTitleBar::setLocked(bool locked) { QDockWidget *q = qobject_cast<QDockWidget*>(parentWidget()); d->locked = locked; d->lockButton->blockSignals(true); d->lockButton->setChecked(locked); d->lockButton->blockSignals(false); //qDebug() << "setlocked" << q << d->locked << locked; if (locked) { d->features = q->features(); q->setFeatures(QDockWidget::NoDockWidgetFeatures); } else { q->setFeatures(d->features); } q->toggleViewAction()->setEnabled(!locked); d->closeButton->setEnabled(!locked); d->floatButton->setEnabled(!locked); d->collapseButton->setEnabled(!locked); d->updateIcons(); q->setProperty("Locked", locked); resizeEvent(0); }
void DockHost::lockDocks(bool lock) { if (lock == lastLock) return; lastLock = lock; Q_FOREACH (QWidget* widget, widgets) { QDockWidget* dock = static_cast<QDockWidget*>(widget->parentWidget()); if (dock) { if (lock) { if (dock->isFloating()) { dock->setFeatures(QDockWidget::DockWidgetFloatable); dock->setAllowedAreas(Qt::NoDockWidgetArea); } else { dock->setFeatures(QDockWidget::NoDockWidgetFeatures); dock->setAllowedAreas(Qt::AllDockWidgetAreas); } } else { dock->setFeatures(QDockWidget::AllDockWidgetFeatures); dock->setAllowedAreas(Qt::AllDockWidgetAreas); } adjustFloatingWindowFlags(dock); } }
Window::Window () : QMainWindow (NULL) { try { viewer = new GLViewer; } catch (GLViewer::Exception e) { cerr << e.getMessage () << endl; exit (1); } setCentralWidget (viewer); #if DEBUG cout << "/ ! \\ Building in Debug mode. Performance will be impacted" << endl; #else viewer->setBaseSize(500, 500); #endif initControlWidget (); QDockWidget * controlDockWidget = new QDockWidget (this); controlDockWidget->setWidget (controlWidget); controlDockWidget->adjustSize (); addDockWidget (Qt::RightDockWidgetArea, controlDockWidget); controlDockWidget->setFloating(true); controlDockWidget->setFeatures (QDockWidget::AllDockWidgetFeatures); controlDockWidget->adjustSize(); controlDockWidget->move(0, 0); QDockWidget * focalDockWidget = new QDockWidget (this); focalDockWidget->setWidget(focalWidget); focalDockWidget->adjustSize (); addDockWidget (Qt::LeftDockWidgetArea, focalDockWidget); focalDockWidget->setFloating(true); focalDockWidget->setFeatures (QDockWidget::AllDockWidgetFeatures); focalDockWidget->adjustSize(); focalDockWidget->move(200, 0); QDockWidget* rayTracerDockWidget = new QDockWidget(this); rayTracerDockWidget->setWidget(rayTracerWidget); rayTracerDockWidget->adjustSize (); addDockWidget (Qt::TopDockWidgetArea, rayTracerDockWidget); rayTracerDockWidget->setFloating(true); rayTracerDockWidget->setFeatures (QDockWidget::AllDockWidgetFeatures); rayTracerDockWidget->adjustSize(); // Move widgets around the raytracer QDesktopWidget desktop; QRect mainScreenSize = desktop.availableGeometry(desktop.primaryScreen()); controlDockWidget->move(mainScreenSize.width() - 200, 0); rayTracerDockWidget->move(0, 0); focalDockWidget->move(0, mainScreenSize.height() - focalDockWidget->height()); statusBar()->showMessage(""); }
void TabBarWidget::setOrientation(Qt::DockWidgetArea orientation) { switch (orientation) { case Qt::LeftDockWidgetArea: setShape(QTabBar::RoundedWest); break; case Qt::RightDockWidgetArea: setShape(QTabBar::RoundedEast); break; case Qt::BottomDockWidgetArea: setShape(QTabBar::RoundedSouth); break; default: setShape(QTabBar::RoundedNorth); break; } QDockWidget *widget = qobject_cast<QDockWidget*>(parentWidget()->parentWidget()); if (widget) { if (orientation == Qt::LeftDockWidgetArea || orientation == Qt::RightDockWidgetArea) { widget->setFeatures(widget->features() & ~QDockWidget::DockWidgetVerticalTitleBar); } else { widget->setFeatures(widget->features() | QDockWidget::DockWidgetVerticalTitleBar); } } QBoxLayout *layout = qobject_cast<QBoxLayout*>(parentWidget()->layout()); if (layout) { if (orientation == Qt::LeftDockWidgetArea || orientation == Qt::RightDockWidgetArea) { layout->setDirection(QBoxLayout::TopToBottom); } else { layout->setDirection(QBoxLayout::LeftToRight); } } }
KinectRecorderWindow::KinectRecorderWindow(int fps, KinectDevice* device) : QMainWindow() , fps_(fps) , device_(device) , widget_viewer_(new KinectViewerWidget(fps, device)) { widget_viewer_->setMinimumSize(1280, 480); widget_viewer_->setMaximumSize(1280, 480); setCentralWidget(widget_viewer_); QDockWidget *dock = new QDockWidget(this); dock->setAllowedAreas(Qt::BottomDockWidgetArea); dock->setFeatures(QDockWidget::NoDockWidgetFeatures); widget_record_ = new RecordInterfaceWidget(dock); connect(widget_record_, SIGNAL(dialogOpened()), widget_viewer_, SLOT(pause())); connect(widget_record_, SIGNAL(dialogClosed()), widget_viewer_, SLOT(resume())); connect(widget_record_, SIGNAL(destroyed(QObject*)), this, SLOT(close())); connect(widget_record_, SIGNAL(startRecord(std::string)), this, SLOT(recordStarted(std::string))); connect(widget_record_, SIGNAL(finishRecord()), this, SLOT(recordFinished())); widget_record_->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); dock->setWidget(widget_record_); addDockWidget(Qt::BottomDockWidgetArea, dock); setWindowTitle("Kinect viewer"); move(100, 100); setAttribute(Qt::WA_DeleteOnClose); }
/** * Adds a new dock window to the main window and embeds the given \a widget. */ QDockWidget* DockWindowManager::addDockWindow(const char* name, QWidget* widget, Qt::DockWidgetArea pos) { // creates the dock widget as container to embed this widget MainWindow* mw = getMainWindow(); QDockWidget* dw = new QDockWidget(mw); // Note: By default all dock widgets are hidden but the user can show them manually in the view menu. // First, hide immediately the dock widget to avoid flickering, after setting up the dock widgets // MainWindow::loadLayoutSettings() is called to restore the layout. dw->hide(); switch (pos) { case Qt::LeftDockWidgetArea: case Qt::RightDockWidgetArea: case Qt::TopDockWidgetArea: case Qt::BottomDockWidgetArea: mw->addDockWidget(pos, dw); default: break; } connect(dw, SIGNAL(destroyed(QObject*)), this, SLOT(onDockWidgetDestroyed(QObject*))); connect(widget, SIGNAL(destroyed(QObject*)), this, SLOT(onWidgetDestroyed(QObject*))); // add the widget to the dock widget widget->setParent(dw); dw->setWidget(widget); // set object name and window title needed for i18n stuff dw->setObjectName(QLatin1String(name)); dw->setWindowTitle(QDockWidget::trUtf8(name)); dw->setFeatures(QDockWidget::AllDockWidgetFeatures); d->_dockedWindows.push_back(dw); return dw; }
void MainWindow::createDock() { QDockWidget* dock = new QDockWidget("", this); dock->setAllowedAreas(Qt::TopDockWidgetArea); dock->setFeatures(QDockWidget::NoDockWidgetFeatures); QLabel *roundNumTitle = new QLabel("Round #:"); rndNum = new QLabel(QString::number(0)); QLabel *tarRemTitle = new QLabel("Targets Remaining:"); tarRem = new QLabel(QString::number(0)); QLabel *errorNumTitle = new QLabel("Errors:"); errorNum = new QLabel(QString::number(0)); QWidget *parentWidget = new QWidget(); QHBoxLayout *layout = new QHBoxLayout(); layout->addWidget(roundNumTitle); layout->addWidget(rndNum); layout->addStretch(); layout->addWidget(tarRemTitle); layout->addWidget(tarRem); layout->addStretch(); layout->addWidget(errorNumTitle); layout->addWidget(errorNum); parentWidget->setLayout(layout); dock->setWidget(parentWidget); addDockWidget(Qt::TopDockWidgetArea, dock); }
/** * Constructs a DlgDisplayPropertiesImp which is a child of 'parent', with the * name 'name' and widget flags set to 'f' * * The dialog will by default be modeless, unless you set 'modal' to * true to construct a modal dialog. */ DlgDisplayPropertiesImp::DlgDisplayPropertiesImp( QWidget* parent, Qt::WindowFlags fl ) : QDialog( parent, fl ) { this->setupUi(this); textLabel1_3->hide(); changePlot->hide(); buttonLineColor->setModal(false); buttonColor->setModal(false); std::vector<Gui::ViewProvider*> views = getSelection(); setDisplayModes(views); fillupMaterials(); setMaterial(views); setColorPlot(views); setShapeColor(views); setLineColor(views); setPointSize(views); setLineWidth(views); setTransparency(views); setLineTransparency(views); // embed this dialog into a dockable widget container Gui::DockWindowManager* pDockMgr = Gui::DockWindowManager::instance(); QDockWidget* dw = pDockMgr->addDockWindow("Display properties", this, Qt::AllDockWidgetAreas); dw->setFeatures(QDockWidget::DockWidgetMovable|QDockWidget::DockWidgetFloatable); dw->setFloating(true); dw->show(); Gui::Selection().Attach(this); this->connectChangedObject = Gui::Application::Instance->signalChangedObject.connect(boost::bind (&DlgDisplayPropertiesImp::slotChangedObject, this, _1, _2)); }
DownloadManager::DownloadManager(QWidget *parent) : QDialog(parent) , m_autoSaver(new AutoSaver(this)) , m_manager(new NetworkAccessManager(this)) , m_iconProvider(0) , m_removePolicy(Never) , ui(new Ui_DownloadManager()) { ui->setupUi(this); ui->downloadsView->setShowGrid(false); ui->downloadsView->verticalHeader()->hide(); ui->downloadsView->horizontalHeader()->hide(); ui->downloadsView->setAlternatingRowColors(true); ui->downloadsView->horizontalHeader()->setStretchLastSection(true); m_model = new DownloadModel(this); ui->downloadsView->setModel(m_model); connect(ui->cleanupButton, SIGNAL(clicked()), this, SLOT(cleanup())); load(); Gui::DockWindowManager* pDockMgr = Gui::DockWindowManager::instance(); QDockWidget* dw = pDockMgr->addDockWindow(QT_TR_NOOP("Download Manager"), this, Qt::BottomDockWidgetArea); dw->setFeatures(QDockWidget::DockWidgetMovable| QDockWidget::DockWidgetFloatable| QDockWidget::DockWidgetClosable); dw->setAttribute(Qt::WA_DeleteOnClose); dw->show(); }
// Workaround for bug on Mac: If all docks are hidden, // it's not possible to open the dock menu and show them again void MainWindow::dockVisibilityChanged(bool v) { // A dock got visible: make all of them closable if(v) { for(auto dock : docks) dock->setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable); return; } // All but one dock hidden? QDockWidget *remaining = nullptr; for(auto dock : docks) if(dock->isVisible()) { if(remaining) return; // Enough docks visible else remaining = dock; } if(!remaining) return; // No dock visible? // Disable closability on the remaining one remaining->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable); }
MainWindow::MainWindow() { AddressInput* addressInput = new AddressInput( this ); this->addToolBar( addressInput ); QDockWidget* motor0Dock = new QDockWidget( "Motor 0", this ); motor0Dock->setWidget( new MotorWidget( this, 0 ) ); motor0Dock->setFeatures( QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable ); addDockWidget(Qt::BottomDockWidgetArea, motor0Dock ); motor0Dock->setFloating( false ); motor0Dock->setVisible( true ); QDockWidget* motor1Dock = new QDockWidget( "Motor 1", this ); motor1Dock->setWidget( new MotorWidget( this, 1 ) ); motor1Dock->setFeatures( QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable ); addDockWidget(Qt::BottomDockWidgetArea, motor1Dock ); motor1Dock->setFloating( false ); motor1Dock->setVisible( true ); QDockWidget* motor2Dock = new QDockWidget( "Motor 2", this ); motor2Dock->setWidget( new MotorWidget( this, 2 ) ); motor2Dock->setFeatures( QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable ); addDockWidget(Qt::BottomDockWidgetArea, motor2Dock ); motor2Dock->setFloating( false ); motor2Dock->setVisible( true ); QDockWidget* odometryDock = new QDockWidget( "Odometry", this ); odometryDock->setWidget( new OdometryWidget( this ) ); odometryDock->setFeatures( QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable ); addDockWidget(Qt::BottomDockWidgetArea, odometryDock ); odometryDock->setFloating( false ); odometryDock->setVisible( true ); setCentralWidget( new ControlPanelWidget( this ) ); }
DockablePlacement::DockablePlacement(QWidget* parent, Qt::WFlags fl) : Placement(parent, fl) { Gui::DockWindowManager* pDockMgr = Gui::DockWindowManager::instance(); QDockWidget* dw = pDockMgr->addDockWindow(QT_TR_NOOP("Placement"), this, Qt::BottomDockWidgetArea); dw->setFeatures(QDockWidget::DockWidgetMovable|QDockWidget::DockWidgetFloatable); dw->show(); }
QDockWidget* ConsoleWidgetCollection::createDockWidget(QWidget* widget) { QDockWidget* dockWidget = new QDockWidget(widget->windowTitle(), this); connect(widget, &QWidget::windowTitleChanged, this, &ConsoleWidgetCollection::onConsoleWindowTitleChanged); dockWidget->setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable); dockWidget->setObjectName(widget->objectName() + "DockWidget"); dockWidget->setWidget(widget); return dockWidget; }
Tab::Tab(QWidget *parent) : QMainWindow(parent) { //Setting code field code = new CodeEditor; setCentralWidget(code); //Setting input and output fields input = new RuQTextEdit; output = new RuQTextEdit; output->setReadOnly(true); inputLayout = new QVBoxLayout; outputLayout = new QVBoxLayout; inputLayout->addWidget(input); outputLayout->addWidget(output); setDockOptions(QMainWindow::AllowNestedDocks | QMainWindow::AnimatedDocks); QDockWidget *inputDock = new QDockWidget(tr("Input"), this); inputDock->setAllowedAreas(Qt::AllDockWidgetAreas); inputWidget = new QWidget(inputDock); inputWidget->setLayout(inputLayout); inputDock->setWidget(inputWidget); inputDock->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetMovable); addDockWidget(Qt::RightDockWidgetArea, inputDock); inputDock->setObjectName("inputDock"); QDockWidget *outputDock = new QDockWidget(tr("Output"), this); outputDock->setAllowedAreas(Qt::AllDockWidgetAreas); outputWidget = new QWidget(outputDock); outputWidget->setLayout(outputLayout); outputDock->setWidget(outputWidget); outputDock->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetMovable); addDockWidget(Qt::RightDockWidgetArea, outputDock); outputDock->setObjectName("outputDock"); //Setting io and code fonts setFonts(); //restore state QSettings settings("SASM Project", "SASM"); restoreGeometry(settings.value("tabgeometry").toByteArray()); restoreState(settings.value("tabwindowstate").toByteArray()); }
void ControlSingleton::showDialog(Gui::TaskView::TaskDialog *dlg) { // only one dialog at a time assert(!ActiveDialog || ActiveDialog==dlg); Gui::DockWnd::CombiView* pcCombiView = qobject_cast<Gui::DockWnd::CombiView*> (Gui::DockWindowManager::instance()->getDockWindow("Combo View")); // should return the pointer to combo view if (pcCombiView) { pcCombiView->showDialog(dlg); // make sure that the combo view is shown QDockWidget* dw = qobject_cast<QDockWidget*>(pcCombiView->parentWidget()); if (dw) { dw->setVisible(true); dw->toggleViewAction()->setVisible(true); dw->setFeatures(QDockWidget::DockWidgetMovable|QDockWidget::DockWidgetFloatable); } if (ActiveDialog == dlg) return; // dialog is already defined ActiveDialog = dlg; connect(dlg, SIGNAL(destroyed()), this, SLOT(closedDialog())); } // not all workbenches have the combo view enabled else if (!_taskPanel) { QDockWidget* dw = new QDockWidget(); dw->setWindowTitle(tr("Task panel")); dw->setFeatures(QDockWidget::DockWidgetMovable); _taskPanel = new Gui::TaskView::TaskView(dw); dw->setWidget(_taskPanel); _taskPanel->showDialog(dlg); getMainWindow()->addDockWidget(Qt::LeftDockWidgetArea, dw); connect(dlg, SIGNAL(destroyed()), dw, SLOT(deleteLater())); // if we have the normal tree view available then just tabify with it QWidget* treeView = Gui::DockWindowManager::instance()->getDockWindow("Tree view"); QDockWidget* par = treeView ? qobject_cast<QDockWidget*>(treeView->parent()) : 0; if (par && par->isVisible()) { getMainWindow()->tabifyDockWidget(par, dw); qApp->processEvents(); // make sure that the task panel is tabified now dw->show(); dw->raise(); } } }
void Recorder::updateSimulatorSettings() { QDockWidget* dockWidget = qobject_cast<QDockWidget*>(patientStatusBar_->parentWidget()); dockWidget->setWindowTitle(options()->recorderFlags .testFlag(Options::PatientStatusBarHasTitle) ? tr("Patient Status") : ""); if (options()->recorderFlags.testFlag(Options::ImmovablePatientStatusBar)) dockWidget->setFeatures(QDockWidget::NoDockWidgetFeatures); else dockWidget->setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable); updateMenus(); //setupInitialScreen(true); // signal update simulator settings in Navigator /// TODO ? how to handle disk caching in middle of study // ? disallow it emit simulatorSettingsChanged(); }
/****************************************************************************** * Creates a dock panel. ******************************************************************************/ void MainWindow::createDockPanel(const QString& caption, const QString& objectName, Qt::DockWidgetArea dockArea, Qt::DockWidgetAreas allowedAreas, QWidget* contents) { QDockWidget* dockWidget = new QDockWidget(caption, this); dockWidget->setObjectName(objectName); dockWidget->setAllowedAreas(allowedAreas); dockWidget->setFeatures(QDockWidget::DockWidgetClosable); dockWidget->setWidget(contents); dockWidget->setTitleBarWidget(new QWidget()); addDockWidget(dockArea, dockWidget); }
QDockWidget* MainWindow::newDockWidgetFor(QWidget *w) { QDockWidget *dock = new QDockWidget(this); dock->setAllowedAreas(Qt::TopDockWidgetArea); dock->setWidget(w); dock->setFeatures(QDockWidget::NoDockWidgetFeatures); dock->setTitleBarWidget(new QWidget(this)); addDockWidget(Qt::TopDockWidgetArea, dock); return dock; }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) { ui->setupUi(this); QDockWidget *testDock = new QDockWidget(tr("Test Dock")); testDock->setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetMovable); testDock->setMinimumWidth(200); testDock->setStyleSheet(tr("background-color:green;")); MyDockTitleBar *titlebar1 = new MyDockTitleBar(testDock); testDock->setTitleBarWidget(titlebar1); QWidget *testWidget = new QWidget; QVBoxLayout *box = new QVBoxLayout; QPushButton *okButton = new QPushButton(tr("Ok")); okButton->setStyleSheet(tr("background-color:white;")); box->addWidget(okButton); testWidget->setLayout(box); testDock->setWidget(testWidget); ////////////////////////////////////////////////////////// QDockWidget *testDock2 = new QDockWidget(tr("Test Dock2")); testDock2->setFeatures(QDockWidget::DockWidgetClosable | QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetMovable); testDock2->setMinimumWidth(200); testDock2->setStyleSheet(tr("background-color:orange;")); MyDockTitleBar *titlebar2 = new MyDockTitleBar(testDock2); testDock2->setTitleBarWidget(titlebar2); QWidget *testWidget2 = new QWidget; QVBoxLayout *box2 = new QVBoxLayout; QPushButton *okButton2 = new QPushButton(tr("Ok")); okButton2->setStyleSheet(tr("background-color:white;")); box2->addWidget(okButton2); testWidget2->setLayout(box2); testDock2->setWidget(testWidget2); ////////////////////////////////////////////////////////// this->addDockWidget(Qt::LeftDockWidgetArea, testDock); this->setTabPosition(Qt::LeftDockWidgetArea, QTabWidget::West); this->tabifyDockWidget(testDock, testDock2); }
/** * Constructs a DockEvaluateMeshImp which is a child of 'parent', with the * name 'name' and widget flags set to 'f' */ DockEvaluateMeshImp::DockEvaluateMeshImp( QWidget* parent, Qt::WFlags fl ) : DlgEvaluateMeshImp( parent, fl ) { // embed this dialog into a dockable widget container Gui::DockWindowManager* pDockMgr = Gui::DockWindowManager::instance(); // use Qt macro for preparing for translation stuff (but not translating yet) QDockWidget* dw = pDockMgr->addDockWindow("Evaluate & Repair Mesh", this, Qt::RightDockWidgetArea); //dw->setAttribute(Qt::WA_DeleteOnClose); dw->setFeatures(QDockWidget::DockWidgetMovable|QDockWidget::DockWidgetFloatable); dw->show(); }
/** 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; }
// MainWindow implementation MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , m_highlightPath(true) { // Set up the general UI stuff m_ui.setupUi(this); // Create the graph explorer m_graphScene = new QGraphicsScene(this); m_graphScene->setItemIndexMethod(QGraphicsScene::NoIndex); m_graphView = new QGraphicsView; m_graphView->setScene(m_graphScene); m_graphView->setRenderHints(QPainter::Antialiasing | QPainter::HighQualityAntialiasing); m_graphView->setCacheMode(QGraphicsView::CacheNone); m_graphView->setViewportUpdateMode(QGraphicsView::FullViewportUpdate); m_graphView->setTransformationAnchor(QGraphicsView::AnchorUnderMouse); m_graphView->setResizeAnchor(QGraphicsView::AnchorViewCenter); m_graphView->ensureVisible(-150.0f, -150.0f, 300.0f, 300.0f); // Set as central widget setCentralWidget(m_graphView); // Create the transcript QDockWidget* transcriptDock = new QDockWidget( QLatin1String("Transcript"), this); m_transcript = new QTextEdit(transcriptDock); m_transcript->setFont(QFont("Meslo LG S DZ", 8)); transcriptDock->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetVerticalTitleBar); transcriptDock->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea); transcriptDock->setWidget(m_transcript); addDockWidget(Qt::BottomDockWidgetArea, transcriptDock); // Create the control button panel m_controlsDock = new ControlsDockWidget(this); m_controlsDock->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable); m_controlsDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); addDockWidget(Qt::RightDockWidgetArea, m_controlsDock); // Initialisation finished postInfoMessage("Ready; paste network description into the text edit."); }
void ControlSingleton::closedDialog() { ActiveDialog = 0; Gui::DockWnd::CombiView* pcCombiView = qobject_cast<Gui::DockWnd::CombiView*> (Gui::DockWindowManager::instance()->getDockWindow("Combo View")); // should return the pointer to combo view assert(pcCombiView); pcCombiView->closedDialog(); // make sure that the combo view is shown QDockWidget* dw = qobject_cast<QDockWidget*>(pcCombiView->parentWidget()); if (dw) dw->setFeatures(QDockWidget::AllDockWidgetFeatures); }
void VSCMainWindows::CreateDockWindows() { QDockWidget *pDockDevicelist = new QDockWidget(tr("Devices"), this); pDockDevicelist->setFeatures(QDockWidget::DockWidgetMovable); //pDockDevicelist->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); pDockDevicelist->setAllowedAreas(Qt::LeftDockWidgetArea); m_pDeviceList = new VSCDeviceList(pDockDevicelist); pDockDevicelist->setWidget(m_pDeviceList); addDockWidget(Qt::LeftDockWidgetArea, pDockDevicelist); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); this->setStyleSheet("font-size:16pt"); qRegisterMetaTypeStreamOperators<QList<QList<QVariant> > >("QList<QList<QVariant> >"); qRegisterMetaTypeStreamOperators<QMap<int, QMap<int, QVariant> > >("QMap<int, QMap<int, QVariant> >"); qRegisterMetaType<QMap<QString,cv::Mat> >("QMap<QString,cv::Mat>"); workspaceController - new WorkspaceController(); // qRegisterMetaTypeStreamOperators<cv::Mat>("Mat"); // filesListWidget* list = new filesListWidget(ui->centralWidget); // QDockWidget* dock = new QDockWidget(tr("Files"), this); // dock->setWidget(list); // addDockWidget(Qt::LeftDockWidgetArea, dock); QVariantMap options; // options.insert("color" , QColor("#45ff05")); // QList<QAction *> actionsList; // QAction* action = new QAction(viewHelper::awesome->icon(fa::plus, options), QString("Add File"), this); // actionsList << action; // ui->mainToolBar->addActions(actionsList); QDockWidget* dock = new QDockWidget(tr("Workspace"), this); Workspace* workspace = new Workspace(dock); QWidget* dockWidgetContents = new QWidget(dock); dockWidgetContents->setObjectName(QStringLiteral("workspace_dockwidget_contents")); QGridLayout* workspaceGridLayout = new QGridLayout(dockWidgetContents); workspaceGridLayout->setSpacing(6); workspaceGridLayout->setContentsMargins(11, 11, 11, 11); workspaceGridLayout->setObjectName(QStringLiteral("gridLayout_2")); workspaceGridLayout->addWidget(workspace); dockWidgetContents->setLayout(workspaceGridLayout); dock->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable); addDockWidget(Qt::LeftDockWidgetArea, dock); dock->setWidget(dockWidgetContents); TasksView* tasks = new TasksView(this); QHBoxLayout* layout = new QHBoxLayout(); ui->centralWidget->setLayout(layout); layout->setContentsMargins(0, 0, 0, 0); layout->addWidget(tasks); }
/** \param btpv **/ int BtCompany_createMainWindows_Post ( BtCompany *bges ) { /// Creamos un widget sin area definida, para que no moleste al depurado BL_FUNC_DEBUG g_debug = new CambiarDebug ( bges, g_dock ); QDockWidget *dockDebug = new QDockWidget("Debug", g_main); dockDebug->setFeatures(QDockWidget::AllDockWidgetFeatures); g_main->addDockWidget(Qt::NoDockWidgetArea, dockDebug); dockDebug->setWidget(g_debug); return 0; }
RightPanel::RightPanel(RestClientMainWindow* app) { m_responseHeaders = new QTextEdit; m_responseHeaders->setAcceptRichText(false); m_responseHeaders->setReadOnly(true); QDockWidget *dock = new QDockWidget(app); dock->setObjectName("Right"); dock->setWindowTitle(QObject::tr("Response Headers")); dock->setWidget(m_responseHeaders); dock->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable); app->addDockWidget(Qt::LeftDockWidgetArea, dock); }
void MainWindow::createHeader() { // QToolBar *tb = new QToolBar(this); QDockWidget *header = new QDockWidget(this); QHBoxLayout *ly = new QHBoxLayout(); QFrame *frm = new QFrame(); QPushButton *pbExit = new QPushButton(); pbExit->setIcon(QIcon(":/images/meiti-up.png")); pbExit->setIconSize(QSize(40,40)); pbExit->setFocusPolicy(Qt::NoFocus); pbExit->setFocusProxy(0); pbExit->setStyleSheet(QString("background-image: url(:/images/meiti-up.png);\n\n#pbExit:pressed {background-image: url(:/images/meiti-down.png) 4 4 4 4 strech strech;}\n\n#pbExit:hover {background-image: url(:/images/meiti-over.png) 4 4 4 4 strech strech;}\n")); connect(pbExit, SIGNAL(clicked()), qApp, SLOT(quit())); ly->addWidget(pbExit); ly->setAlignment(pbExit,Qt::AlignCenter); frm->setLayout(ly); frm->setAttribute(Qt::WA_TranslucentBackground, true); // 设置背景透明(version >= QT4.5 header->setWidget(frm); header->setAttribute(Qt::WA_TranslucentBackground, true); // 设置背景透明(version >= QT4.5 //header->setWindowFlags(Qt::FramelessWindowHint); header->setWindowTitle(QString("")); header->setTitleBarWidget(new QWidget); header->setFocusPolicy(Qt::NoFocus); header->setFocusProxy(0); header->setFeatures(QDockWidget::NoDockWidgetFeatures); header->setBaseSize(0,40); addDockWidget(Qt::TopDockWidgetArea,header, Qt::Horizontal); // tb->addWidget(frm); // pbExit->setText(QString("%1--%2--%3").arg(this->width()).arg(tb->width()).arg(pbExit->width())); // // tb->setMovable(false); // // this->addToolBar(tb); // dockWidget->setWidget(keyboardfrm); // dockWidget->setAllowedAreas(Qt::BottomDockWidgetArea); // dockWidget->setFeatures(QDockWidget::DockWidgetClosable); // addDockWidget(Qt::BottomDockWidgetArea,dockWidget); }
void QxFileBrowser::blockFloating(bool on) { #ifdef Q_WS_MAC #ifdef QT_MAC_USE_COCOA QDockWidget* dock = qobject_cast<QDockWidget*>(parentWidget()); if (dock) { QFlags<QDockWidget::DockWidgetFeature> flags = dock->features(); if (on) flags &= ~QDockWidget::DockWidgetMovable; else flags |= QDockWidget::DockWidgetMovable; dock->setFeatures(flags); } #endif // QT_MAC_USE_COCOA #endif // Q_WS_MAC }