void MainWindow::createDockWindows() { // Engine debug QDockWidget* engineDebugDock = new QDockWidget(tr("Engine Debug"), this); m_engineDebugLog = new PlainTextLog(engineDebugDock); connect(m_engineDebugLog, SIGNAL(saveLogToFileRequest()), this, SLOT(saveLogToFile())); engineDebugDock->setWidget(m_engineDebugLog); addDockWidget(Qt::BottomDockWidgetArea, engineDebugDock); // Move list QDockWidget* moveListDock = new QDockWidget(tr("Moves"), this); moveListDock->setWidget(m_moveList); addDockWidget(Qt::RightDockWidgetArea, moveListDock); // Tags QDockWidget* tagsDock = new QDockWidget(tr("Tags"), this); QTreeView* tagsView = new QTreeView(tagsDock); tagsView->setModel(m_tagsModel); tagsView->setAlternatingRowColors(true); tagsView->setRootIsDecorated(false); tagsDock->setWidget(tagsView); addDockWidget(Qt::RightDockWidgetArea, tagsDock); tabifyDockWidget(moveListDock, tagsDock); moveListDock->raise(); // Add toggle view actions to the View menu m_viewMenu->addAction(moveListDock->toggleViewAction()); m_viewMenu->addAction(tagsDock->toggleViewAction()); m_viewMenu->addAction(engineDebugDock->toggleViewAction()); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RiuPlotMainWindow::createDockPanels() { { QDockWidget* dockWidget = new QDockWidget("Plot Project Tree", this); dockWidget->setObjectName("dockWidget"); dockWidget->setAllowedAreas(Qt::AllDockWidgetAreas); m_projectTreeView = new caf::PdmUiTreeView(this); m_projectTreeView->enableSelectionManagerUpdating(true); RiaApplication* app = RiaApplication::instance(); m_projectTreeView->enableAppendOfClassNameToUiItemText(app->preferences()->appendClassNameToUiText()); dockWidget->setWidget(m_projectTreeView); m_projectTreeView->treeView()->setHeaderHidden(true); m_projectTreeView->treeView()->setSelectionMode(QAbstractItemView::ExtendedSelection); // Drag and drop configuration m_projectTreeView->treeView()->setDragEnabled(true); m_projectTreeView->treeView()->viewport()->setAcceptDrops(true); m_projectTreeView->treeView()->setDropIndicatorShown(true); m_projectTreeView->treeView()->setDragDropMode(QAbstractItemView::DragDrop); // Install event filter used to handle key press events RiuTreeViewEventFilter* treeViewEventFilter = new RiuTreeViewEventFilter(this); m_projectTreeView->treeView()->installEventFilter(treeViewEventFilter); addDockWidget(Qt::LeftDockWidgetArea, dockWidget); connect(m_projectTreeView, SIGNAL(selectionChanged()), this, SLOT(selectedObjectsChanged())); m_projectTreeView->treeView()->setContextMenuPolicy(Qt::CustomContextMenu); connect(m_projectTreeView->treeView(), SIGNAL(customContextMenuRequested(const QPoint&)), SLOT(customMenuRequested(const QPoint&))); m_projectTreeView->setUiConfigurationName("PlotWindow"); } { QDockWidget* dockWidget = new QDockWidget("Property Editor", this); dockWidget->setObjectName("dockWidget"); dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); m_pdmUiPropertyView = new caf::PdmUiPropertyView(dockWidget); dockWidget->setWidget(m_pdmUiPropertyView); m_pdmUiPropertyView->layout()->setContentsMargins(5, 0, 0, 0); addDockWidget(Qt::LeftDockWidgetArea, dockWidget); } setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); setCorner(Qt::BottomRightCorner, Qt::BottomDockWidgetArea); QList<QDockWidget*> dockWidgets = findChildren<QDockWidget*>(); for (QDockWidget* dock : dockWidgets) { connect(dock->toggleViewAction(), SIGNAL(triggered()), SLOT(slotDockWidgetToggleViewActionTriggered())); } }
void VSCMainWindows::CreateDockWindows() { QDockWidget *pDockDevicelist = new QDockWidget(tr("Devices"), this); //QDockWidget *pDockDevicelist = new QDockWidget(this); pDockDevicelist->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); #if 1 //pDockDevicelist->setWidget(new VSCDeviceList(pDockDevicelist)); m_pDeviceList = new VSCDeviceList(pDockDevicelist); pDockDevicelist->setWidget(m_pDeviceList); #else QListWidget * customerList = new QListWidget(pDockDevicelist); customerList->addItems(QStringList() << "John Doe, Harmony Enterprises, 12 Lakeside, Ambleton" << "Jane Doe, Memorabilia, 23 Watersedge, Beaton" << "Tammy Shea, Tiblanka, 38 Sea Views, Carlton" << "Tim Sheen, Caraba Gifts, 48 Ocean Way, Deal" << "Sol Harvey, Chicos Coffee, 53 New Springs, Eccleston" << "Sally Hobart, Tiroli Tea, 67 Long River, Fedula"); pDockDevicelist->setWidget(customerList); #endif addDockWidget(Qt::LeftDockWidgetArea, pDockDevicelist); }
void MainWindow::createDockWindows() { QDockWidget *dock = new QDockWidget(tr("History"), this); dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); historyList = new QListWidget(dock); dock->setWidget(historyList); addDockWidget(Qt::RightDockWidgetArea, dock); viewMenu->addAction(dock->toggleViewAction()); dock = new QDockWidget(tr("Command Line")); dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); QStringList wordList; wordList << "FW"<<"BK"<<"CW"<<"CCW"<<"ROT"<<"BLOCK"<<"FOR"<<"RESET"<<"DOWN"<<"UP"; QCompleter *completer = new QCompleter(wordList); completer->setCaseSensitivity(Qt::CaseInsensitive); cmdLineEdit = new QLineEdit(); cmdLineEdit->setCompleter(completer); dock->setWidget(cmdLineEdit); addDockWidget(Qt::RightDockWidgetArea, dock); viewMenu->addAction(dock->toggleViewAction()); //////////////////////////////////////////////////////////////////////////////// // ZAD 3 cmdLineEdit->installEventFilter(keyPressEater); connect(cmdLineEdit, SIGNAL(returnPressed()), this, SLOT(sendCmd())); connect(keyPressEater, SIGNAL(odzyskaj()), this, SLOT(odzyskaj())); }
void MainWindow::createWidgets() { m_lstLog = new QListWidget(); QUndoView* undoView = new QUndoView(m_space->undoStack()); m_debugger = new QScriptEngineDebugger(this); QDockWidget* dock; dock = new QDockWidget(tr("Undo/Redo List"), this); dock->setWidget(undoView); addDockWidget(Qt::RightDockWidgetArea, dock); dock = new QDockWidget(tr("Log"), this); dock->setWidget(m_lstLog); addDockWidget(Qt::RightDockWidgetArea, dock); m_debugger->attachTo(m_engine); dock = new QDockWidget(tr("Script console"), this); dock->setWidget(m_debugger->widget(QScriptEngineDebugger::ConsoleWidget)); addDockWidget(Qt::BottomDockWidgetArea, dock); QWidget* w = createCentralWidget1(); setCentralWidget(w); //m_debugger->standardWindow()->show(); // TODO: // - add some sample waves to the project // - create a Model of the waves // - show the Model in an editable table // - show the Model in an editable form // - add a button to modify something in a wave // - test that updates by any method leads to changes in all views // - test undo/redo }
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 MainWindow::createDockWindows() { /* Add HOL widget */ QDockWidget *dock = new QDockWidget(tr("HOL Process"), this); dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); mHOLWidget = new HOLWidget; dock->setWidget(mHOLWidget); addDockWidget(Qt::RightDockWidgetArea, dock); /* File System View */ QDockWidget *fileDock = new QDockWidget(tr("Project"), this); fileDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); mFileViewSplitter = new QSplitter; QFileSystemModel *fileSystemModel = new QFileSystemModel; fileSystemModel->setRootPath(QDir::currentPath()); QItemSelectionModel *itemSelectionModel = new QItemSelectionModel(fileSystemModel); connect(itemSelectionModel, SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(fileViewItemSelected(QModelIndex,QModelIndex))); QTreeView* tree = new QTreeView(mFileViewSplitter); tree->setModel(fileSystemModel); tree->setRootIndex(fileSystemModel->index(QDir::currentPath())); tree->setSelectionModel(itemSelectionModel); tree->hideColumn(2); tree->hideColumn(3); tree->hideColumn(1); fileDock->setWidget(mFileViewSplitter); addDockWidget(Qt::RightDockWidgetArea, fileDock); }
void FFCP::createDockWidget() { //设置主窗体的第一个QDockWidget QDockWidget *firstDockWidget = new QDockWidget(this); //设置第一个QDockWidget的窗口名称 firstDockWidget->setWindowTitle(tr("代码查看器")); //设置第一个QDockWidget的可停靠区域,全部可停靠 firstDockWidget->setAllowedAreas(Qt::AllDockWidgetAreas); //设置第一个QDockWidget内的控件并设置该控件的属性 codeViewer = new QTextEdit(tr("打开main.c文件")); //前面别给定义 内存要报错 弄了我一天!!!!!!!! codeViewer->setAcceptDrops(false); //禁止向codeViewer拖入东西 firstDockWidget->setWidget(codeViewer); //向主窗体中添加第一个QDockWidget控件 第一个参数表示初始显示的位置 第二个参数是要添加的QDockWidget控件 this->addDockWidget(Qt::RightDockWidgetArea, firstDockWidget); //向菜单和工具栏中添加第一个QDockWidget的显示和隐藏动作 viewMenu->addAction(firstDockWidget->toggleViewAction()); //设置第二个QDockWidget QDockWidget *secondDockWidget = new QDockWidget(this); secondDockWidget->setWindowTitle(tr("功能编辑盒")); secondDockWidget->setAllowedAreas(Qt::AllDockWidgetAreas); functionBox = new FunctionBox; secondDockWidget->setWidget(functionBox); this->addDockWidget(Qt::LeftDockWidgetArea, secondDockWidget); //向菜单和工具栏中添加第一个QDockWidget的显示和隐藏动作 viewMenu->addAction(secondDockWidget->toggleViewAction()); }
MonitorWindow::MonitorWindow(): connected(false), usersSelectionCount(0), initialized(false ) { qServer = new afqt::QServer( this); qthreadClientUp = new afqt::QThreadClientUp( this, false, af::Environment::getMonitorUpdatePeriod(), af::Environment::getMonitorConnectRetries()); qthreadClientSend = new afqt::QThreadClientSend( this); if( qServer->isInitialized() == false ) { AFERROR("MonitorWindow::MonitorWindow: Server initialization failed.\n"); return; } username = afqt::stoq( af::Environment::getUserName()); hostname = afqt::stoq( af::Environment::getHostName()); setWindowTitle("MonitorWindow::" + username + "@" + hostname + ":(connecting...)"); QMenu * viewMenu = menuBar()->addMenu("View"); QDockWidget * dock; dock = new QDockWidget( "Renders", this); rendersList = new ListRenders( dock); dock->setWidget( rendersList); addDockWidget( Qt::LeftDockWidgetArea, dock); viewMenu->addAction( dock->toggleViewAction()); dock = new QDockWidget( "Users", this); usersList = new ListUsers( dock); dock->setWidget( usersList); addDockWidget( Qt::RightDockWidgetArea, dock); viewMenu->addAction( dock->toggleViewAction()); dock = new QDockWidget( "Jobs", this); jobsList = new ListJobs( dock); dock->setWidget( jobsList); addDockWidget( Qt::RightDockWidgetArea, dock); viewMenu->addAction( dock->toggleViewAction()); nodesList[ MTRenders ] = rendersList; nodesList[ MTUsers ] = usersList; nodesList[ MTJobs ] = jobsList; connect( usersList, SIGNAL( itemSelectionChanged()), this, SLOT( usersSelectionChanged())); connect( qServer, SIGNAL( newMsg( af::Msg*)), this, SLOT( caseMessage( af::Msg*))); connect( qthreadClientUp, SIGNAL( newMsg( af::Msg*)), this, SLOT( caseMessage( af::Msg*))); connect( qthreadClientSend, SIGNAL( newMsg( af::Msg*)), this, SLOT( caseMessage( af::Msg*))); connect( qthreadClientUp, SIGNAL( connectionLost() ), this, SLOT( connectionLost())); connect( qthreadClientSend, SIGNAL( connectionLost() ), this, SLOT( connectionLost())); monitor = new MonitorHost(); initialized = true; monitor->stdOut(); sendRegister(); }
GameUI::GameUI() { resize(1000, 800); setWindowTitle("Adage"); QDockWidget *dock = new QDockWidget(tr("Shell"), this); ShellWindow *shell = new ShellWindow(dock); //ShellInterface *shellInt = new ShellInterface(shell); dock->setWidget(shell); addDockWidget(Qt::RightDockWidgetArea, dock); dock = new QDockWidget(tr("Comm"), this); CommWindow *comm = new CommWindow(dock); dock->setWidget(comm); addDockWidget(Qt::RightDockWidgetArea, dock); //connect(mBtnClose, SIGNAL(clicked()), this, SLOT(close())); mGame = new Game(comm); //connect(mGame, SIGNAL(worldUpdated()), this, SLOT(update())); //TEST GAME ENTITIES GO HERE Map* map = new Map(mGame->world()); QFile* file = new QFile("data/map.map"); bool result = file->open(QIODevice::ReadOnly | QIODevice::Text); assert(result); //TODO error handling map->load(file); /*QFile* outFile = new QFile("map-out.map"); result = outFile->open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text); assert(result); map->save(outFile);*/ new GhostBustersHQ(mGame->world()); for (int i=0; i<60; ++i) //ghost food new Person(Math::Point(Math::randFloat(-75,75),Math::randFloat(-80,90)), mGame->world()); for (int i=0; i<60; ++i) new Person(Math::Point(Math::randFloat(-75,75),Math::randFloat(190,260)), mGame->world()); for (int i=0; i<20; ++i) new Ghost(Math::Point(Math::randFloat(-100,100),Math::randFloat(-100,100)), mGame->world()); for (int i=0; i<20; ++i) new Ghost(Math::Point(Math::randFloat(-100,100),Math::randFloat(180,380)), mGame->world()); for (int i=0; i<4; ++i) new GhostBuster(Math::Point(Math::randFloat(-75,75),Math::randFloat(-90,90)), mGame->world()); for (int i=0; i<4; ++i) new GhostBuster(Math::Point(Math::randFloat(-75,75),Math::randFloat(190,270)), mGame->world()); Navigator* navvy = new Navigator(mGame->world()); mGame->setNavvy(navvy); mBlueprint = new BlueprintWindow(mGame); setCentralWidget(mBlueprint); connect(mGame, SIGNAL(worldUpdated()), mBlueprint->blueprint(), SLOT(repaint())); }
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 InvMain::makeLayout() { // create a docking window for several lists on the right side QDockWidget *dw = new QDockWidget(this); dw->setWindowTitle("Renderer Listbox "); /*qt3 dw->setFeatures(Qt::Horizontal); dw->setCloseMode(QDockWidget::Docked); dw->setResizeEnabled(true);*/ listTabs = new QTabWidget(dw); listTabs->setMinimumWidth(250); /*colorListBox = new QListView(listTabs); colorStringList = new QStringList(); colorListModel = new QStringListModel(*colorStringList, NULL); colorListBox->setModel(colorListModel);*/ colorListWidget = new QListWidget(listTabs); colorListWidget->setViewMode(QListView::IconMode); treeWidget = new objTreeWidget(this, listTabs); treeWidget->show(); listTabs->addTab(treeWidget, "Object Tree"); listTabs->addTab(colorListWidget, "ColorMap List"); dw->setWidget(listTabs); addDockWidget(Qt::RightDockWidgetArea, dw, Qt::Horizontal); // make a central widget window for the render area QWidget *main = new QWidget(this); main->setMinimumSize(720, 574); // will give PAL size images viewer = new InvViewer(main); setCentralWidget(main); // create the lower docking window for sequencer dw = new QDockWidget(this); addDockWidget(Qt::BottomDockWidgetArea, dw, Qt::Vertical); dw->setWindowTitle("Renderer Sequencer"); // qt3 dw->setHorizontallyStretchable(true); // qt3 dw->setResizeEnabled(true); sequencer = new InvSequencer(dw); dw->setWidget(sequencer); dw->hide(); // set the view all mode for the renderer viewer->viewAll(); //connect( colorListBox->selectionModel(), SIGNAL(selectionChanged ( QItemSelection,QItemSelection )), // this, SLOT(colorSelectionChanged ( QItemSelection,QItemSelection )) ); }
void MainWindow::createDockWindows() { QDockWidget *dock = new QDockWidget(tr("Text Editor"), this); m_editor = new TextEdit(dock); connect(m_editor->document(), SIGNAL(contentsChanged()), this, SLOT(onEditorChanged())); dock->setWidget(m_editor); dock->setObjectName("text_editor"); addDockWidget(Qt::RightDockWidgetArea, dock); m_showEditorDockAction = dock->toggleViewAction(); m_showEditorDockAction->setIconVisibleInMenu(false); m_showEditorDockAction->setStatusTip(tr("Show or hide the document editor dock")); m_showEditorDockAction->setIcon(QIcon::fromTheme("accessories-text-editor")); m_showEditorDockAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_0)); dock = new QDockWidget(tr("Assistant"), this); m_assistantToolBox = new QToolBox(dock); dock->setWidget(m_assistantToolBox); dock->setObjectName("assistant"); addDockWidget(Qt::LeftDockWidgetArea, dock); connect(m_assistantToolBox, SIGNAL(currentChanged(int)), this, SLOT(onCurrentAssistantChanged(int))); m_showAssistantDockAction = dock->toggleViewAction(); m_showAssistantDockAction->setIconVisibleInMenu(false); m_showAssistantDockAction->setStatusTip(tr("Show or hide the assistant dock")); #if !defined(Q_WS_WIN) // BUG: icons are not displayed when cross-linking m_showAssistantDockAction->setIcon(QIcon(":/assistant.svg")); #endif m_showAssistantDockAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_1)); dock = new QDockWidget(tr("Assistant Info"), this); QWidget* widget = new QWidget(dock); m_assistantPreviewNotes = new QLabel(widget); m_assistantPreviewNotes->setText(tr("Code:")); m_assistantCodePreview = new QTextEdit(widget); m_assistantCodePreview->setReadOnly(true); QBoxLayout* assistant_info_layout = new QBoxLayout(QBoxLayout::TopToBottom, widget); assistant_info_layout->addWidget(m_assistantPreviewNotes); assistant_info_layout->addWidget(m_assistantCodePreview); widget->setLayout(assistant_info_layout); dock->setWidget(widget); dock->setObjectName("assistant_info"); addDockWidget(Qt::LeftDockWidgetArea, dock); m_showAssistantInfoDockAction = dock->toggleViewAction(); m_showAssistantInfoDockAction->setIconVisibleInMenu(false); m_showAssistantInfoDockAction->setStatusTip(tr("Show or hide the assistant info dock")); #if !defined(Q_WS_WIN) // BUG: icons are not displayed when cross-linking m_showAssistantInfoDockAction->setIcon(QIcon(":/assistant-info.svg")); #endif m_showAssistantInfoDockAction->setShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_2)); }
int main(int argc, char *argv[]) { QApplication app(argc, argv); if (app.arguments().count() < 2) { usage(); return 1; } ///TODO: multi-part callgrind files QFile file(app.arguments().at(1)); if (!file.open(QIODevice::ReadOnly)) { qerr << "could not open callgrind file for reading:" << file.fileName() << file.errorString(); return 3; } Parser p; p.parse(&file); ParseData *data = p.takeData(); if (!data) { qerr << "invalid callgrind file:" << file.fileName() << endl; return 2; } QMainWindow window; CallgrindWidgetHandler *handler = new CallgrindWidgetHandler(&window); ModelTestWidget *widget = new ModelTestWidget(handler); widget->setWindowTitle(file.fileName()); window.setCentralWidget(widget); QDockWidget *callerDock = new QDockWidget("callers", &window); callerDock->setWidget(handler->callersView()); window.addDockWidget(Qt::RightDockWidgetArea, callerDock); QDockWidget *calleeDock = new QDockWidget("callees", &window); calleeDock->setWidget(handler->calleesView()); window.addDockWidget(Qt::RightDockWidgetArea, calleeDock); QDockWidget *widgetDock = new QDockWidget("vizualisation", &window); widgetDock->setWidget(handler->visualisation()); window.addDockWidget(Qt::BottomDockWidgetArea, widgetDock); handler->setParseData(data); window.show(); return app.exec(); }
void ExecutingPietLibraries::MakeGLView (std::vector<PietTree> & pt){ if(pt.size() == 0 )return; if(pt[0].isLeaf()) return; pt = pt[0].Nodes(); if(pt.size() < 3) return; int w = pt[0].Val(); int h = pt[1].Val(); QString title = pt[2].toString(); for(int i:range(3)) pt.pop_back(); GLGameWidget* glgw = GLGameWidget::MakeUniqueGLWidget(nullptr); if(glgw == nullptr) return ; glgw->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed); glgw->setSize(w,h); QDockWidget* dw = new QDockWidget(nullptr); dw->setFloating(true); dw->setAllowedAreas(Qt::NoDockWidgetArea); dw->connect(dw,&QDockWidget::dockLocationChanged,[=](){ dw->setFloating(true);}); dw->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed); dw->setWidget(glgw); dw->setAttribute(Qt::WA_DeleteOnClose); dw->setWindowTitle(title); dw->show(); }
MainWindow::MainWindow(QWidget* parent, int, char* const*) : QMainWindow(parent), d(new Private(this)) { createActions(); createMenus(); createToolBars(); connect(d->saveAct, SIGNAL(triggered()), d->result, SLOT(saveResult())); setCentralWidget(d->result); d->result->setFocusPolicy(Qt::ClickFocus); QDockWidget* settingsDock = new QDockWidget(tr("Settings"), this); settingsDock->setAllowedAreas(Qt::LeftDockWidgetArea); settingsDock->setWidget(d->settings); addDockWidget(Qt::LeftDockWidgetArea, settingsDock); d->result->setFocus(); d->setSettings(); connect(d->settings, SIGNAL(settingsChanged(int, int, int, int, int, int)), this, SLOT(getSettings(int, int, int, int, int, int))); // connect (result, SIGNAL (etching()), this, SLOT (etch())); connect(d->etchMenu, SIGNAL(startEtching(int, int, float*)), this, SLOT(etch(int, int, float*))); }
void CPainter::create_Command_Panel() { m_pPanel = new panel(m_pMainWidget); QDockWidget* dw = new QDockWidget("cmd", this); dw->setWidget(m_pPanel); addDockWidget(Qt::BottomDockWidgetArea, dw); }
void MainWindow::createDockWidget() { CreateDockWidgetDialog dialog(this); int ret = dialog.exec(); if (ret == QDialog::Rejected) return; QDockWidget *dw = new QDockWidget; dw->setObjectName(dialog.objectName()); dw->setWindowTitle(dialog.objectName()); dw->setWidget(new QTextEdit); Qt::DockWidgetArea area = dialog.location(); switch (area) { case Qt::LeftDockWidgetArea: case Qt::RightDockWidgetArea: case Qt::TopDockWidgetArea: case Qt::BottomDockWidgetArea: addDockWidget(area, dw); break; default: if (!restoreDockWidget(dw)) { QMessageBox::warning(this, QString(), tr("Failed to restore dock widget")); delete dw; return; } break; } extraDockWidgets.append(dw); destroyDockWidgetMenu->setEnabled(true); destroyDockWidgetMenu->addAction(new QAction(dialog.objectName(), this)); }
HelpBrowser::HelpBrowser( QWidget* parent, const QString& /*caption*/, const QString& guiLanguage, const QString& jumpToSection, const QString& jumpToFile) : QMainWindow( parent ) { firstRun=true; setupUi(this); helpNav = new HelpNavigation(this); #if defined(Q_OS_MAC) && defined(HELP_NAV_AS_DRAWER) // TODO #else QDockWidget * dckw = new QDockWidget(tr("Navigation"),this); dckw->setWidget(helpNav); addDockWidget(Qt::LeftDockWidgetArea, dckw); #endif progressBar = new QProgressBar(this); progressBar->setRange(0,100); statusBar()->addPermanentWidget(progressBar); setupLocalUI(); language = guiLanguage.isEmpty() ? QString("en") : guiLanguage.left(2); finalBaseDir = ScPaths::instance().docDir() + "en/"; //Sane default for help location textBrowser->setSearchPaths(QStringList(finalBaseDir)); menuModel=NULL; loadMenu(); if (menuModel!=NULL) { readBookmarks(); readHistory(); jumpToHelpSection(jumpToSection, jumpToFile ); languageChange(); } else { displayNoHelp(); } }
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); }
/** * 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; }
/* ・ウィンドウ表示を行う ・既に DockWidget に登録済みの場合は、一旦削除を行い表示を行う */ void FormNodeEditorImpl::_showForm(QWidget* pWidget, const QString& rqStr, Qt::DockWidgetAreas allowedDockArea, Qt::DockWidgetArea initDockArea) { int nDockCnt = listDockWidgets.size(); for (int i = 0; i < nDockCnt; i++) { QWidget* pWidgetTmp = listDockWidgets[i]->widget(); if (pWidgetTmp == pWidget) { this->removeDockWidget(listDockWidgets[i]); listDockWidgets[i]->setWidget(NULL); /* [NOTE] 一度、DockWidget化した widget を show() しても表示されない問題が発生した。 その対処として、setParent(NULL) を明示的に行ったところ、show()にて表示できるようになった。 現在の状態が、pWidgetTmp->isVisibleTo(listDockWidgets[i]) にて true の状態であるため、 親値を外す必要があると思われる。 */ pWidgetTmp->setParent(NULL); listDockWidgets.removeAt(i); break; } } if (_isEnableFormDockable) { QDockWidget* pDock = new QDockWidget(rqStr, this); pDock->setWidget(pWidget); pDock->setAllowedAreas(allowedDockArea); addDockWidget(initDockArea, pDock, Qt::Horizontal); pDock->show(); listDockWidgets.push_back(pDock); } else { pWidget->show(); } }
int main(int argc, char **argv) { QApplication app(argc, argv); QMainWindow mainWindow; mainWindow.setCentralWidget(new StaticWidget()); mainWindow.setStatusBar(new QStatusBar()); QDockWidget *dockWidget = new QDockWidget(); dockWidget->setWidget(new StaticWidget()); mainWindow.addDockWidget(Qt::LeftDockWidgetArea, dockWidget); QToolBar *toolBar = new QToolBar(); toolBar->addWidget(new StaticWidget())->setVisible(true);; toolBar->addWidget(new QSpinBox())->setVisible(true);; mainWindow.addToolBar(toolBar); mainWindow.resize(600, 400); mainWindow.show(); return app.exec(); }
void QSofaMainWindow::createAdditionalViewer() { QSofaViewer* additionalViewer = new QSofaViewer(&sofaScene, this); QDockWidget* additionalViewerDock = new QDockWidget(tr("Additional Viewer"), this); additionalViewerDock->setWidget(additionalViewer); addDockWidget(Qt::LeftDockWidgetArea, additionalViewerDock); }
void GLShaderDev::initializeDockWidgets() { QSplitter* splitter = new QSplitter; QTabWidget* optionTab = new QTabWidget; _shaderStages = new ShaderStagesView; _shaderInput = new ShaderInputView; optionTab->setMovable(true); optionTab->addTab(_shaderInput, tr("Shader Input")); optionTab->addTab(_shaderStages, tr("Build Stages")); splitter->setOrientation(Qt::Vertical); splitter->addWidget(_glpreview); splitter->addWidget(optionTab); QDockWidget *dockWidget = new QDockWidget(tr("OpenGL View"), this); dockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); dockWidget->setWidget(splitter); addDockWidget(Qt::RightDockWidgetArea, dockWidget); // dockWidget->setFloating(true); FIXME _buildOutputDock = new QDockWidget(tr("Build log"), this); _buildOutputDock->setAllowedAreas(Qt::BottomDockWidgetArea); _buildOutputDock->setFeatures(QDockWidget::DockWidgetVerticalTitleBar | _buildOutputDock->features()); _buildOutputDock->setWidget(_output); addDockWidget(Qt::BottomDockWidgetArea, _buildOutputDock); _buildOutputDock->hide(); connect(_output, SIGNAL(dereferencableItemActivated(const QString&, int, int)), _editor, SLOT(gotoFile(const QString&, int, int))); }
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); }
void MainWindow::runHolmake() { QDockWidget *dock = new QDockWidget(tr("HOL Process"), this); dock->setAllowedAreas(Qt::BottomDockWidgetArea); mHolmakeWidget = new HOLMakeWidget; dock->setWidget(mHolmakeWidget); addDockWidget(Qt::RightDockWidgetArea, dock); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { this->setWindowIcon(QIcon(":res/123.png")); mdi = new QMdiArea(this); this->setCentralWidget(mdi); QDockWidget* dock = new QDockWidget(tr("Script log"),this); dock->setObjectName(tr("ScriptLogDock")); logText = new QTextEdit(dock); logText->setReadOnly(true); logText->setLineWrapMode(QTextEdit::NoWrap); dock->setWidget(logText); this->addDockWidget(Qt::BottomDockWidgetArea, dock); run_script_init(this); // make sure the about menu is shown QMenu* menu = 0; QList<QAction*> list = menuBar()->actions(); foreach(QAction* act, list){ if( act->text().contains(tr("help"),Qt::CaseInsensitive) ){ menu = act->menu(); } } if(menu == 0){ menu = menuBar()->addMenu(tr("&Help")); } menu->addAction(dock->toggleViewAction()); menu->addSeparator(); QAction* act = menu->addAction(tr("&About...")); connect(act,SIGNAL(triggered()),this,SLOT(my_about())); this->setWindowTitle(tr("X Toolbox (Beta)")); }
void MainWindow::addAsDockWidget(QWidget* widget) { QDockWidget* dockWidget = new QDockWidget(widget->windowTitle(), this); dockWidget->setObjectName(widget->objectName() + "DockWidget"); dockWidget->setWidget(widget); QMainWindow::addDockWidget(Qt::LeftDockWidgetArea, dockWidget); }
void EditorBase::LoadTools() { ModuleManager::Instance()->LoadModulesInFolder( "Plugins/Tools/" ); // Create the tools and init their UI; Class::Iterator itClassesNew( EditorTool::StaticClass() ); for( ; itClassesNew.IsValid(); ++itClassesNew ) { EditorTool* newTool = Cast<EditorTool>((*itClassesNew)->AllocateNew()); try { newTool->SetEditor(this); QWidget* toolWidget = newTool->CreateUI(); if( toolWidget != mMainView ) { QDockWidget* contentsWindow = GD_NEW(QDockWidget, this, 0)(toolWidget->objectName(), this); contentsWindow->setWidget(toolWidget); addDockWidget(Qt::LeftDockWidgetArea, contentsWindow); } newTool->Hide(); mTools[(*itClassesNew)->GetName()] = newTool; } catch( Exception& e ) { qWarning( e.GetMessage().c_str() ); GD_DELETE(newTool); } } }