📄 qg_dlgoptionsdrawing.ui.h
字号:
/****************************************************************************** ui.h extension file, included from the uic-generated form implementation.**** If you wish to add, delete or rename functions or slots use** Qt Designer which will update this file, preserving your code. Create an** init() function in place of a constructor, and a destroy() function in** place of a destructor.*****************************************************************************/void QG_DlgOptionsDrawing::init() { graphic = NULL; // precision list: QString s; QString format; for (int i=0; i<=8; i++) { format.sprintf("%%.0%df", i); s.sprintf(format, 0.0); listPrec1 << s; } // Main drawing unit: for (int i=RS2::None; i<RS2::LastUnit; i++) { cbUnit->insertItem(RS_Units::unitToString((RS2::Unit)i)); } // init units combobox: QStringList unitList; unitList << tr("Scientific") << tr("Decimal") << tr("Engineering") << tr("Architectural") << tr("Fractional"); cbLengthFormat->insertStringList(unitList); // init angle units combobox: QStringList aunitList; aunitList << tr("Decimal Degrees") << tr("Deg/min/sec") << tr("Gradians") << tr("Radians") << tr("Surveyor's units"); cbAngleFormat->insertStringList(aunitList); // Paper format: for (int i=RS2::Custom; i<=RS2::NPageSize; i++) { cbPaperFormat->insertItem(RS_Units::paperFormatToString((RS2::PaperFormat)i)); } // Encodings: /* QStringList encodingList; encodingList << "Latin1" << "Big5" << "Big5-HKSCS" << "eucJP" << "eucKR" << "GB2312" << "GBK" << "GB18030" << "JIS7" << "Shift-JIS" << "TSCII" << "utf88-bit " << "utf16" << "KOI8-R" << "KOI8-U" << "ISO8859-1" << "ISO8859-2" << "ISO8859-3" << "ISO8859-4" << "ISO8859-5" << "ISO8859-6" << "ISO8859-7" << "ISO8859-8" << "ISO8859-8-i" << "ISO8859-9" << "ISO8859-10 " << "ISO8859-13 " << "ISO8859-14 " << "ISO8859-15" << "IBM 850 " << "IBM 866 " << "CP874 " << "CP1250" << "CP1251" << "CP1252" << "CP1253" << "CP1254" << "CP1255" << "CP1256" << "CP1257" << "CP1258 " << "Apple Roman " << "TIS-620"; cbEncoding->insertStringList(encodingList); */}/** * Sets the graphic and updates the GUI to match the drawing. */void QG_DlgOptionsDrawing::setGraphic(RS_Graphic* g) { graphic = g; if (graphic==NULL) { return; } // main drawing unit: int insunits = graphic->getVariableInt("$INSUNITS", 0); cbUnit->setCurrentText( RS_Units::unitToString(RS_FilterDXF::numberToUnit(insunits))); // units / length format: int lunits = graphic->getVariableInt("$LUNITS", 2); cbLengthFormat->setCurrentItem(lunits-1); // units length precision: int luprec = graphic->getVariableInt("$LUPREC", 4); updateLengthPrecision(); cbLengthPrecision->setCurrentItem(luprec); // units / angle format: int aunits = graphic->getVariableInt("$AUNITS", 0); cbAngleFormat->setCurrentItem(aunits); // units angle precision: int auprec = graphic->getVariableInt("$AUPREC", 2); updateAnglePrecision(); cbAnglePrecision->setCurrentItem(auprec); // paper format: bool landscape; RS2::PaperFormat format = graphic->getPaperFormat(&landscape); RS_DEBUG->print("QG_DlgOptionsDrawing::setGraphic: paper format is: %d", (int)format); cbPaperFormat->setCurrentItem((int)format); // paper orientation: if (landscape) { rbLandscape->setChecked(true); } else { rbPortrait->setChecked(true); } // Grid: cbGridOn->setChecked(graphic->isGridOn()); RS_Vector spacing = graphic->getVariableVector("$GRIDUNIT", RS_Vector(0.0,0.0)); cbXSpacing->setCurrentText(QString("%1").arg(spacing.x)); cbYSpacing->setCurrentText(QString("%1").arg(spacing.y)); if (cbXSpacing->currentText()=="0") { cbXSpacing->setCurrentText(tr("auto")); } if (cbYSpacing->currentText()=="0") { cbYSpacing->setCurrentText(tr("auto")); } // dimension text height: RS2::Unit unit = (RS2::Unit)cbUnit->currentItem(); double dimtxt = graphic->getVariableDouble("$DIMTXT", RS_Units::convert(2.5, RS2::Millimeter, unit)); cbDimTextHeight->setCurrentText(QString("%1").arg(dimtxt)); // dimension extension line extension: double dimexe = graphic->getVariableDouble("$DIMEXE", RS_Units::convert(1.25, RS2::Millimeter, unit)); cbDimExe->setCurrentText(QString("%1").arg(dimexe)); // dimension extension line offset: double dimexo = graphic->getVariableDouble("$DIMEXO", RS_Units::convert(0.625, RS2::Millimeter, unit)); cbDimExo->setCurrentText(QString("%1").arg(dimexo)); // dimension line gap: double dimgap = graphic->getVariableDouble("$DIMGAP", RS_Units::convert(0.625, RS2::Millimeter, unit)); cbDimGap->setCurrentText(QString("%1").arg(dimgap)); // dimension arrow size: double dimasz = graphic->getVariableDouble("$DIMASZ", RS_Units::convert(2.5, RS2::Millimeter, unit)); cbDimAsz->setCurrentText(QString("%1").arg(dimasz)); // spline line segments per patch: int splinesegs = graphic->getVariableInt("$SPLINESEGS", 8); cbSplineSegs->setCurrentText(QString("%1").arg(splinesegs)); RS_DEBUG->print("QG_DlgOptionsDrawing::setGraphic: splinesegs is: %d", splinesegs); // encoding: /* QString encoding = graphic->getVariableString("$DWGCODEPAGE", "ANSI_1252"); encoding=RS_System::getEncoding(encoding); cbEncoding->setCurrentText(encoding); */ updatePaperSize(); updatePreview(); updateUnitLabels();}/** * Called when OK is clicked. */void QG_DlgOptionsDrawing::validate() { RS2::LinearFormat f = (RS2::LinearFormat)cbLengthFormat->currentItem(); if (f==RS2::Engineering || f==RS2::Architectural) { if (RS_Units::stringToUnit(cbUnit->currentText())!=RS2::Inch) { QMessageBox::warning( this, tr("Options"), tr("For the length formats 'Engineering' and 'Architectural', the " "unit must be set to Inch."), QMessageBox::Ok, QMessageBox::NoButton); return; } } if (graphic!=NULL) { // units: graphic->setUnit((RS2::Unit)cbUnit->currentItem()); graphic->addVariable("$LUNITS", cbLengthFormat->currentItem()+1, 70); graphic->addVariable("$DIMLUNIT", cbLengthFormat->currentItem()+1, 70); graphic->addVariable("$LUPREC", cbLengthPrecision->currentItem(), 70); graphic->addVariable("$AUNITS", cbAngleFormat->currentItem(), 70); graphic->addVariable("$DIMAUNIT", cbAngleFormat->currentItem(), 70); graphic->addVariable("$AUPREC", cbAnglePrecision->currentItem(), 70); graphic->addVariable("$DIMADEC", cbAnglePrecision->currentItem(), 70); // paper: graphic->setPaperFormat( (RS2::PaperFormat)cbPaperFormat->currentItem(), rbLandscape->isChecked()); // custom paper size: if ((RS2::PaperFormat)cbPaperFormat->currentItem()==RS2::Custom) { graphic->setPaperSize( RS_Vector(RS_Math::eval(lePaperWidth->text()), RS_Math::eval(lePaperHeight->text()))); } // grid:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -