void DlgImportExportIges::saveSettings() { int unit = ui->comboBoxUnits->currentIndex(); Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter() .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/Part")->GetGroup("IGES"); hGrp->SetInt("Unit", unit); switch (unit) { case 1: Interface_Static::SetCVal("write.iges.unit","M"); break; case 2: Interface_Static::SetCVal("write.iges.unit","IN"); break; default: Interface_Static::SetCVal("write.iges.unit","MM"); break; } hGrp->SetBool("BrepMode", bg->checkedId() == 1); Interface_Static::SetIVal("write.iges.brep.mode", bg->checkedId()); // Import hGrp->SetBool("SkipBlankEntities", ui->checkSkipBlank->isChecked()); // header info hGrp->SetASCII("Company", ui->lineEditCompany->text().toLatin1()); hGrp->SetASCII("Author", ui->lineEditAuthor->text().toLatin1()); //hGrp->SetASCII("Product", ui->lineEditProduct->text().toLatin1()); Interface_Static::SetCVal("write.iges.header.company", ui->lineEditCompany->text().toLatin1()); Interface_Static::SetCVal("write.iges.header.author", ui->lineEditAuthor->text().toLatin1()); //Interface_Static::SetCVal("write.iges.header.product", ui->lineEditProduct->text().toLatin1()); }
void SketcherGeneralWidget::saveSettings() { Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter() .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/Sketcher/General"); hGrp->SetBool("ShowGrid", ui->checkBoxShowGrid->isChecked()); ui->gridSize->pushToHistory(); hGrp->SetBool("GridSnap", ui->checkBoxGridSnap->isChecked()); hGrp->SetBool("AutoConstraints", ui->checkBoxAutoconstraints->isChecked()); }
void SketcherGeneralWidget::saveSettings() { Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetUserParameter() .GetGroup("BaseApp")->GetGroup("Preferences")->GetGroup("Mod/Sketcher/General"); hGrp->SetBool("ShowGrid", ui->checkBoxShowGrid->isChecked()); ui->gridSize->pushToHistory(); hGrp->SetBool("GridSnap", ui->checkBoxGridSnap->isChecked()); hGrp->SetBool("AutoConstraints", ui->checkBoxAutoconstraints->isChecked()); //not necessary to save renderOrder, as it is already stored in renderOrderChanged on every change. }
Py::Object ParameterGrpPy::setBool(const Py::Tuple& args) { char *pstr; int Bool; if (!PyArg_ParseTuple(args.ptr(), "si", &pstr,&Bool)) throw Py::Exception(); _cParamGrp->SetBool(pstr,Bool!=0); return Py::None(); }
PyObject *ParameterGrpPy::PySetBool(PyObject *args) { char *pstr; int Bool; if (!PyArg_ParseTuple(args, "si", &pstr,&Bool)) // convert args: Python->C return NULL; // NULL triggers exception PY_TRY { _cParamGrp->SetBool(pstr,Bool!=0); Py_Return; }PY_CATCH; }
void ParameterGrp::insertTo(Base::Reference<ParameterGrp> Grp) { // copy group std::vector<Base::Reference<ParameterGrp> > Grps = GetGroups(); std::vector<Base::Reference<ParameterGrp> >::iterator It1; for (It1 = Grps.begin();It1 != Grps.end();++It1) (*It1)->insertTo(Grp->GetGroup((*It1)->GetGroupName())); // copy strings std::vector<std::pair<std::string,std::string> > StringMap = GetASCIIMap(); std::vector<std::pair<std::string,std::string> >::iterator It2; for (It2 = StringMap.begin();It2 != StringMap.end();++It2) Grp->SetASCII(It2->first.c_str(),It2->second.c_str()); // copy bool std::vector<std::pair<std::string,bool> > BoolMap = GetBoolMap(); std::vector<std::pair<std::string,bool> >::iterator It3; for (It3 = BoolMap.begin();It3 != BoolMap.end();++It3) Grp->SetBool(It3->first.c_str(),It3->second); // copy int std::vector<std::pair<std::string,long> > IntMap = GetIntMap(); std::vector<std::pair<std::string,long> >::iterator It4; for (It4 = IntMap.begin();It4 != IntMap.end();++It4) Grp->SetInt(It4->first.c_str(),It4->second); // copy float std::vector<std::pair<std::string,double> > FloatMap = GetFloatMap(); std::vector<std::pair<std::string,double> >::iterator It5; for (It5 = FloatMap.begin();It5 != FloatMap.end();++It5) Grp->SetFloat(It5->first.c_str(),It5->second); // copy uint std::vector<std::pair<std::string,unsigned long> > UIntMap = GetUnsignedMap(); std::vector<std::pair<std::string,unsigned long> >::iterator It6; for (It6 = UIntMap.begin();It6 != UIntMap.end();++It6) Grp->SetUnsigned(It6->first.c_str(),It6->second); }
void AutoSaver::saveDocument(const std::string& name, AutoSaveProperty& saver) { Gui::WaitCursor wc; App::Document* doc = App::GetApplication().getDocument(name.c_str()); if (doc) { // Set the document's current transient directory std::string dirName = doc->TransientDir.getValue(); dirName += "/fc_recovery_files"; saver.dirName = dirName; // Write recovery meta file QFile file(QString::fromLatin1("%1/fc_recovery_file.xml") .arg(QString::fromUtf8(doc->TransientDir.getValue()))); if (file.open(QFile::WriteOnly)) { QTextStream str(&file); str.setCodec("UTF-8"); str << "<?xml version='1.0' encoding='utf-8'?>" << endl << "<AutoRecovery SchemaVersion=\"1\">" << endl; str << " <Status>Created</Status>" << endl; str << " <Label>" << QString::fromUtf8(doc->Label.getValue()) << "</Label>" << endl; // store the document's current label str << " <FileName>" << QString::fromUtf8(doc->FileName.getValue()) << "</FileName>" << endl; // store the document's current filename str << "</AutoRecovery>" << endl; file.close(); } // make sure to tmp. disable saving thumbnails because this causes trouble if the // associated 3d view is not active Base::Reference<ParameterGrp> hGrp = App::GetApplication().GetParameterGroupByPath ("User parameter:BaseApp/Preferences/Document"); bool save = hGrp->GetBool("SaveThumbnail",false); hGrp->SetBool("SaveThumbnail",false); getMainWindow()->showMessage(tr("Please wait until the AutoRecovery file has been saved..."), 5000); //qApp->processEvents(); // open extra scope to close ZipWriter properly Base::StopWatch watch; watch.start(); { if (!this->compressed) { RecoveryWriter writer(saver); if (hGrp->GetBool("SaveBinaryBrep", true)) writer.setMode("BinaryBrep"); writer.putNextEntry("Document.xml"); doc->Save(writer); // Special handling for Gui document. doc->signalSaveDocument(writer); // write additional files writer.writeFiles(); } else { std::string fn = doc->TransientDir.getValue(); fn += "/fc_recovery_file.fcstd"; Base::FileInfo tmp(fn); Base::ofstream file(tmp, std::ios::out | std::ios::binary); if (file.is_open()) { Base::ZipWriter writer(file); if (hGrp->GetBool("SaveBinaryBrep", true)) writer.setMode("BinaryBrep"); writer.setComment("AutoRecovery file"); writer.setLevel(1); // apparently the fastest compression writer.putNextEntry("Document.xml"); doc->Save(writer); // Special handling for Gui document. doc->signalSaveDocument(writer); // write additional files writer.writeFiles(); } } } std::string str = watch.toString(watch.elapsed()); Base::Console().Log("Save AutoRecovery file: %s\n", str.c_str()); hGrp->SetBool("SaveThumbnail",save); } }