void DesignerMainWnd::closeEvent(QCloseEvent *event) { QMessageBox msgbox( QMessageBox::NoIcon, tr("Lachesis Designer"), tr("Your file \'%1\' is modified, do you want to save it?").arg(""), QMessageBox::Yes|QMessageBox::No|QMessageBox::Cancel, this ); while(getCurrentModel()&& getCurrentModel()->isModified()) { int retValue = msgbox.exec(); if(retValue == QMessageBox::Yes) { on_actionFileSave_triggered(); } else if(retValue == QMessageBox::No) { globalUnregisterMainWnd(this); event->accept(); return; } else { event->ignore(); return; } } globalUnregisterMainWnd(this); event->accept(); }
void DesignerMainWnd::on_actionFileSaveAs_triggered() { QFileDialog dlg(this, tr("Save File")); dlg.setAcceptMode(QFileDialog::AcceptSave); QStringList doclist = getCurrentModel()->getSupportedDocumentList(); QStringList filters; for(int i=0;i<doclist.count();i++) { if(!DesignerDocMgr::isDocTypeSaveSupported(doclist[i])) { doclist.removeAt(i); i--; } else { filters << DesignerDocMgr::getDocTypeFilter(doclist[i]); } } dlg.setNameFilters(filters); if(dlg.exec()==QDialog::Accepted) { if(dlg.selectedFiles().size()) { int filterIndex = filters.indexOf(dlg.selectedNameFilter()); saveFile(dlg.selectedFiles()[0], doclist[filterIndex]); } } }
void DesignerMainWnd::on_actionFileSave_triggered() { if(!getCurrentModel()) return; if(!getCurrentModel()->getCurrentDoc()|| getCurrentModel()->getCurrentDoc()->isReadOnly()|| !DesignerDocMgr::isDocTypeSaveSupported(getCurrentModel()->getCurrentDoc()->metaObject()->className()) ) { on_actionFileSaveAs_triggered(); } else { getCurrentModel()->getCurrentDoc()->updateFile(); } updateTabInfo(); }
s_model *getFirstModel(void) { assert(modellist); List_GotoFirst(modellist); return getCurrentModel(); }
void PluginGame5GenerateSituationDialog::onClickOk() { rdo::gui::model::Model* pModel = getCurrentModel(); generateModel(); pModel->runModel(); done(Accepted); }
void PluginGame5GenerateSituationDialog::clearAllTabs() const { rdo::gui::model::Model* pModel = getCurrentModel(); for (int i = 0; i < pModel->getTab()->tabBar()->count(); i++) { if (i != (int)rdo::FileType::FUN) { pModel->getTab()->getItemEdit(i)->clearAll(); } } }
s_model *getNextModel(void) { assert(modellist); if (List_GotoNext(modellist)) { return getCurrentModel(); } else { return NULL; } }
void PluginGame5GenerateSituationDialog::generateModel() const { rdo::gui::model::Model* pModel = getCurrentModel(); if (pModel->getTab()) { clearAllTabs(); pModel->getTab()->getItemEdit(rdo::FileType::RTP)->appendText(modelRTP()); pModel->getTab()->getItemEdit(rdo::FileType::RSS)->appendText(modelRSS()); pModel->getTab()->getItemEdit(rdo::FileType::PAT)->appendText(modelPAT()); pModel->getTab()->getItemEdit(rdo::FileType::DPT)->appendText(modelDPT()); } }
QStringList PluginGame5GenerateSituationDialog::parseModelFUN() const { rdo::gui::model::Model* pModel = getCurrentModel(); std::stringstream txtStream; pModel->getTab()->getItemEdit(rdo::FileType::FUN)->save(txtStream); QString tabStr = QString::fromStdString(txtStream.str()); QRegExp regExp("(\\$Function)(\\s*)([A-Za-z0-9_А-Яа-я\\$]*)(\\s*):"); QStringList list; int pos = 0; while ((pos = regExp.indexIn(tabStr, pos))!= -1) { list << regExp.cap(3); pos += regExp.matchedLength(); } return list; }
void DesignerMainWnd::saveFile(QString& fileName, QString docTypeName) { DesignerDocComponent* newDoc = DesignerDocMgr::createEmptyDoc(docTypeName, getCurrentModel()); if(newDoc) { DesignerDocComponent* oldDoc = currentModel->getCurrentDoc(); currentModel->setCurrentDoc(newDoc); if(newDoc->saveToDiskFile(fileName)) { if(oldDoc) oldDoc->deleteLater(); } else { currentModel->setCurrentDoc(oldDoc); } } updateTabInfo(); }
PluginGame5GenerateSituationDialog::PluginGame5GenerateSituationDialog(QWidget* pParent) : QDialog(pParent, Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint) { setupUi(this); MultiSelectCompleter* completer = new MultiSelectCompleter(QStringList(), this); lineEditCustom->setCompleter(completer); connect(lineEditCustom, &QLineEdit::selectionChanged, completer, &MultiSelectCompleter::onLineEditTextChanged); adjustSize(); hiddenWidget->setFixedWidth(hiddenWidget->width()); hiddenWidget->hide(); buttonHide->setCheckable(true); buttonHide->setDefault(false); adjustSize(); setFixedSize(width(), height()); setSizeGripEnabled(false); rdo::gui::model::Model* pModel = getCurrentModel(); clearAllTabs(); pModel->getTab()->getItemEdit(rdo::FileType::FUN)->clearAll(); pModel->getTab()->getItemEdit(rdo::FileType::FUN)->appendText(modelFUN()); connect(buttonHide , &QPushButton::toggled, this, &PluginGame5GenerateSituationDialog::onClickHide ); connect(buttonSetLineup , &QPushButton::clicked, this, &PluginGame5GenerateSituationDialog::callTilesOrderDialog); connect(buttonRandomLineup, &QPushButton::clicked, this, &PluginGame5GenerateSituationDialog::emitSolvabilityCheck); connect(buttonOk , &QPushButton::clicked, this, &PluginGame5GenerateSituationDialog::onClickOk ); connect(this , &PluginGame5GenerateSituationDialog::buttonRandomClicked, gameBoard, &Board::buildRandomOrder); connect(buttonRightLineup, &QPushButton::clicked, gameBoard , &Board::buildCorrectOrder); if (pParent) { move(pParent->frameGeometry().center() - frameGeometry().center()); } }
QString QFFCSMaxEntEvaluationItem::getCurrentModelName() const { return getModelName(getCurrentModel()); }