| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- include("scripts/EAction.js");
- include("scripts/simple.js");
- include("scripts/Common/DrawingUtils.js");
- include("scripts/Common/CsvToZdmConvert.js")
- include("scripts/Common/OptimizeConvert.js")
- include("scripts/Common/FileZDM.js")
- include("scripts/Common/DrawZdmAll.js");
- function ZDMOptimize(guiAction) {
- EAction.call(this, guiAction);
- this.zdmsel = false;
- this.ratio = 10.0;
- this.selectLineDialog = undefined;
- }
- ZDMOptimize.prototype = new EAction();
- ZDMOptimize.includeBasePath = includeBasePath;
- ZDMOptimize.prototype.beginEvent = function () {
- EAction.prototype.beginEvent.call(this);
- var appWin = EAction.getMainWindow();
- this.selectLineDialog = this.createWidget(ZDMOptimize.includeBasePath + "/SelectLineDialog.ui", appWin);
- var zdmWidget = this.selectLineDialog.findChild("zdmWidget");
- var opBtn = this.selectLineDialog.findChild("opBtn");
- var exitBtn = this.selectLineDialog.findChild("exitBtn");
- opBtn.clicked.connect(this, this.opBtnClicked);
- exitBtn.clicked.connect(this, this.exitBtnClicked);
- this.btngrp2 = new QButtonGroup(zdmWidget);
- var allZDMFile = RSettings.getStringValue("OpenDisplayFile/ZDMFile", "");
- var zdmList = allZDMFile.split(',');
- this.zdms = new Array();
- for (var i = 0; i < zdmList.length; i++) {
- if (zdmList[i] == "") continue;
- if (this.zdms.length > 0) {
- if (this.zdms.find(zdmList[i])) continue;
- }
- this.zdms.push(zdmList[i]);
- }
- if(this.zdms.length == 0) {
- opBtn.setEnabled(false);
- }
- for (var i = 0; i < this.zdms.length; i++) {
- var zdmFile = new QRadioButton(this.zdms[i], zdmWidget);
- zdmFile.setGeometry(50, 25 + 40 * i, 1200, 40);
- this.btngrp2.addButton(zdmFile, i);
- zdmFile.clicked.connect(this, this.zdmClicked);
- }
- if (!this.selectLineDialog.exec()) {
- EAction.handleUserMessage("clicked~");
- destr(this.selectLineDialog);
- EAction.activateMainWindow();
- return undefined;
- }
- };
- ZDMOptimize.prototype.zdmClicked = function () {
- this.zdmsel = true;
- this.zdmid = this.btngrp2.checkedId();
- EAction.handleUserMessage(this.zdms[this.zdmid]);
- };
- ZDMOptimize.prototype.opBtnClicked = function () {
- try {
- if (!this.zdmsel) {
- var appWin = EAction.getMainWindow();
- QMessageBox.information(appWin, qsTr("提示"), qsTr("请选择优化的的文件"));
- return;
- }
- // 模拟优化过程
- var optimize = new OptimizeConvert("纵断面");
- optimize.exec();
- // 图层
- var layername = "ZDM-OPTIMIZE" + Math.floor(Math.random() * 100); // getLayername("ZDM-OPTIMIZE", "");
- // 开始绘画
- var path = RSettings.getStringValue("OpenProject/Current", "");
- var convert = new CsvToZdmConvert(path + "/Output_data/最优纵断面参数.csv");
- convert.convert();
- var zdmFile = convert.getZdmFileName();
- var drawZdmAll = new DrawZdmAll(this.ratio);
- var dmxFile = path + "/Output_data/DMX.csv"
- var ctrFile = dmxFile.replace(/.\w+$/i, ".CTR");
- drawZdmAll.applyPainting(layername, dmxFile, zdmFile, ctrFile, false);
- // 关闭弹框
- this.exitBtnClicked();
- } catch (error) {
- EAction.handleUserMessage("ZDMOptimize.js, ERROR: " + error.toString());
- }
- };
- ZDMOptimize.prototype.exitBtnClicked = function () {
- if (this.selectLineDialog) {
- destr(this.selectLineDialog);
- }
- };
|