Exemplo n.º 1
0
MainWindowApplication::MainWindowApplication(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindowApplication)
{
    ui->setupUi(this);

    materialsWindow = new MaterialDockWindow(this);
    ui->dockMateriales->setWidget(materialsWindow);

    connect(ui->action_New, SIGNAL(triggered()), this, SLOT(newProject()));
    connect(ui->action_Open, SIGNAL(triggered()), this, SLOT(openProject()));
    connect(ui->action_Save, SIGNAL(triggered()), this, SLOT(saveProject()));
    connect(ui->actionSave_As, SIGNAL(triggered()), this, SLOT(saveProjectAs()));
    connect(ui->action_Close, SIGNAL(triggered()), this, SLOT(closeProject()));

    connect(ui->actionEdit_Material_defiinition, SIGNAL(triggered()), this, SLOT(editMaterialLibrary()));

    connect(ui->actionE_xit, SIGNAL(triggered()), this, SLOT(exitApp()));
    on_mdiArea_subWindowActivated(NULL);
}
Exemplo n.º 2
0
// slot conectado ao signal "activated" da comboBox
// - permite a seleção do modo de visualização:
void MainWindow::selectViewMode(int index)
{
	if ( index > 1 ) // irá usar subWindows (e não abas)
	{
		// então, antes de modificar modo de exibição,
		// checa se há alguma "subWindow" minimizada:
		QList<QMdiSubWindow*> subWindows = ui->mdiArea->subWindowList();
		foreach ( QMdiSubWindow* subWin, subWindows )
			showSubWindow_(subWin); // se estiver minimizada, será restaurada
	}

	switch ( index )
	{
		case 0: // abas triangulares
			ui->mdiArea->setViewMode(QMdiArea::TabbedView);
			ui->mdiArea->setTabShape(QTabWidget::Triangular);
			break;

		case 1: // abas retangulares com cantos arredondados
			ui->mdiArea->setViewMode(QMdiArea::TabbedView);
			ui->mdiArea->setTabShape(QTabWidget::Rounded);
			break;

		case 2: // cascata
			ui->mdiArea->setViewMode(QMdiArea::SubWindowView);
			ui->mdiArea->cascadeSubWindows();
			break;

		case 3: // telhas
			ui->mdiArea->setViewMode(QMdiArea::SubWindowView);
			ui->mdiArea->tileSubWindows();
			break;
	}

	// Se tiver mudado o "viewMode" de "subWindows" para "abas",
	// a janela ativa irá apresentar a action "restore" no menu de contexto.
	// Pois, como já está ativa, o slot "subWindowActivated" não será chamado;
	// então, forçamos aqui que o "restore" seja desabilitado
	// (ATENÇÃO: ver, abaixo, comentário sobre a "Bug Tracker" de Qt)
	on_mdiArea_subWindowActivated( ui->mdiArea->activeSubWindow()); // desabilitar a action "restore"
}