void MainWindow::fileOpen() { QFileDialog ofd(this, tr("Open ILDA file"), ""); ofd.setFileMode(QFileDialog::AnyFile); ofd.setFilter(tr("ILDA files (*.ild);;All files (*.*)")); ofd.setViewMode(QFileDialog::Detail); if (ofd.exec()) { QString fileName = ofd.selectedFiles().at(0); QFileInfo fileInfo(fileName); if (fileInfo.exists()) { ReaderWriterILDA reader; _sequence = QSharedPointer<Sequence>(reader.readFile(fileName)); _sequence->setPalette(*_currentPalette); // Fill file statistics fileNameLabel->setText(fileInfo.fileName()); fileSizeLabel->setText(getFileSize(fileInfo.size())); ildaFormatLabel->setText(reader.version()); numberOfFramesLabel->setText(QString::number(_sequence->frameCount())); // Set the current drawing mode (FIXME: Do not query the GUI for such infos) if (normalRadioButton->isChecked()) _sequence->setDrawMode(Sequence::DrawModeNormal); else if (diagnosticRadioButton->isChecked()) _sequence->setDrawMode(Sequence::DrawModeDiagnostic); // Setup frame slider frameSlider->setRange(0, _sequence->frameCount()-1); // Build the connections connect(_sequence.data(), SIGNAL(frameChanged(Frame*)), this, SLOT(frameChanged(Frame*))); connect(firstFrameButton, SIGNAL(clicked()), _sequence.data(), SLOT(gotoFirstFrame())); connect(lastFrameButton, SIGNAL(clicked()), _sequence.data(), SLOT(gotoLastFrame())); connect(stopButton, SIGNAL(clicked()), _sequence.data(), SLOT(stopPlayback())); connect(playButton, SIGNAL(clicked()), _sequence.data(), SLOT(startPlayback())); connect(frameSlider, SIGNAL(valueChanged(int)), _sequence.data(), SLOT(setActiveFrame(int))); connect(normalRadioButton, SIGNAL(clicked()), this, SLOT(drawModeChanged())); connect(diagnosticRadioButton, SIGNAL(clicked()), this, SLOT(drawModeChanged())); QGraphicsScene *scene = new QGraphicsScene(); scene->addItem(_sequence.data()); graphicsView->setScene(scene); // FIXME: Need to call this until a resize event happens. resizeEvent(NULL); }
void DVQmlCommunication::setDrawMode(DVDrawMode::Type mode) { /* Only emit if changed. */ if(m_drawMode != mode) { m_drawMode = mode; settings.setValue("DrawMode", DVDrawMode::toString(mode)); emit drawModeChanged(mode); } }
MainWindow::MainWindow(QWidget *parent, Qt::WFlags flags) : QMainWindow(parent, flags) { setupUi(this); menuView->addAction(fileBrowserDock->toggleViewAction()); menuView->addAction(informationDock->toggleViewAction()); menuView->addAction(drawingDock->toggleViewAction()); // Load and initialize palettes _ildaPalette = loadPalette(":/data/ilda.palette"); _pangolinPalette = loadPalette(":/data/pangolin.palette"); _currentPalette = &_ildaPalette; // File browser QFileSystemModel *fsModel = new QFileSystemModel(this); fsModel->setRootPath(QDir::rootPath()); fsModel->setNameFilterDisables(false); fsModel->setNameFilters(QStringList() << "*.ild"); treeView->setModel(fsModel); treeView->header()->setResizeMode(0, QHeaderView::ResizeToContents); //treeView->setSortingEnabled(true); //treeView->sortByColumn(0, Qt::AscendingOrder); treeView->setColumnHidden(2, true); treeView->setColumnHidden(3, true); //treeView->setRootIndex(fsModel->index(QDir::homePath())); // Create the connections connect(actionOpen, SIGNAL(triggered()), this, SLOT(fileOpen())); connect(actionSaveAs, SIGNAL(triggered()), this, SLOT(fileSaveAs())); connect(actionPangolin_palette, SIGNAL(triggered()), SLOT(usePangolinPalette())); connect(actionILDA_palette, SIGNAL(triggered()), SLOT(useILDAPalette())); connect(actionAbout, SIGNAL(triggered()), SLOT(about())); connect(treeView, SIGNAL(clicked(QModelIndex)), SLOT(fileBrowserItemClicked(QModelIndex))); connect(treeView, SIGNAL(doubleClicked(QModelIndex)), SLOT(fileBrowserItemDblClicked(QModelIndex))); connect(normalRadioButton, SIGNAL(clicked()), SLOT(drawModeChanged())); connect(diagnosticRadioButton, SIGNAL(clicked()), SLOT(drawModeChanged())); // restore settings readSettings(); }
void MainWindow::openFile(const QString& fileName) { QApplication::setOverrideCursor(Qt::WaitCursor); _timeBar->stopClicked(); QFileInfo fileInfo(fileName); ReaderWriterILDA reader; _lastDirectory = fileInfo.absoluteFilePath(); _sequence = reader.readFile(fileName); _sequence->setPalette(*_currentPalette); // Fill file statistics fileNameLabel->setText(fileInfo.fileName()); fileSizeLabel->setText(getFileSize(fileInfo.size())); ildaFormatLabel->setText(reader.version()); numberOfFramesLabel->setText(QString::number(_sequence->frameCount())); // Set the current drawing mode (FIXME: Do not query the GUI for such infos) drawModeChanged(); // Setup timeline _timeBar->setRange(0, _sequence->frameCount() / 1000.0 * 30); _timeLine = _timeBar->timeLine(); _timeLine->setDuration(30 * _sequence->frameCount()); _timeLine->setFrameRange(0, _sequence->frameCount()); _timeLine->setCurveShape(QTimeLine::LinearCurve); _timeLine->setLoopCount(0); // Build the connections connect(_timeLine, SIGNAL(frameChanged(int)), _sequence.data(), SLOT(setActiveFrame(int))); connect(_sequence.data(), SIGNAL(frameChanged(Frame*)), SLOT(frameChanged(Frame*))); // Create scene and attach to graphics view QGraphicsScene *scene = new QGraphicsScene(); scene->addItem(_sequence.data()); graphicsView->setScene(scene); frameChanged(_sequence->frame(0)); _timeBar->update(); // FIXME: Need to call this until a resize event happens. resizeEvent(0); QApplication::restoreOverrideCursor(); }
void MyPanelOpenGL::setDrawMode(QString str) { if (QString::compare(str, "Rectangle", Qt::CaseInsensitive) == 0) { myMode = rectangle; } else if (QString::compare(str, "Circle", Qt::CaseInsensitive) == 0) { myMode = circle; } else if (QString::compare(str, "Triangle", Qt::CaseInsensitive) == 0) { myMode = triangle; } else if (QString::compare(str, "Custom", Qt::CaseInsensitive) == 0) { myMode = custom; } emit(drawModeChanged(myMode)); updateGL(); }