//--------------------------------------------------------------------------- void MainWindow::createGraphsLayout() { clearGraphsLayout(); if (Files_CurrentPos==(size_t)-1) { for (size_t type = 0; type < Type_Max; type++) for (size_t group=0; group<PerStreamType[type].CountOfGroups; group++) if (CheckBoxes[type][group]) CheckBoxes[type][group]->hide(); if (ui->fileNamesBox) ui->fileNamesBox->hide(); createDragDrop(); return; } clearDragDrop(); for (size_t type = 0; type < Type_Max; type++) for (size_t group=0; group<PerStreamType[type].CountOfGroups; group++) if (CheckBoxes[type][group] && Files_CurrentPos<Files.size() && Files[Files_CurrentPos]->ActiveFilters[PerStreamType[type].PerGroup[group].ActiveFilterGroup]) CheckBoxes[type][group]->show(); else CheckBoxes[type][group]->hide(); if (ui->fileNamesBox) ui->fileNamesBox->show(); PlotsArea=Files[Files_CurrentPos]->Stats.empty()?NULL:new Plots(this, Files[Files_CurrentPos]); if (!ui->actionGraphsLayout->isChecked()) PlotsArea->hide(); ui->verticalLayout->addWidget(PlotsArea); TinyDisplayArea=new TinyDisplay(this, Files[Files_CurrentPos]); if (!ui->actionGraphsLayout->isChecked()) TinyDisplayArea->hide(); ui->verticalLayout->addWidget(TinyDisplayArea); ControlArea=new Control(this, Files[Files_CurrentPos], Control::Style_Cols); connect( ControlArea, SIGNAL( currentFrameChanged() ), this, SLOT( on_CurrentFrameChanged() ) ); if (!ui->actionGraphsLayout->isChecked()) ControlArea->hide(); ui->verticalLayout->addWidget(ControlArea); //InfoArea=new Info(this, Files[Files_CurrentPos], Info::Style_Grid); //ui->verticalLayout->addWidget(InfoArea); TinyDisplayArea->ControlArea=ControlArea; ControlArea->TinyDisplayArea=TinyDisplayArea; ControlArea->InfoArea=InfoArea; refreshDisplay(); configureZoom(); }
//--------------------------------------------------------------------------- void MainWindow::closeAllFiles() { if (FilesListArea) FilesListArea->hide(); clearGraphsLayout(); Files.clear(); ui->fileNamesBox->clear(); createDragDrop(); ui->actionFilesList->setChecked(false); ui->actionGraphsLayout->setChecked(false); }
//--------------------------------------------------------------------------- void MainWindow::createGraphsLayout() { clearGraphsLayout(); if (Files_CurrentPos==(size_t)-1) { for (size_t Pos=0; Pos<PlotType_Max; Pos++) if (CheckBoxes[Pos]) CheckBoxes[Pos]->hide(); if (ui->fileNamesBox) ui->fileNamesBox->hide(); createDragDrop(); return; } clearDragDrop(); for (size_t Pos=0; Pos<PlotType_Max; Pos++) if (CheckBoxes[Pos]) CheckBoxes[Pos]->show(); if (ui->fileNamesBox) ui->fileNamesBox->show(); PlotsArea=new Plots(this, Files[Files_CurrentPos]); if (!ui->actionGraphsLayout->isChecked()) PlotsArea->hide(); ui->verticalLayout->addWidget(PlotsArea); TinyDisplayArea=new TinyDisplay(this, Files[Files_CurrentPos]); if (!ui->actionGraphsLayout->isChecked()) TinyDisplayArea->hide(); ui->verticalLayout->addWidget(TinyDisplayArea); ControlArea=new Control(this, Files[Files_CurrentPos], PlotsArea, Control::Style_Cols); if (!ui->actionGraphsLayout->isChecked()) ControlArea->hide(); ui->verticalLayout->addWidget(ControlArea); //InfoArea=new Info(this, Files[Files_CurrentPos], Info::Style_Grid); //ui->verticalLayout->addWidget(InfoArea); PlotsArea->TinyDisplayArea=TinyDisplayArea; PlotsArea->ControlArea=ControlArea; PlotsArea->InfoArea=InfoArea; TinyDisplayArea->ControlArea=ControlArea; ControlArea->TinyDisplayArea=TinyDisplayArea; ControlArea->InfoArea=InfoArea; refreshDisplay(); PlotsArea->createData_Init(); configureZoom(); ui->verticalLayout->removeItem(ui->verticalSpacer); }
//--------------------------------------------------------------------------- void MainWindow::closeAllFiles() { if (FilesListArea) FilesListArea->hide(); clearGraphsLayout(); for (size_t Pos=0; Pos<Files.size(); Pos++) delete Files[Pos]; Files.clear(); ui->fileNamesBox->clear(); createDragDrop(); ui->actionFilesList->setChecked(false); ui->actionGraphsLayout->setChecked(false); }
//--------------------------------------------------------------------------- void MainWindow::clearFiles() { // Files (must be deleted first in order to stop ffmpeg processes) for (size_t Pos=0; Pos<Files.size(); Pos++) delete Files[Pos]; Files.clear(); ui->fileNamesBox->clear(); // Layout if (FilesListArea) { ui->verticalLayout->removeWidget(FilesListArea); delete FilesListArea; FilesListArea=NULL; } clearGraphsLayout(); Files_CurrentPos=(size_t)-1; }