void WorldEdit::newFile(dataconfigs &configs, LevelEditingSettings options) { static int sequenceNumber = 1; isUntitled = true; curFile = tr("Untitled %1").arg(sequenceNumber++); setWindowTitle(curFile); WldData = FileFormats::dummyWldDataArray(); WldData.untitled = true; StartWldData = WldData; ui->graphicsView->setBackgroundBrush(QBrush(Qt::darkGray)); // scene = new LvlScene(configs, WldData); // scene->opts = options; // scene->InitSection(0); // scene->setPlayerPoints(); // scene->drawSpace(); // scene->buildAnimators(); // if(options.animationEnabled) scene->startBlockAnimation(); setAutoUpdateTimer(31); if(!sceneCreated) { //ui->graphicsView->setScene(scene); sceneCreated = true; } }
bool WorldEdit::loadFile(const QString &fileName, WorldData FileData, dataconfigs &configs, LevelEditingSettings options) { QFile file(fileName); WldData = FileData; WldData.modified = false; WldData.untitled = false; if (!file.open(QFile::ReadOnly | QFile::Text)) { QMessageBox::warning(this, tr("Read file error"), tr("Cannot read file %1:\n%2.") .arg(fileName) .arg(file.errorString())); return false; } StartWldData = WldData; //Save current history for made reset ui->graphicsView->setBackgroundBrush(QBrush(Qt::darkGray)); //Check if data configs exists if( configs.check() ) { WriteToLog(QtCriticalMsg, QString("Error! *.INI configs not loaded")); QMessageBox::warning(this, tr("Configurations not loaded"), tr("Cannot open level file %1:\nbecause object configurations are not loaded\n." "Please check that the ""config/SMBX"" directory exists and contains the *.INI files with object settings.") .arg(fileName)); WriteToLog(QtCriticalMsg, QString(" << close subWindow")); this->close(); WriteToLog(QtCriticalMsg, QString(" << closed, return false")); return false; } WriteToLog(QtDebugMsg, QString(">>Starting to load file")); //Declaring of the scene //scene = new WldScene(configs, WldData); //scene->opts = options; int DataSize=0; DataSize += 3; DataSize += 6; QProgressDialog progress(tr("Loading World map data"), tr("Abort"), 0, DataSize, this); progress.setWindowTitle(tr("Loading level data")); progress.setWindowModality(Qt::WindowModal); progress.setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint); progress.setFixedSize(progress.size()); progress.setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, progress.size(), qApp->desktop()->availableGeometry())); progress.setMinimumDuration(500); // if(! DrawObjects(progress) ) // { // WldData.modified = false; // this->close(); // return false; // } QApplication::setOverrideCursor(Qt::WaitCursor); if( !progress.wasCanceled() ) progress.close(); ui->graphicsView->verticalScrollBar()->setValue(265-602); ui->graphicsView->horizontalScrollBar()->setValue(330); QApplication::restoreOverrideCursor(); setAutoUpdateTimer(31); setCurrentFile(fileName); WldData.modified = false; WldData.untitled = false; progress.deleteLater(); return true; }
bool WLD_SetPoint::loadFile(const QString &fileName, WorldData FileData, dataconfigs &configs, LevelEditingSettings options) { QFile file(fileName); WldData = FileData; setCurrentFile(fileName); WldData.modified = false; WldData.untitled = false; if (!file.open(QFile::ReadOnly | QFile::Text)) { QMessageBox::warning(this, tr("Read file error"), tr("Cannot read file %1:\n%2.") .arg(fileName) .arg(file.errorString())); return false; } StartWldData = WldData; //Save current history for made reset ui->graphicsView->setBackgroundBrush(QBrush(Qt::black)); ui->graphicsView->setInteractive(true); ui->graphicsView->setCursor(Qt::CrossCursor); ui->graphicsView->setDragMode(QGraphicsView::NoDrag); ui->graphicsView->setRenderHint(QPainter::Antialiasing, true); ui->graphicsView->viewport()->setMouseTracking(true); //Check if data configs exists if( configs.check() ) { WriteToLog(QtCriticalMsg, QString("Error! *.INI configs not loaded")); QMessageBox::warning(this, tr("Configurations not loaded"), tr("Cannot open level world %1:\nbecause object configurations are not loaded\n." "Please check that the ""config/SMBX"" directory exists and contains the *.INI files with object settings.") .arg(fileName)); WriteToLog(QtCriticalMsg, QString(" << close subWindow")); this->close(); WriteToLog(QtCriticalMsg, QString(" << closed, return false")); return false; } WriteToLog(QtDebugMsg, QString(">>Starting to load file")); //Declaring of the scene scene = new WldScene(ui->graphicsView, configs, WldData, this); scene->opts = options; scene->isSelectionDialog = true; ui->animation->setChecked(scene->opts.animationEnabled); //Preparing point selection mode scene->SwitchEditingMode(WldScene::MODE_SetPoint); if(mapPointIsNull) { scene->selectedPointNotUsed = true; } else { scene->selectedPointNotUsed = false; scene->selectedPoint = mapPoint; } scene->setItemPlacer(5); connect(scene, SIGNAL(pointSelected(QPoint)), this, SLOT(pointSelected(QPoint))); int DataSize=0; DataSize += 3; DataSize += 6; QProgressDialog progress(tr("Loading World map data"), tr("Abort"), 0, DataSize, this); progress.setWindowTitle(tr("Loading World data")); progress.setWindowModality(Qt::WindowModal); progress.setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint); progress.setFixedSize(progress.size()); progress.setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, progress.size(), qApp->desktop()->availableGeometry())); progress.setMinimumDuration(0); if(! DrawObjects(progress) ) { WldData.modified = false; this->close(); return false; } QApplication::setOverrideCursor(Qt::WaitCursor); if( !progress.wasCanceled() ) progress.close(); QApplication::restoreOverrideCursor(); setAutoUpdateTimer(31); WldData.modified = false; WldData.untitled = false; progress.deleteLater(); return true; }