include("scripts/EAction.js"); include("scripts/simple.js"); include("scripts/simple_create.js"); include("scripts/Common/DrawPM.js") /** * \ingroup ecma_misc_examples_ioexamples * \class ExTxtImport * This action reads an XML file and outputs information to stderr. * This can be used as starting point for XML importers. */ function ExPMImport(guiAction) { EAction.call(this, guiAction); this.ratio = 1.0; } ExPMImport.prototype = new EAction(); ExPMImport.includeBasePath = includeBasePath; ExPMImport.prototype.beginEvent = function () { EAction.prototype.beginEvent.call(this); var appWin = EAction.getMainWindow(); if (RSettings.getStringValue("OpenProject/Current", "") == "") { QMessageBox.critical(appWin, qsTr("提示"), qsTr("请先选择工程路径")); return; } var lastOpenFileDir = RSettings.getStringValue("OpenProject/Current", RSettings.getDocumentsLocation()); EAction.handleUserMessage("current project:" + lastOpenFileDir); var filterAll = qsTr("平面文件") + " (*.pm);"; var fileDialog = new QFileDialog(appWin, qsTr("请选择平面文件"), lastOpenFileDir, ""); fileDialog.setNameFilters([filterAll]); fileDialog.selectNameFilter(filterAll); fileDialog.setOption(QFileDialog.DontUseNativeDialog, getDontUseNativeDialog()); fileDialog.fileMode = QFileDialog.ExistingFiles; if (!fileDialog.exec()) { destr(fileDialog); EAction.activateMainWindow(); this.terminate(); return; } var files = fileDialog.selectedFiles(); if (files.length === 0) { destr(fileDialog); EAction.activateMainWindow(); this.terminate(); return; } destr(fileDialog); EAction.activateMainWindow(); try { for (var i = 0; i < files.length; i++) { var filePM = new DrawPM(files[i], this.ratio, 1); // applyDrawing在前 saveFileCSV在后 filePM.applyDrawing(); filePM.saveFileCSV(); var tmp = RSettings.getStringValue("OpenDisplayFile/PMFile", ""); RSettings.setValue("OpenDisplayFile/PMFile", tmp + "," + files[i]); } } catch (error) { EAction.handleUserMessage("load PM file, ERROR: " + error.toString()); } }; ExPMImport.prototype.slotRatioButtonclicked = function (v) { qDebug(v); this.ratio = v; this.applyOperation(); };