Ejemplo n.º 1
1
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());
}
Ejemplo n.º 2
0
void MainWindow::ConnectStack()
{
  auto* widget = new QWidget;
  auto* layout = new QVBoxLayout;
  widget->setLayout(layout);

  layout->addWidget(m_game_list);
  layout->addWidget(m_search_bar);
  layout->setMargin(0);

  connect(m_search_bar, &SearchBar::Search, m_game_list, &GameList::SetSearchTerm);

  m_stack->addWidget(widget);

  setCentralWidget(m_stack);

  setTabPosition(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea, QTabWidget::North);
  addDockWidget(Qt::RightDockWidgetArea, m_log_widget);
  addDockWidget(Qt::RightDockWidgetArea, m_log_config_widget);
  addDockWidget(Qt::RightDockWidgetArea, m_code_widget);
  addDockWidget(Qt::RightDockWidgetArea, m_register_widget);
  addDockWidget(Qt::RightDockWidgetArea, m_watch_widget);
  addDockWidget(Qt::RightDockWidgetArea, m_breakpoint_widget);

  tabifyDockWidget(m_log_widget, m_log_config_widget);
  tabifyDockWidget(m_log_widget, m_code_widget);
  tabifyDockWidget(m_log_widget, m_register_widget);
  tabifyDockWidget(m_log_widget, m_watch_widget);
  tabifyDockWidget(m_log_widget, m_breakpoint_widget);
}
Ejemplo n.º 3
0
void Ide::onInit()
{
    auto p = Preferences::get();
    if (p->wasWindowMaximized())
    {
        showMaximized();
    }
    else
    {
        resize(p->windowSize());
    }
    addDockWidget(Qt::LeftDockWidgetArea, new ProjectDock(this));
    auto java = new JavaDock(this);
    addDockWidget(Qt::BottomDockWidgetArea, java);
    auto zipAlign = new ZipAlignDock(this);
    addDockWidget(Qt::BottomDockWidgetArea, zipAlign);
    tabifyDockWidget(java, zipAlign);
    auto jarSigner = new JarSignerDock(this);
    addDockWidget(Qt::BottomDockWidgetArea, jarSigner);
    tabifyDockWidget(zipAlign, jarSigner);
    auto adb = new AdbDock(this);
    addDockWidget(Qt::BottomDockWidgetArea, adb);
    tabifyDockWidget(jarSigner, adb);
    restoreState(p->docksState());
}
Ejemplo n.º 4
0
void Editor::UIInitHelper()
{
	tabifyDockWidget(ui.projectDock, ui.primitiveDock);
	tabifyDockWidget(ui.primitiveDock, ui.propertyDock);
	ui.projectDock->raise();

	ui.propertyWidget->setPropertiesWithoutValueMarked(true);
	ui.propertyWidget->setHeaderVisible(false);
	ui.propertyWidget->setRootIsDecorated(false);
}
Ejemplo n.º 5
0
MainWindow::MainWindow(QWidget *parent)
	: KXmlGuiWindow(parent)
{
	setWindowTitle(i18n("Silence"));
	Controller *controller = Controller::create();
	controller->setMainWindow(this);
	controller->setActionManager(new ActionManager(actionCollection()));


	centralwidgetstack = new QStackedWidget;
	setCentralWidget(centralwidgetstack);

	// ContentView
	contentview = new ContentView;
	centralwidgetstack->addWidget(contentview);
	controller->setContentView(contentview);

	nodepropertywidget = new NodePropertyWidget(i18n("Properties"), this);
	nodepropertywidget->hide();
	controller->setNodePropertyWidget(nodepropertywidget);

	// the treeview on the left side
	treeview = new TreeView(i18n("Nodes"), this);
	controller->setTreeView(treeview);

	// search sidebar
	searchnodesidebar = new SearchNodeSidebar(i18n("Search Nodes"), this);
	controller->setSearchNodeSidebar(searchnodesidebar);

	// navigation sidebar
	navigationsidebar = new NavigationSidebar(i18nc("title of the navigation sidebar", "Navigation"), this);
	controller->setNavigationSidebar(navigationsidebar);

	// information sidebar to show the metainfos
	infosidebar = new InfoSidebar(i18n("Information"), this);
	controller->setInfoSidebar(infosidebar);

	// docking the widgets
	addDockWidget(Qt::RightDockWidgetArea, navigationsidebar);
	addDockWidget(Qt::RightDockWidgetArea, infosidebar);
	addDockWidget(Qt::LeftDockWidgetArea, treeview);
	addDockWidget(Qt::LeftDockWidgetArea, treeview);
	tabifyDockWidget(treeview, searchnodesidebar);
	addDockWidget(Qt::LeftDockWidgetArea, nodepropertywidget);

	statusbar = new SiStatusBar;
	setStatusBar(statusbar);
	controller->setStatusBar(statusbar);

	controller->getTextEdit()->setVisible(false);
	controller->getRichTextEdit()->setVisible(false);

	viewmenu = new ViewMenu();
	connect(controller->getActionManager()->getGlobalAction(Actions::EXIT), SIGNAL(triggered()), this, SLOT(quit()));

	silencemenu = new SilenceMenu(actionCollection());

	setupGUI(QSize(1100, 600), Keys | StatusBar | Save | Create);
}
Ejemplo n.º 6
0
MainWindow::MainWindow(QWidget *parent)
	: KXmlGuiWindow(parent)
{
	setWindowTitle(i18n("Silence"));
	controller = Controller::create();

	// ContentView
	contentview = new ContentView;
	setCentralWidget(contentview);
	controller->setContentView(contentview);


	nodepropertywidget = new NodePropertyWidget(i18n("Properties"), this);
	nodepropertywidget->hide();
	controller->setNodePropertyWidget(nodepropertywidget);

	// the treeview on the left side
	treeview = new TreeView(i18n("Nodes"), actionCollection(), this);
	controller->setTreeView(treeview);

	// search sidebar
	searchnodesidebar = new SearchNodeSidebar(i18n("Search Nodes"), this);
	controller->setSearchNodeSidebar(searchnodesidebar);

	// navigation sidebar
	navigationsidebar = new NavigationSidebar(i18n("Navigation"), this);
	controller->setNavigationSidebar(navigationsidebar);

	// information sidebar to show the meta-infos
	infosidebar = new InfoSidebar(i18n("Info"), this);
	controller->setInfoSidebar(infosidebar);

	// docking the widgets
	addDockWidget(Qt::RightDockWidgetArea, navigationsidebar);
	addDockWidget(Qt::RightDockWidgetArea, infosidebar);
	addDockWidget(Qt::LeftDockWidgetArea, treeview);
	addDockWidget(Qt::LeftDockWidgetArea, treeview);
	tabifyDockWidget(treeview, searchnodesidebar);
	addDockWidget(Qt::LeftDockWidgetArea, nodepropertywidget);

	statusbar = new SiStatusBar;
	setStatusBar(statusbar);
	controller->setStatusBar(statusbar);

	controller->setActionCollection(actionCollection());

	controller->getTextEdit()->setVisible(false);
	controller->getRichTextEdit()->setVisible(false);

	viewmenu = new ViewMenu(actionCollection());
	KAction *action = actionCollection()->addAction("exit");
	action->setText(i18n("&Exit"));
	action->setIcon(KIcon("application-exit"));
	connect(action, SIGNAL(triggered()), qApp, SLOT(quit()));

	setupGUI(QSize(1100, 600), Keys | StatusBar | Save | Create);
}
Ejemplo n.º 7
0
	void MainWindow::setup_views_default()
	{
		// Tabs should be on the top of windows, not at the bottom
		setTabPosition( Qt::LeftDockWidgetArea, QTabWidget::North );
		setTabPosition( Qt::RightDockWidgetArea, QTabWidget::North );
		setTabPosition( Qt::BottomDockWidgetArea, QTabWidget::North );
		setTabPosition( Qt::TopDockWidgetArea, QTabWidget::North );

		addDockWidget( Qt::LeftDockWidgetArea, m_project_view.get() );
		tabifyDockWidget( m_project_view.get(), m_changes_view.get() );
		tabifyDockWidget( m_project_view.get(), m_objects_view.get() );

		addDockWidget( Qt::RightDockWidgetArea, m_libraries_view.get() );
		tabifyDockWidget( m_libraries_view.get(), m_layers_view.get() );
		tabifyDockWidget( m_libraries_view.get(), m_toolbox_view.get() );

		addDockWidget( Qt::BottomDockWidgetArea, m_log_view.get() );

	}
Ejemplo n.º 8
0
void QtDockRegion::setDefaultPreferenceForDockWidget(QDockWidget* qDockWidget)
{
	auto qMainWindow = qtWindow_.window();
	assert(qMainWindow != nullptr);
	qDockWidget->setVisible(!hidden_);
	qMainWindow->tabifyDockWidget(&qDockWidget_, qDockWidget);
	qDockWidget->setFloating(qDockWidget_.isFloating());
	qDockWidget->setFeatures(qDockWidget_.features());
	qDockWidget->setAllowedAreas(qDockWidget_.allowedAreas());
}
Ejemplo n.º 9
0
void MainWindow::slotPlotAnimationEdit()
{
	if (_plotEditDockWidget->isHidden())
	{
		_plotEditDockWidget->show();
		tabifyDockWidget(_csharpAssemblyDockWidget, _plotEditDockWidget);
	}
	else
		_plotEditDockWidget->hide();
}
Ejemplo n.º 10
0
void MainWindow::createDockWindows()
{
    //creating the Data Manager Dock
    DMdock = new QDockWidget(tr("Data Manager"), this);
    dataManager = new MVdataManager(DMdock);
    DMdock->setWidget(dataManager);
    addDockWidget(Qt::TopDockWidgetArea, DMdock);

    //creating the Mask Manager Dock
    MMDock = new QDockWidget(tr("Mask Manager"), this);
    maskManager = new MaskManager(MMDock);
    MMDock->setWidget(maskManager);
    addDockWidget(Qt::TopDockWidgetArea, MMDock);

    //creating the Plot Dock
    PlotDock = new QDockWidget(tr("Plot"), this);
    plotWidget = new PlotWidget(PlotDock);
    PlotDock->setWidget(plotWidget);
    addDockWidget(Qt::TopDockWidgetArea, PlotDock);

    eventViewerDock = new QDockWidget(tr("Data Inspector"), this);
    eventViewer = new EventViewer(eventViewerDock);
    eventViewerDock->setWidget(eventViewer);
    addDockWidget(Qt::TopDockWidgetArea, eventViewerDock);


//    maskEditorDock = new QDockWidget(tr("MaskEdit"),this);
//    maskMatrix = new checkableMatrix(this);
//    maskEditorDock->setWidget(maskMatrix);
//    addDockWidget(Qt::BottomDockWidgetArea,maskEditorDock);

    tabifyDockWidget(DMdock, MMDock);
    tabifyDockWidget(PlotDock, eventViewerDock);
//    tabifyDockWidget(eventViewerDock, maskEditorDock);

    //workaround: there is no way at the moment to select the
    //desired tab. You must guess which is the index of the internal
    //tab structure.
    //ref: http://qt-project.org/forums/viewthread/2835
    raisePlotDock();
    raiseDMDock();
}
Ejemplo n.º 11
0
void RenderWindow::slotMenuAnimationDocksPositions()
{
	ResetDocksPositions();
	ui->dockWidget_histogram->hide();
	ui->dockWidget_info->hide();
	ui->dockWidget_animation->show();
	ui->toolBar->hide();
#ifdef USE_GAMEPAD
	ui->dockWidget_gamepad_dock->hide();
#endif
	ui->dockWidget_queue_dock->hide();

	tabifyDockWidget(ui->dockWidget_materialEditor, ui->dockWidget_effects);
	tabifyDockWidget(ui->dockWidget_effects, ui->dockWidget_image_adjustments);
	tabifyDockWidget(ui->dockWidget_image_adjustments, ui->dockWidget_rendering_engine);
	tabifyDockWidget(ui->dockWidget_rendering_engine, ui->dockWidget_objects);
	tabifyDockWidget(ui->dockWidget_objects, ui->dockWidget_histogram);

	addDockWidget(Qt::LeftDockWidgetArea, ui->dockWidget_Materials);
}
Ejemplo n.º 12
0
void ToolWindow::addDockWidget(Qt::DockWidgetArea area, QDockWidget* dockWidget) {
    QList<QDockWidget*> dockWidgets = findChildren<QDockWidget*>();

    QMainWindow::addDockWidget(area, dockWidget);

    // We want to force tabbing, so retabify all of our widgets.
    QDockWidget* lastDockWidget = dockWidget;
    foreach (QDockWidget* nextDockWidget, dockWidgets) {
        tabifyDockWidget(lastDockWidget, nextDockWidget);
        lastDockWidget = nextDockWidget;
    }
Ejemplo n.º 13
0
void GPUCommandListWidget::OnCommandDoubleClicked(const QModelIndex& index) {
    const int command_id = list_widget->model()->data(index, GPUCommandListModel::CommandIdRole).toInt();
    if (COMMAND_IN_RANGE(command_id, texture0)) {
        auto info = Pica::DebugUtils::TextureInfo::FromPicaRegister(Pica::registers.texture0,
                                                                    Pica::registers.texture0_format);

        // TODO: Instead, emit a signal here to be caught by the main window widget.
        auto main_window = static_cast<QMainWindow*>(parent());
        main_window->tabifyDockWidget(this, new TextureInfoDockWidget(info, main_window));
    }
}
Ejemplo n.º 14
0
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    ui->logPanel->setReadOnly(true);
    ui->logPanel->setFont(QFont("Monospace", 8, 2));

    connect(ui->OgreWidget->mLogListener, SIGNAL(logMessageUpdated()),
            this, SLOT(writeToLogPanel()));
    connect(ui->listWidget, SIGNAL(doubleClicked(QModelIndex)), this , SLOT(materialSelected()));
    connect(ui->workspaceTree, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)),
            this, SLOT(workspaceItemSelected(QTreeWidgetItem*)));


    currMatName = "DefaultSettings";
    ui->workspaceTree->setColumnCount(1);
    ui->workspaceTree->setHeaderLabel("Materials");

    tabifyDockWidget(ui->vDock, ui->fDock);
    tabifyDockWidget(ui->workspaceDock, ui->propertiesDock);
}
Ejemplo n.º 15
0
void RenderWindow::slotStackAllDocks()
{
	tabifyDockWidget(ui->dockWidget_materialEditor, ui->dockWidget_effects);
	tabifyDockWidget(ui->dockWidget_effects, ui->dockWidget_image_adjustments);
	tabifyDockWidget(ui->dockWidget_image_adjustments, ui->dockWidget_rendering_engine);
	tabifyDockWidget(ui->dockWidget_rendering_engine, ui->dockWidget_objects);
	tabifyDockWidget(ui->dockWidget_objects, ui->dockWidget_histogram);
	tabifyDockWidget(ui->dockWidget_histogram, ui->dockWidget_info);
}
Ejemplo n.º 16
0
void NodeEditorWindows::createDocks()
{
    // settings of mdi area
    setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea);
    setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);
    setTabPosition(Qt::LeftDockWidgetArea, QTabWidget::North);

    // cam explorer dock
    _camExplorerDock = new QDockWidget(tr("Node project explorer"), this);
    QWidget *camExplorerContent = new QWidget(_camExplorerDock);
    QLayout *camExplorerLayout = new QVBoxLayout();
    _camExplorerWidget = new CamExplorerWidget();
    camExplorerLayout->addWidget(_camExplorerWidget);
    camExplorerContent->setLayout(camExplorerLayout);
    _camExplorerDock->setWidget(camExplorerContent);
    addDockWidget(Qt::LeftDockWidgetArea, _camExplorerDock);

    // viewer explorer dock
    _viewerExplorerDock = new QDockWidget(tr("Viewers"), this);
    QWidget *viewerExplorerContent = new QWidget(_viewerExplorerDock);
    QLayout *viewerExplorerLayout = new QVBoxLayout();
    _viewerExplorerWidget = new ViewerExplorerWidget();
    viewerExplorerLayout->addWidget(_viewerExplorerWidget);
    viewerExplorerContent->setLayout(viewerExplorerLayout);
    _viewerExplorerDock->setWidget(viewerExplorerContent);
    tabifyDockWidget(_camExplorerDock, _viewerExplorerDock);

    // lib treeview dock
    _libTreeViewDock = new QDockWidget(tr("IP library explorer"), this);
    QWidget *libTreeViewContent = new QWidget(_libTreeViewDock);
    QLayout *libTreeViewLayout = new QVBoxLayout();
    _libTreeView = new LibTreeView();
    _libTreeView->setLib(&Lib::getLib());
    libTreeViewLayout->addWidget(_libTreeView);
    libTreeViewContent->setLayout(libTreeViewLayout);
    _libTreeViewDock->setWidget(libTreeViewContent);
    addDockWidget(Qt::RightDockWidgetArea, _libTreeViewDock);

    // compile log dock
    _compileLogDock = new QDockWidget(tr("Compilation log"), this);
    QWidget *compileLogContent = new QWidget(_compileLogDock);
    QLayout *compileLogLayout = new QVBoxLayout();
    _compileLog = new CompileLogWidget();
    compileLogLayout->addWidget(_compileLog);
    compileLogContent->setLayout(compileLogLayout);
    _compileLogDock->setWidget(compileLogContent);
    addDockWidget(Qt::BottomDockWidgetArea, _compileLogDock);
    connect(_compileLog, SIGNAL(messageSended(QString)), this, SLOT(showMessage(QString)));
}
Ejemplo n.º 17
0
void MuseScore::showSelectionWindow(bool val)
      {
      QAction* a = getAction("toggle-selection-window");
      if (selectionWindow == 0) {
            selectionWindow = new SelectionWindow(this,this->currentScore());
            connect(selectionWindow, SIGNAL(closed(bool)), a, SLOT(setChecked(bool)));
            addDockWidget(Qt::LeftDockWidgetArea,selectionWindow);
            if (paletteBox && paletteBox->isVisible()) {
                  tabifyDockWidget(paletteBox, selectionWindow);
                  }
            }
      selectionWindow->setVisible(val);
      if (val) {
            selectionWindow->raise();
            }
      }
Ejemplo n.º 18
0
void MainWindow::initSnap(int snapType)
{
	static Screenshot *dockWidget0 = NULL;
	
	Screenshot *dockWidget = new Screenshot(dockCtrlNames[snapType], this);

	addDockWidget(static_cast<Qt::DockWidgetArea>(Qt::RightDockWidgetArea), dockWidget);

	// create tabbed history widgets
	if (dockWidget0)
		tabifyDockWidget(dockWidget0, dockWidget);
	else
		dockWidget0 = dockWidget;

	menuPictures->addAction(dockWidget->toggleViewAction());
	dockCtrls[snapType] = dockWidget;
}
Ejemplo n.º 19
0
void MainWindow::initHistory(int snapType)
{
	QString title = dockCtrlNames[snapType];
	QDockWidget *dockWidget = new QDockWidget(this);

	dockWidget->setObjectName("dockWidget_" + title);
	dockWidget->setFeatures(QDockWidget::DockWidgetClosable|QDockWidget::DockWidgetMovable|QDockWidget::NoDockWidgetFeatures);
	QWidget *dockWidgetContents = new QWidget(dockWidget);
	dockWidgetContents->setObjectName("dockWidgetContents_" + title);
	QGridLayout *gridLayout = new QGridLayout(dockWidgetContents);
	gridLayout->setObjectName("gridLayout_" + title);
	gridLayout->setContentsMargins(0, 0, 0, 0);

	QTextBrowser * tb;
	if (snapType == DOCK_HISTORY)
	{
		tb = tbHistory = new QTextBrowser(dockWidgetContents);
		tbHistory->setOpenExternalLinks(true);
	}
	else if (snapType == DOCK_MAMEINFO)
		tb = tbMameinfo = new QTextBrowser(dockWidgetContents);
	else if (snapType == DOCK_DRIVERINFO)
		tb = tbDriverinfo = new QTextBrowser(dockWidgetContents);
	else if (snapType == DOCK_STORY)
		tb = tbStory = new QTextBrowser(dockWidgetContents);
	else
		tb = tbCommand = new QTextBrowser(dockWidgetContents);
	
	tb->setObjectName("textBrowser_" + title);
	tb->setFrameShape(QFrame::NoFrame);

	gridLayout->addWidget(tb);

	dockWidget->setWidget(dockWidgetContents);
	dockWidget->setWindowTitle(tr(qPrintable(title)));
	addDockWidget(static_cast<Qt::DockWidgetArea>(Qt::RightDockWidgetArea), dockWidget);

	// create tabbed history widgets
	if (dwHistory)
		tabifyDockWidget(dwHistory, dockWidget);
	else
		dwHistory = dockWidget;

	menuDocuments->addAction(dockWidget->toggleViewAction());
	dockCtrls[snapType] = dockWidget;
}
Ejemplo n.º 20
0
void MainWindow::setupControllers(const QStringList &devices, bool setDefaults){


    for(int i = 0; i < devices.length(); i++){

        bool dummy = false;

        QString s = devices.at(i);
        QStringList split = s.split(',');

        if(split.length() < 2){
            qDebug() << "Invalid device String: " << s << endl;
            continue;
        }

        if(split.at(1).startsWith("DUMMY")) dummy = true;

        qDebug() << "Found device IP: " << split.at(0) << "ID: " << split.at(1) << "Dummy: " << dummy << endl;

        LightController *lc = new LightController(split.at(0), split.at(1), controllers.size() + 1, dummy, this);

        for(int j = 1; j <= 4; j++){
            connect(audio, SIGNAL(setRandomAll()), lc->zones[j], SLOT(setRandomExt()));
        }

        connect(master, SIGNAL(doColor(QColor, unsigned char)), lc->zones[0], SLOT(setColorExt(QColor)));
        connect(master, SIGNAL(doBright(unsigned char, unsigned char)), lc->zones[0], SLOT(setBrightExt(unsigned char)));
        connect(master, SIGNAL(doOn(unsigned char)), lc->zones[0], SLOT(setOnExt()));
        connect(master, SIGNAL(doOff(unsigned char)), lc->zones[0], SLOT(setOffExt()));
        connect(master, SIGNAL(doWhite(unsigned char)), lc->zones[0], SLOT(setWhiteExt()));
        connect(master, SIGNAL(fadeEnabled()), lc->zones[0], SLOT(disableFade()));

        controllers.append(lc);

        addDockWidget(Qt::BottomDockWidgetArea, lc);
        if(controllers.size() > 1) tabifyDockWidget(controllers.first(), controllers.last());

    }

    if(setDefaults){
        master->setColorExt(Qt::blue);
        usleep(150000);
        master->setBrightExt(18);
    }
}
Ejemplo n.º 21
0
void MainWindow::createWidgets()
{
	{
		// Dock Chutier
                _chutierDock = new QDockWidget( "Media List", this );
		{
                        _chutier = new Chutier( _chutierDock );
                        _chutierDock->setWidget( _chutier );
                        addDockWidget( Qt::TopDockWidgetArea, _chutierDock );
                        _viewMenu->addAction( _chutierDock->toggleViewAction() );
                        _viewMenu->addAction( _chutier->_viewerChutierDock->toggleViewAction() );
		}

	}

	{
                // Dock Viewer
                createWidgetViewer();
                saveWidgets();

                // Dock UndoWidget
                QDockWidget * undoDock = new QDockWidget( "Command List", this );
                {
                        _undoView = new UndoView( Projet::getInstance().getCommandManager(), undoDock );
                        _undoWidget = new UndoWidget( _undoView );
                        undoDock->setWidget( _undoWidget );
                        addDockWidget( Qt::TopDockWidgetArea, undoDock );
                        _viewMenu->addAction( undoDock->toggleViewAction() );
                }

                tabifyDockWidget( _chutierDock, undoDock );
                undoDock->setHidden( true );
                undoDock->setFloating( true );

                // Dock Timeline QML
                _graphicTimelineDock = new QDockWidget( "Graphic Timeline", this );
                _timelineGraphic = new TimelineGraphic( this );
                _graphicTimelineDock->setWidget( _timelineGraphic );
                addDockWidget( Qt::BottomDockWidgetArea, _graphicTimelineDock );

                _viewMenu->addAction( _graphicTimelineDock->toggleViewAction() );
	}
}
Ejemplo n.º 22
0
void MainWindow::setUIMode(bool docks_enabled)
{
    // Already in this mode?
    if(docks_enabled == ui->tabWidget->isHidden())
        return;

    settings->setValue("docksEnabled", docks_enabled);

    // Enabling tabs needs a restart
    if(!docks_enabled)
    {
        QMessageBox::warning(this, trUtf8("Restart needed"), trUtf8("You need to restart firebird to enable the tab interface."));
        return;
    }

    //Convert the tabs into QDockWidgets
    QDockWidget *last_dock = nullptr;
    while(ui->tabWidget->count())
    {
        QWidget *tab = ui->tabWidget->widget(0);
        QDockWidget *dw = new QDockWidget(ui->tabWidget->tabText(0), this);
        docks.push_back(dw);
        #ifdef Q_OS_MAC
            connect(dw, SIGNAL(visibilityChanged(bool)), this, SLOT(dockVisibilityChanged(bool)));
        #endif
        if(tab == ui->tabDebugger)
            dock_debugger = dw;

        dw->setObjectName(ui->tabWidget->tabText(0));
        tab->setParent(dw->widget());
        addDockWidget(Qt::RightDockWidgetArea, dw);
        dw->setWidget(tab);
        if(last_dock != nullptr)
            tabifyDockWidget(last_dock, dw);
        last_dock = dw;
    }
    ui->tabWidget->setHidden(true);
    ui->uiDocks->setChecked(docks_enabled);
}
Ejemplo n.º 23
0
void GPUCommandListWidget::OnCommandDoubleClicked(const QModelIndex& index) {
    const unsigned int command_id = list_widget->model()->data(index, GPUCommandListModel::CommandIdRole).toUInt();
    if (COMMAND_IN_RANGE(command_id, texture0) ||
        COMMAND_IN_RANGE(command_id, texture1) ||
        COMMAND_IN_RANGE(command_id, texture2)) {

        unsigned index;
        if (COMMAND_IN_RANGE(command_id, texture0)) {
            index = 0;
        } else if (COMMAND_IN_RANGE(command_id, texture1)) {
            index = 1;
        } else {
            index = 2;
        }
        auto config = Pica::registers.GetTextures()[index].config;
        auto format = Pica::registers.GetTextures()[index].format;
        auto info = Pica::DebugUtils::TextureInfo::FromPicaRegister(config, format);

        // TODO: Instead, emit a signal here to be caught by the main window widget.
        auto main_window = static_cast<QMainWindow*>(parent());
        main_window->tabifyDockWidget(this, new TextureInfoDockWidget(info, main_window));
    }
}
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    exporting = false;
    ui->setupUi(this);
    connect(this, SIGNAL(renderedImage(QList<QImage>)), ui->widget, SLOT(updatePixmap(QList<QImage>)));
    ui->outDir->setText(QDir::homePath());
    exporting = false;
    ui->widget->scaleBox = ui->scale;
    tabifyDockWidget(ui->dockPreferences, ui->dockExport);
    ui->dockPreferences->raise();

    pattern = QPixmap(20,20);
    QPainter painter(&pattern);
#define BRIGHT 190
#define SHADOW 150
    painter.fillRect(0,0,10,10,QColor(SHADOW,SHADOW,SHADOW));
    painter.fillRect(10,0,10,10,QColor(BRIGHT,BRIGHT,BRIGHT));
    painter.fillRect(10,10,10,10,QColor(SHADOW,SHADOW,SHADOW));
    painter.fillRect(0,10,10,10,QColor(BRIGHT,BRIGHT,BRIGHT));
    setAcceptDrops(true);
}
Ejemplo n.º 25
0
/*!
 \brief IDE main class constructor

 \param parent
*/
WindowIDE::WindowIDE(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::WindowIDE)
{
    ui->setupUi(this);

    tabifyDockWidget(ui->projectDockWidget,ui->filesDockWidget);
    this->setWindowTitle(tr("PockEmul Integrated Development Environment"));
    this->setAttribute(Qt::WA_DeleteOnClose,true);

    setupEditor();

    connect(ui->actionCompile, SIGNAL(triggered()), this, SLOT(compile()));
    connect(ui->actionSave,SIGNAL(triggered()),this,SLOT(save()));
    connect(ui->actionSave_All,SIGNAL(triggered()),this,SLOT(saveAll()));
    //connect(ui->listWidget,SIGNAL(itemDoubleClicked(QListWidgetItem*)),this,SLOT(load(QListWidgetItem*)));
    connect(ui->treeView,SIGNAL(doubleClicked(QModelIndex)),this,SLOT(load(QModelIndex)));
    connect(ui->tabWidget,SIGNAL(tabCloseRequested(int)),this,SLOT(closeEditorTab(int)));
    connect(ui->outputtabWidget,SIGNAL(tabCloseRequested(int)),this,SLOT(closeOutputTab(int)));
    connect(ui->actionNew,SIGNAL(triggered()),this,SLOT(newFile()));

    connect(mainwindow,SIGNAL(DestroySignal(CPObject*)),this,SLOT(DestroySlot(CPObject*)));
}
Ejemplo n.º 26
0
MainWindow::MainWindow(const QString cfgfile, QWidget *parent) :
    QMainWindow(parent),
    configOk(true),
    ui(new Ui::MainWindow),
    d_lnb_lo(0),
    d_fftAvg(0.5),
    d_have_audio(true),
    dec_afsk1200(0)
{
    ui->setupUi(this);

    /* Initialise default configuration directory */
    QByteArray xdg_dir = qgetenv("XDG_CONFIG_HOME");
    if (xdg_dir.isEmpty())
        m_cfg_dir = QString("%1/.config/gqrx").arg(QDir::homePath()); // Qt takes care of conversion to native separators
    else
        m_cfg_dir = QString("%1/gqrx").arg(xdg_dir.data());

    setWindowTitle(QString("Gqrx %1").arg(VERSION));

    /* frequency control widget */
    ui->freqCtrl->setup(10, (quint64) 0, (quint64) 9999e6, 1, UNITS_MHZ);
    ui->freqCtrl->setFrequency(144500000);

    d_filter_shape = receiver::FILTER_SHAPE_NORMAL;

    /* create receiver object */
    rx = new receiver("", "");
    rx->set_rf_freq(144500000.0f);

    /* meter timer */
    meter_timer = new QTimer(this);
    connect(meter_timer, SIGNAL(timeout()), this, SLOT(meterTimeout()));

    /* FFT timer & data */
    iq_fft_timer = new QTimer(this);
    connect(iq_fft_timer, SIGNAL(timeout()), this, SLOT(iqFftTimeout()));

    audio_fft_timer = new QTimer(this);
    connect(audio_fft_timer, SIGNAL(timeout()), this, SLOT(audioFftTimeout()));

    d_fftData = new std::complex<float>[MAX_FFT_SIZE];
    d_realFftData = new double[MAX_FFT_SIZE];
    d_pwrFftData = new double[MAX_FFT_SIZE]();
    d_iirFftData = new double[MAX_FFT_SIZE];
    for (int i = 0; i < MAX_FFT_SIZE; i++)
        d_iirFftData[i] = -120.0;  // dBFS

    /* timer for data decoders */
    dec_timer = new QTimer(this);
    connect(dec_timer, SIGNAL(timeout()), this, SLOT(decoderTimeout()));

    /* create dock widgets */
    uiDockRxOpt = new DockRxOpt();
    uiDockAudio = new DockAudio();
    uiDockInputCtl = new DockInputCtl();
    //uiDockIqPlay = new DockIqPlayer();
    uiDockFft = new DockFft();

    /* Add dock widgets to main window. This should be done even for
       dock widgets that are going to be hidden, otherwise they will
       end up floating in their own top-level window and can not be
       docked to the mainwindow.
    */
    addDockWidget(Qt::RightDockWidgetArea, uiDockInputCtl);
    addDockWidget(Qt::RightDockWidgetArea, uiDockRxOpt);
    tabifyDockWidget(uiDockInputCtl, uiDockRxOpt);

    addDockWidget(Qt::RightDockWidgetArea, uiDockAudio);
    addDockWidget(Qt::RightDockWidgetArea, uiDockFft);
    tabifyDockWidget(uiDockFft, uiDockAudio);

    //addDockWidget(Qt::BottomDockWidgetArea, uiDockIqPlay);

    /* hide docks that we don't want to show initially */
    /** FIXME: Hide them initially but store layout in config **/
    //    uiDockInputCtl->hide();
    //    uiDockFft->hide();
    //uiDockIqPlay->hide();

    /* misc configurations */
    //uiDockAudio->setFftRange(0, 8000); // FM

    /* Add dock widget actions to View menu. By doing it this way all signal/slot
       connections will be established automagially.
    */
    ui->menu_View->addAction(uiDockInputCtl->toggleViewAction());
    ui->menu_View->addAction(uiDockRxOpt->toggleViewAction());
    ui->menu_View->addAction(uiDockAudio->toggleViewAction());
    ui->menu_View->addAction(uiDockFft->toggleViewAction());
    //ui->menu_View->addAction(uiDockIqPlay->toggleViewAction());
    ui->menu_View->addSeparator();
    ui->menu_View->addAction(ui->mainToolBar->toggleViewAction());
    ui->menu_View->addSeparator();
    ui->menu_View->addAction(ui->actionFullScreen);

    /* connect signals and slots */
    connect(ui->freqCtrl, SIGNAL(newFrequency(qint64)), this, SLOT(setNewFrequency(qint64)));
    connect(uiDockInputCtl, SIGNAL(lnbLoChanged(double)), this, SLOT(setLnbLo(double)));
    connect(uiDockInputCtl, SIGNAL(gainChanged(double)), SLOT(setRfGain(double)));
    connect(uiDockInputCtl, SIGNAL(freqCorrChanged(int)), this, SLOT(setFreqCorr(int)));
    connect(uiDockInputCtl, SIGNAL(iqSwapChanged(bool)), this, SLOT(setIqSwap(bool)));
    connect(uiDockInputCtl, SIGNAL(dcCancelChanged(bool)), this, SLOT(setDcCancel(bool)));
    connect(uiDockInputCtl, SIGNAL(iqBalanceChanged(bool)), this, SLOT(setIqBalance(bool)));
    connect(uiDockInputCtl, SIGNAL(ignoreLimitsChanged(bool)), this, SLOT(setIgnoreLimits(bool)));
    connect(uiDockRxOpt, SIGNAL(filterOffsetChanged(qint64)), this, SLOT(setFilterOffset(qint64)));
    connect(uiDockRxOpt, SIGNAL(demodSelected(int)), this, SLOT(selectDemod(int)));
    connect(uiDockRxOpt, SIGNAL(fmMaxdevSelected(float)), this, SLOT(setFmMaxdev(float)));
    connect(uiDockRxOpt, SIGNAL(fmEmphSelected(double)), this, SLOT(setFmEmph(double)));
    connect(uiDockRxOpt, SIGNAL(amDcrToggled(bool)), this, SLOT(setAmDcr(bool)));
    connect(uiDockRxOpt, SIGNAL(agcToggled(bool)), this, SLOT(setAgcOn(bool)));
    connect(uiDockRxOpt, SIGNAL(agcHangToggled(bool)), this, SLOT(setAgcHang(bool)));
    connect(uiDockRxOpt, SIGNAL(agcThresholdChanged(int)), this, SLOT(setAgcThreshold(int)));
    connect(uiDockRxOpt, SIGNAL(agcSlopeChanged(int)), this, SLOT(setAgcSlope(int)));
    connect(uiDockRxOpt, SIGNAL(agcGainChanged(int)), this, SLOT(setAgcGain(int)));
    connect(uiDockRxOpt, SIGNAL(agcDecayChanged(int)), this, SLOT(setAgcDecay(int)));
    connect(uiDockRxOpt, SIGNAL(noiseBlankerChanged(int,bool,float)), this, SLOT(setNoiseBlanker(int,bool,float)));
    connect(uiDockRxOpt, SIGNAL(sqlLevelChanged(double)), this, SLOT(setSqlLevel(double)));
    connect(uiDockAudio, SIGNAL(audioGainChanged(float)), this, SLOT(setAudioGain(float)));
    connect(uiDockAudio, SIGNAL(audioRecStarted(QString)), this, SLOT(startAudioRec(QString)));
    connect(uiDockAudio, SIGNAL(audioRecStopped()), this, SLOT(stopAudioRec()));
    connect(uiDockAudio, SIGNAL(audioPlayStarted(QString)), this, SLOT(startAudioPlayback(QString)));
    connect(uiDockAudio, SIGNAL(audioPlayStopped()), this, SLOT(stopAudioPlayback()));
    connect(uiDockAudio, SIGNAL(fftRateChanged(int)), this, SLOT(setAudioFftRate(int)));
    connect(uiDockFft, SIGNAL(fftSizeChanged(int)), this, SLOT(setIqFftSize(int)));
    connect(uiDockFft, SIGNAL(fftRateChanged(int)), this, SLOT(setIqFftRate(int)));
    connect(uiDockFft, SIGNAL(fftSplitChanged(int)), this, SLOT(setIqFftSplit(int)));
    connect(uiDockFft, SIGNAL(fftAvgChanged(double)), this, SLOT(setIqFftAvg(double)));
    connect(uiDockFft, SIGNAL(resetFftZoom()), ui->plotter, SLOT(resetHorizontalZoom()));
    connect(uiDockFft, SIGNAL(gotoFftCenter()), ui->plotter, SLOT(moveToCenterFreq()));
    connect(uiDockFft, SIGNAL(gotoDemodFreq()), ui->plotter, SLOT(moveToDemodFreq()));


    // restore last session
    if (!loadConfig(cfgfile, true))
    {
        qDebug() << "No input device found";
        if (on_actionIoConfig_triggered() != QDialog::Accepted)
        {
            qDebug() << "I/O device configuration cancelled.";
            configOk = false;
        }
    }

}
Ejemplo n.º 27
0
QT_BEGIN_NAMESPACE

MainWindow::MainWindow(CmdLineParser *cmdLine, QWidget *parent)
    : QMainWindow(parent)
    , m_bookmarkWidget(0)
    , m_filterCombo(0)
    , m_toolBarMenu(0)
    , m_cmdLine(cmdLine)
    , m_progressWidget(0)
    , m_qtDocInstaller(0)
    , m_connectedInitSignals(false)
{
    TRACE_OBJ

    setToolButtonStyle(Qt::ToolButtonFollowStyle);
    setDockOptions(dockOptions() | AllowNestedDocks);

    QString collectionFile;
    if (usesDefaultCollection()) {
        MainWindow::collectionFileDirectory(true);
        collectionFile = MainWindow::defaultHelpCollectionFileName();
    } else {
        collectionFile = cmdLine->collectionFile();
    }
    HelpEngineWrapper &helpEngineWrapper =
        HelpEngineWrapper::instance(collectionFile);
    BookmarkManager *bookMarkManager = BookmarkManager::instance();

    if (!initHelpDB(!cmdLine->collectionFileGiven())) {
        qDebug("Fatal error: Help engine initialization failed. "
            "Error message was: %s\nAssistant will now exit.",
            qPrintable(HelpEngineWrapper::instance().error()));
        std::exit(1);
    }

    m_centralWidget = new CentralWidget(this);
    setCentralWidget(m_centralWidget);

    m_indexWindow = new IndexWindow(this);
    QDockWidget *indexDock = new QDockWidget(tr("Index"), this);
    indexDock->setObjectName(QLatin1String("IndexWindow"));
    indexDock->setWidget(m_indexWindow);
    addDockWidget(Qt::LeftDockWidgetArea, indexDock);

    m_contentWindow = new ContentWindow;
    QDockWidget *contentDock = new QDockWidget(tr("Contents"), this);
    contentDock->setObjectName(QLatin1String("ContentWindow"));
    contentDock->setWidget(m_contentWindow);
    addDockWidget(Qt::LeftDockWidgetArea, contentDock);

    m_searchWindow = new SearchWidget(helpEngineWrapper.searchEngine());
    m_searchWindow->setFont(!helpEngineWrapper.usesBrowserFont() ? qApp->font()
        : helpEngineWrapper.browserFont());
    QDockWidget *searchDock = new QDockWidget(tr("Search"), this);
    searchDock->setObjectName(QLatin1String("SearchWindow"));
    searchDock->setWidget(m_searchWindow);
    addDockWidget(Qt::LeftDockWidgetArea, searchDock);

    QDockWidget *bookmarkDock = new QDockWidget(tr("Bookmarks"), this);
    bookmarkDock->setObjectName(QLatin1String("BookmarkWindow"));
    bookmarkDock->setWidget(m_bookmarkWidget
        = bookMarkManager->bookmarkDockWidget());
    addDockWidget(Qt::LeftDockWidgetArea, bookmarkDock);

    QDockWidget *openPagesDock = new QDockWidget(tr("Open Pages"), this);
    openPagesDock->setObjectName(QLatin1String("Open Pages"));
    OpenPagesManager *openPagesManager
        = OpenPagesManager::createInstance(this, usesDefaultCollection(), m_cmdLine->url());
    openPagesDock->setWidget(openPagesManager->openPagesWidget());
    addDockWidget(Qt::LeftDockWidgetArea, openPagesDock);

    connect(m_centralWidget, SIGNAL(addBookmark(QString, QString)),
        bookMarkManager, SLOT(addBookmark(QString, QString)));
    connect(bookMarkManager, SIGNAL(escapePressed()), this,
            SLOT(activateCurrentCentralWidgetTab()));
    connect(bookMarkManager, SIGNAL(setSource(QUrl)), m_centralWidget,
            SLOT(setSource(QUrl)));
    connect(bookMarkManager, SIGNAL(setSourceInNewTab(QUrl)),
        openPagesManager, SLOT(createPage(QUrl)));

    QHelpSearchEngine *searchEngine = helpEngineWrapper.searchEngine();
    connect(searchEngine, SIGNAL(indexingStarted()), this, SLOT(indexingStarted()));
    connect(searchEngine, SIGNAL(indexingFinished()), this, SLOT(indexingFinished()));

    QString defWindowTitle = tr("Qt Assistant");
    setWindowTitle(defWindowTitle);

    setupActions();
    statusBar()->show();
    m_centralWidget->connectTabBar();

    setupFilterToolbar();
    setupAddressToolbar();

    const QString windowTitle = helpEngineWrapper.windowTitle();
    setWindowTitle(windowTitle.isEmpty() ? defWindowTitle : windowTitle);
    QByteArray iconArray = helpEngineWrapper.applicationIcon();
    if (iconArray.size() > 0) {
        QPixmap pix;
        pix.loadFromData(iconArray);
        QIcon appIcon(pix);
        qApp->setWindowIcon(appIcon);
    } else {
        QIcon appIcon(QLatin1String(":/trolltech/assistant/images/assistant-128.png"));
        qApp->setWindowIcon(appIcon);
    }

    QToolBar *toolBar = addToolBar(tr("Bookmark Toolbar"));
    toolBar->setObjectName(QLatin1String("Bookmark Toolbar"));
    bookMarkManager->setBookmarksToolbar(toolBar);

    // Show the widget here, otherwise the restore geometry and state won't work
    // on x11.
    show();

    toolBar->hide();
    toolBarMenu()->addAction(toolBar->toggleViewAction());

    QByteArray ba(helpEngineWrapper.mainWindow());
    if (!ba.isEmpty())
        restoreState(ba);

    ba = helpEngineWrapper.mainWindowGeometry();
    if (!ba.isEmpty()) {
        restoreGeometry(ba);
    } else {
        tabifyDockWidget(contentDock, indexDock);
        tabifyDockWidget(indexDock, bookmarkDock);
        tabifyDockWidget(bookmarkDock, searchDock);
        contentDock->raise();
        const QRect screen = QApplication::desktop()->screenGeometry();
        resize(4*screen.width()/5, 4*screen.height()/5);
    }

    if (!helpEngineWrapper.hasFontSettings()) {
        helpEngineWrapper.setUseAppFont(false);
        helpEngineWrapper.setUseBrowserFont(false);
        helpEngineWrapper.setAppFont(qApp->font());
        helpEngineWrapper.setAppWritingSystem(QFontDatabase::Latin);
        helpEngineWrapper.setBrowserFont(qApp->font());
        helpEngineWrapper.setBrowserWritingSystem(QFontDatabase::Latin);
    } else {
        updateApplicationFont();
    }

    updateAboutMenuText();

    QTimer::singleShot(0, this, SLOT(insertLastPages()));
    if (m_cmdLine->enableRemoteControl())
        (void)new RemoteControl(this);

    if (m_cmdLine->contents() == CmdLineParser::Show)
        showContents();
    else if (m_cmdLine->contents() == CmdLineParser::Hide)
        hideContents();

    if (m_cmdLine->index() == CmdLineParser::Show)
        showIndex();
    else if (m_cmdLine->index() == CmdLineParser::Hide)
        hideIndex();

    if (m_cmdLine->bookmarks() == CmdLineParser::Show)
        showBookmarksDockWidget();
    else if (m_cmdLine->bookmarks() == CmdLineParser::Hide)
        hideBookmarksDockWidget();

    if (m_cmdLine->search() == CmdLineParser::Show)
        showSearch();
    else if (m_cmdLine->search() == CmdLineParser::Hide)
        hideSearch();

    if (m_cmdLine->contents() == CmdLineParser::Activate)
        showContents();
    else if (m_cmdLine->index() == CmdLineParser::Activate)
        showIndex();
    else if (m_cmdLine->bookmarks() == CmdLineParser::Activate)
        showBookmarksDockWidget();

    if (!m_cmdLine->currentFilter().isEmpty()) {
        const QString &curFilter = m_cmdLine->currentFilter();
        if (helpEngineWrapper.customFilters().contains(curFilter))
            helpEngineWrapper.setCurrentFilter(curFilter);
    }

    if (usesDefaultCollection())
        QTimer::singleShot(0, this, SLOT(lookForNewQtDocumentation()));
    else
        checkInitState();

    connect(&helpEngineWrapper, SIGNAL(documentationRemoved(QString)),
            this, SLOT(documentationRemoved(QString)));
    connect(&helpEngineWrapper, SIGNAL(documentationUpdated(QString)),
            this, SLOT(documentationUpdated(QString)));

    setTabPosition(Qt::AllDockWidgetAreas, QTabWidget::North);
    GlobalActions::instance()->updateActions();
    if (helpEngineWrapper.addressBarEnabled())
        showNewAddress();
}
Ejemplo n.º 28
0
void mainWindow::createDocks()
{

	Monitor = new monitor();
	setCentralWidget(Monitor);
	
	setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea);
 	setCorner(Qt::BottomLeftCorner, Qt::BottomDockWidgetArea);
 	setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea);
 	setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);
	
	
	setDockOptions(QMainWindow::ForceTabbedDocks|QMainWindow::VerticalTabs);
	
	/////////
	/// Create and dock the Log window
	///////////////////////////
	
	log = new logWindow();
	showStartupMessage();
	
	QDockWidget *log_dock = new QDockWidget(tr("FoldWatcher Log"), this);
    	log_dock->setWidget(log);
    
    	log_dock->setAllowedAreas(Qt::BottomDockWidgetArea);
    	addDockWidget(Qt::BottomDockWidgetArea, log_dock);
    	
    	/////////
	/// Create and dock the FAHLog window
	///////////////////////////
	
	fahlog_log = new logWindow();
	
	QDockWidget *fahlog_dock = new QDockWidget(tr("FAHlog.txt"), this);
    	fahlog_dock->setWidget(fahlog_log);
    
    	fahlog_dock->setAllowedAreas(Qt::BottomDockWidgetArea);
    	addDockWidget(Qt::BottomDockWidgetArea, fahlog_dock);
    
    	/////////
    	/// Create and dock the Clients' List window
    	///////////////////////////
    
    	clients = new clientList();
        
    	QDockWidget *clients_dock = new QDockWidget(tr("Clients"), this);
    	clients_dock->setWidget(clients);
    
    	clients_dock->setAllowedAreas(Qt::BottomDockWidgetArea);
	addDockWidget(Qt::BottomDockWidgetArea, clients_dock);
    
    	tabifyDockWidget(clients_dock, log_dock);
    
    	/////////
    	/// Create and dock the Information window
    	///////////////////////////
    
    	info = new proteinInfo();
    
    	QDockWidget *info_dock = new QDockWidget(tr("Protein information"), this);
    	info_dock->setWidget(info);
    
    	info_dock->setAllowedAreas(Qt::RightDockWidgetArea);
    	addDockWidget(Qt::RightDockWidgetArea, info_dock);
    
   	/////////
    	/// Create and dock the Team Stats window
    	///////////////////////////
    
    	TeamStats = new teamStats();
    	QDockWidget *team_dock = new QDockWidget(tr("Team Statistics"), this);
    	team_dock->setWidget(TeamStats);
    
    	team_dock->setAllowedAreas(Qt::RightDockWidgetArea);
    	addDockWidget(Qt::RightDockWidgetArea, team_dock);
    
    
    	/////////
    	/// Create and dock the Personal Stats window
    	///////////////////////////
    
    	PersonalStats = new personalStats();
    
    	QDockWidget *personal_dock = new QDockWidget(tr("Personal Statistics"), this);
    	personal_dock->setWidget(PersonalStats);
    
    	personal_dock->setAllowedAreas(Qt::RightDockWidgetArea);
    
    	addDockWidget(Qt::RightDockWidgetArea, personal_dock);
    
    
	/////////
	/// Create and dock the Analog Clock window
    	///////////////////////////
    
    	analogClock = new AnalogClock();
    
    	QDockWidget *clock_dock = new QDockWidget(tr("Clock"), this);
    	clock_dock->setWidget(analogClock);
    
    	clock_dock->setAllowedAreas(Qt::LeftDockWidgetArea);
    	addDockWidget(Qt::LeftDockWidgetArea, clock_dock);
    
    	////////
    	/// Tabify those docks! (at last...)
    	////////////////////////////
    
    	// Right widget area
    	tabifyDockWidget(info_dock, personal_dock);
    	tabifyDockWidget(personal_dock, team_dock);
    
    	// Bottom widget area
    	tabifyDockWidget(clients_dock, fahlog_dock);
    	tabifyDockWidget(fahlog_dock, log_dock);
    
    	/////////
    	/// Create the "View" Menu
    	///////////////////////////
    
    	QMenu *logsMenu = new QMenu(tr("Logs"));
    	QMenu *statsMenu = new QMenu(tr("Stats"));
    	QMenu *widgetsMenu = new QMenu(tr("Widgets"));
    
    	logsMenu->addAction(log_dock->toggleViewAction());
    	logsMenu->addAction(fahlog_dock->toggleViewAction());
    
    	statsMenu->addAction(personal_dock->toggleViewAction());
    	statsMenu->addAction(team_dock->toggleViewAction());
    
    	widgetsMenu->addAction(clock_dock->toggleViewAction());
    
    	menuView->addMenu(logsMenu);
    	menuView->addMenu(statsMenu);
    	menuView->addMenu(widgetsMenu);
    	menuView->addSeparator();
    	menuView->addAction(clients_dock->toggleViewAction());
    	menuView->addAction(info_dock->toggleViewAction());
    	
    	/////////
    	/// Create the Toggle-View Toolbar
    	///////////////////////////
    	
    	toolbarLogs->addAction(clients_dock->toggleViewAction());
    	toolbarLogs->addSeparator();
    	toolbarLogs->addAction(log_dock->toggleViewAction());
    	toolbarLogs->addAction(fahlog_dock->toggleViewAction());
    	toolbarLogs->addSeparator();
    	toolbarLogs->addAction(info_dock->toggleViewAction());
    	toolbarLogs->addAction(personal_dock->toggleViewAction());
    	toolbarLogs->addAction(team_dock->toggleViewAction());
    	show();
    
}
Ejemplo n.º 29
0
void MainWindow::init()
{
	// Log
	connect(this, SIGNAL(logUpdated(QString)), this, SLOT(updateLog(QString)));

	enableCtrls(false);

	for (int i = DOCK_SNAP; i <= DOCK_PCB; i ++)
		initSnap(i);

	for (int i = DOCK_HISTORY; i <= DOCK_COMMAND; i ++)
		initHistory(i);

	ipsUI->init();

	// must call optUtils->init() after win, before show()
	optUtils->init();

#ifdef Q_OS_WIN
	//fixme: win font hack
	if (language.startsWith("zh_") || language.startsWith("ja_"))
	{
		QFont font;
		font.setFamily("MS Gothic");
		font.setFixedPitch(true);
		tbCommand->setFont(font);
//		tbCommand->setLineWrapMode(QTextEdit::NoWrap);
	}

	//rearrange docks
	addDockWidget(static_cast<Qt::DockWidgetArea>(Qt::LeftDockWidgetArea), m1UI);
	tabifyDockWidget(dwFolderList, m1UI);
#endif /* Q_OS_WIN */
	tabifyDockWidget(dwHistory, dwGUILog);

	//hide non popular docks by default
	dwGUILog->hide();

	for (int i = DOCK_SNAP; i < DOCK_LAST; i ++)
	{
		if (i != DOCK_SNAP
		 && i != DOCK_TITLE
		 && i != DOCK_HISTORY
		 && i != DOCK_MAMEINFO)
			dockCtrls[i]->hide();
	}

	dwFolderList->raise();
	dockCtrls[DOCK_SNAP]->raise();
	dockCtrls[DOCK_HISTORY]->raise();

	/* test ini readable/writable */
	// mkdir for individual game settings
	QDir().mkpath(CFG_PREFIX);

	QString warnings = "";
	QFile iniFile(CFG_PREFIX + "mamepgui" INI_EXT);
	if (!iniFile.open(QIODevice::ReadWrite | QFile::Text))
		warnings.append(QFileInfo(iniFile).absoluteFilePath());
	iniFile.close();

	if (warnings.size() > 0)
	{
		poplog("Current user has no sufficient privilege to read/write:\n" + warnings + "\n\ncouldn't save GUI settings.");
		//quit the program
		close();
		return;
	}

	loadGuiSettings();
	
	if (!validateMameBinary())
	{
			//quit the program
			close();
			return;
	}

	QIcon mamepIcon(":/res/mamep_256.png");
	qApp->setWindowIcon(mamepIcon);
	trayIcon = new QSystemTrayIcon(this);
	trayIcon->setIcon(mamepIcon);

	// must init app style before background
	if (gui_style.isEmpty())
		gui_style = pGuiSettings->value("gui_style").toString();

	QStringList styles = QStyleFactory::keys();
	QActionGroup *styleActions = new QActionGroup(this);
	foreach (QString style, styles)
	{
		QAction* act = menuGUIStyle->addAction(style);
		act->setCheckable(true);
		if (gui_style == style)
			act->setChecked(true);
		styleActions->addAction(act);
		connect(act, SIGNAL(triggered()), this, SLOT(setGuiStyle()));
	}
Ejemplo n.º 30
0
MainWindow::MainWindow()
{
    setWindowTitle( "BRDF Explorer" );

    // create the parameter window
    paramWnd = new ParameterWindow();

    viewer3D = new Plot3DWidget( this->windowHandle(), paramWnd->getBRDFList() );
    connect( paramWnd, SIGNAL(incidentDirectionChanged(float,float)), viewer3D, SLOT(incidentDirectionChanged(float,float)) );
    connect( paramWnd, SIGNAL(graphParametersChanged(bool,bool)), viewer3D, SLOT(graphParametersChanged(bool,bool)) );
    connect( paramWnd, SIGNAL(brdfListChanged(std::vector<brdfPackage>)), viewer3D, SLOT(brdfListChanged(std::vector<brdfPackage>)) );
    plot3D = new ViewerWindow( viewer3D );

    cartesianThetaV = new PlotCartesianWindow( paramWnd, THETA_V_PLOT );
    cartesianThetaH = new PlotCartesianWindow( paramWnd, THETA_H_PLOT );
    cartesianThetaD = new PlotCartesianWindow( paramWnd, THETA_D_PLOT );
    cartesianAlbedo = new PlotCartesianWindow( paramWnd, ALBEDO_PLOT );

    viewer2D = new PlotPolarWidget( this->windowHandle(), paramWnd->getBRDFList() );
    connect( paramWnd, SIGNAL(incidentDirectionChanged(float,float)), viewer2D, SLOT(incidentDirectionChanged(float,float)) );
    connect( paramWnd, SIGNAL(graphParametersChanged(bool,bool)), viewer2D, SLOT(graphParametersChanged(bool,bool)) );
    connect( paramWnd, SIGNAL(brdfListChanged(std::vector<brdfPackage>)), viewer2D, SLOT(brdfListChanged(std::vector<brdfPackage>)) );
    polarPlot = new ViewerWindow(viewer2D);

    viewerSphere = new LitSphereWindow( paramWnd );

    ibl = new IBLWindow( paramWnd );

    imageSlice = new ImageSliceWindow( paramWnd );

    
    
    
    ShowingDockWidget* Plot3DWidget = new ShowingDockWidget("3D Plot", this);
    Plot3DWidget->setWidget( plot3D );
    addDockWidget( Qt::RightDockWidgetArea, Plot3DWidget );
    
    
    

    ShowingDockWidget* paramsWidget = new ShowingDockWidget(tr("BRDF Parameters"), this);
    paramsWidget->setWidget( paramWnd );
    addDockWidget( Qt::LeftDockWidgetArea, paramsWidget );

    ShowingDockWidget* PlotPolarWidget = new ShowingDockWidget(tr("Polar Plot"), this);
    PlotPolarWidget->setWidget( polarPlot );
    addDockWidget( Qt::RightDockWidgetArea, PlotPolarWidget );

    ShowingDockWidget* thetaVWidget = new ShowingDockWidget(tr("Theta V"), this);
    thetaVWidget->setWidget( cartesianThetaV );
    addDockWidget( Qt::RightDockWidgetArea, thetaVWidget );

    ShowingDockWidget* thetaHWidget = new ShowingDockWidget(tr("Theta H"), this);
    thetaHWidget->setWidget( cartesianThetaH );
    addDockWidget( Qt::RightDockWidgetArea, thetaHWidget );

    ShowingDockWidget* thetaDWidget = new ShowingDockWidget(tr("Theta D"), this);
    thetaDWidget->setWidget( cartesianThetaD );
    addDockWidget( Qt::RightDockWidgetArea, thetaDWidget );

    ShowingDockWidget* albedoWidget = new ShowingDockWidget(tr("Albedo"), this);
    albedoWidget->setWidget( cartesianAlbedo );
    addDockWidget( Qt::RightDockWidgetArea, albedoWidget );

    tabifyDockWidget( Plot3DWidget, albedoWidget);
    tabifyDockWidget( albedoWidget, thetaHWidget);
    tabifyDockWidget( thetaHWidget, thetaDWidget );
    tabifyDockWidget( thetaDWidget, thetaVWidget );
    tabifyDockWidget( thetaVWidget, PlotPolarWidget );

    ShowingDockWidget* litSphereWidget = new ShowingDockWidget(tr("Lit Sphere"), this);
    litSphereWidget->setWidget( viewerSphere );
    addDockWidget( Qt::RightDockWidgetArea, litSphereWidget );


    ShowingDockWidget* imageSliceWidget = new ShowingDockWidget(tr("Image Slice"), this);
    imageSliceWidget->setWidget( imageSlice );
    addDockWidget( Qt::RightDockWidgetArea, imageSliceWidget );

    ShowingDockWidget* iblWidget = new ShowingDockWidget(tr("Lit Object"), this);
    iblWidget->setWidget( ibl );
    addDockWidget( Qt::RightDockWidgetArea, iblWidget );


    tabifyDockWidget( imageSliceWidget, iblWidget );
    tabifyDockWidget( iblWidget, litSphereWidget );
    //tabifyDockWidget( litSphereWidget, imageSliceWidget );


    setCorner( Qt::BottomLeftCorner, Qt::LeftDockWidgetArea );
    setCorner( Qt::BottomRightCorner, Qt::RightDockWidgetArea );

    setCentralWidget( new QWidget() ); // dummy central widget
    centralWidget()->hide();

    QMenu* fileMenu = menuBar()->addMenu(tr("&File"));
    QAction* openBRDF = fileMenu->addAction( "Open BRDF..." );
    openBRDF->setShortcut( QKeySequence("Ctrl+O") );
    connect( openBRDF, SIGNAL(triggered()), paramWnd, SLOT(openBRDFFromFile()) );
    fileMenu->addAction( "&Quit", this, SLOT(close()), QKeySequence("Ctrl+Q") );

    QMenu* utilMenu = menuBar()->addMenu(tr("&Utilities"));
    QAction* reloadAuxShaders = utilMenu->addAction( "Reload Auxiliary Shaders" );
    connect( reloadAuxShaders, SIGNAL(triggered()), ibl->getWidget(), SLOT(reloadAuxShaders()) );

    QMenu* helpMenu = menuBar()->addMenu(tr("&Help"));
    QAction* helpAbout = helpMenu->addAction( "About..." );
    connect( helpAbout, SIGNAL(triggered()), this, SLOT(about()) );

    // make sure everything has the correct incident direction param values at the start
    paramWnd->emitIncidentDirectionChanged();
}