| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- include("scripts/EAction.js");
- include("scripts/simple.js");
- include("scripts/Common/DrawPM.js")
- function PMCsvImport(guiAction) {
- EAction.call(this, guiAction);
- this.ratio = 1.0;
- }
- PMCsvImport.prototype = new EAction();
- PMCsvImport.includeBasePath = includeBasePath;
- PMCsvImport.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("csv文件") + " (*.csv);";
- 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++) {
- this.convert(files[i]);
- var fileName = files[i].substring(0, files[i].lastIndexOf(".")) + ".pm";
- var filePM = new DrawPM(fileName, this.ratio, 2);
- filePM.applyDrawing();
- if (true) {
- var tmp = RSettings.getStringValue("OpenDisplayFile/PMFile", "");
- RSettings.setValue("OpenDisplayFile/PMFile", tmp + "," + fileName);
- }
- }
- } catch (error) {
- EAction.handleUserMessage("load PM file, ERROR: " + error.toString());
- }
- };
- PMCsvImport.prototype.convert = function (filename) {
- var process = new QProcess;
- // EAction.handleUserMessage(PMCsvImport.includeBasePath + "/csv2pm.exe");
- process.setProgram(PMCsvImport.includeBasePath + "/csv2pm.exe");
- var args = [];
- args.push(filename);
- process.setArguments(args);
- process.start();
- process.waitForStarted(); //等待程序启动
- process.waitForFinished(-1);//等待程序关闭
- // EAction.handleUserMessage(PMCsvImport.includeBasePath + "/csv2pm.exe");
- return true;
- };
|