/** * Copyright (c) 2011-2018 by Andrew Mustun. All rights reserved. * * This file is part of the QCAD project. * * QCAD is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * QCAD is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with QCAD. */ include("scripts/EAction.js"); include("scripts/File/File.js"); include("../PM/PM.js") include("../ZDM/ZDM.js") SetArguments.readmeFile = "readme.txt"; function SetArguments(guiAction) { EAction.call(this, guiAction); this.pmsel = false; this.zdmsel = false; // var lastOpenFile = RSettings.getStringValue("OpenProject/Current", RSettings.getDocumentsLocation()); // var lastOpenFileDir = SetArguments.includeBasePath + "/../../../project/" + lastOpenFile + "/para.ini"; } SetArguments.prototype = new EAction(); SetArguments.includeBasePath = includeBasePath; SetArguments.prototype.beginEvent = function () { EAction.prototype.beginEvent.call(this); // EAction.handleUserMessage("start show widget"); var appWin = EAction.getMainWindow(); if (RSettings.getStringValue("OpenProject/Current", "") == "") { QMessageBox.critical(appWin, qsTr("提示"), qsTr("请先选择工程路径")); return; } var lastOpenFileDir = RSettings.getStringValue("OpenProject/Current", RSettings.getDocumentsLocation()) + "/para.ini"; // EAction.handleUserMessage(lastOpenFileDir); var file = new QFile(lastOpenFileDir); if (!file.exists()) { QMessageBox.critical(EAction.getMainWindow(), qsTr("提示"), RSettings.getStringValue("OpenProject/Current", "") + qsTr(" 工程下没有参数文件")); return; } this.iniFile = new QSettings(lastOpenFileDir, QSettings.IniFormat); // this.iniFile = new QSettings("D:/Project/para.ini", QSettings.IniFormat); this.standard_type = new Array(); this.dialog = this.createWidget(SetArguments.includeBasePath + "/SetArgumentsDialog.ui", appWin); WidgetFactory.restoreState(this.dialog); this.resetClicked(); //var iniConf = []; //iniConf = this.readNormalIniFile(); //this.setNormalBox(iniConf); // var childs = this.iniFile.childGroups(); // for(var i = 0; i < childs.length; i++){ // if(childs[i].indexOf("standard") != -1){ // this.standard_type.push(childs[i]); // this.standard_type.push(this.iniFile.value("/" + childs[i].toString() + "/design_speed").replace(/(\s*)+/g,"").replace(/#(\S*)/,"")); // // EAction.handleUserMessage(this.iniFile.value("/" + childs[i] + "/design_speed").replace(/(\s*)+/g,"").replace(/#(\S*)/,"")); // // EAction.handleUserMessage(childs[i]); // } // } // // 速度 // this.select_type = this.standard_type[0]; //this.resetClicked(); // var design_speed = this.dialog.findChild("comboBox"); // for(var i = 1; i < this.standard_type.length; i += 2){ // design_speed.addItem(this.standard_type[i]); // } // design_speed["currentIndexChanged(int)"].connect(this, this.selectSpeed); // var speedCfg = []; // speedCfg = this.readSpeedCfg(); // this.setSpeedBox(speedCfg); // 恢复默认 var resetBtn = this.dialog.findChild("resetBtn"); resetBtn.clicked.connect(this, this.resetClicked); // 保存 var saveBtn = this.dialog.findChild("saveBtn"); saveBtn.clicked.connect(this, this.saveClicked); // 优化 var optimizeBtn = this.dialog.findChild("optimizeBtn"); optimizeBtn.clicked.connect(this, this.optimizeClicked); if (!this.dialog.exec()) { EAction.handleUserMessage("clicked~"); destr(this.dialog); EAction.activateMainWindow(); return undefined; } WidgetFactory.saveState(this.dialog); }; SetArguments.prototype.optimizeClicked = function () { // 查找文件,显示出来 // test:显示随便的数字 var appWin = EAction.getMainWindow(); this.selectLineDialog = this.createWidget(SetArguments.includeBasePath + "/SelectLineDialog.ui", appWin); // EAction.handleUserMessage("debug1"); var pmWidget = this.selectLineDialog.findChild("pmWidget"); 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.btngrp = new QButtonGroup(pmWidget); var allPMFile = RSettings.getStringValue("OpenDisplayFile/PMFile", ""); var pmList = allPMFile.split(','); this.pms = new Array(); for (var i = 0; i < pmList.length; i++) { if (pmList[i] == "") continue; this.pms.push(pmList[i]); } for (var i = 0; i < this.pms.length; i++) { var pmFile = new QRadioButton(this.pms[i], pmWidget); pmFile.setGeometry(50, 25 + 40 * i, 1200, 40); this.btngrp.addButton(pmFile, i); pmFile.clicked.connect(this, this.pmClicked); } var zdmWidget = this.selectLineDialog.findChild("zdmWidget"); 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; this.zdms.push(zdmList[i]); } 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.pms.length == 0 && this.zdms.length == 0) { opBtn.setEnabled(false); } if (!this.selectLineDialog.exec()) { EAction.handleUserMessage("clicked~"); destr(this.selectLineDialog); EAction.activateMainWindow(); return undefined; } }; SetArguments.prototype.opBtnClicked = function () { if (!this.pmsel && !this.zdmsel) { var appWin = EAction.getMainWindow(); QMessageBox.information(appWin, qsTr("提示"), qsTr("请选择优化的的文件")); return; } if (this.pmsel) { var pmd = new PM(); pmd.interface(this.pms[this.pmid]); } if (this.zdmsel) { var zdmd = new ZDM(); zdmd.interface(this.zdms[this.zdmid]); } // 弹出指定目录 QDesktopServices.openUrl(QUrl.fromLocalFile(RSettings.getStringValue("OpenProject/Current", "") + "/Output_data")); }; SetArguments.prototype.exitBtnClicked = function () { destr(this.selectLineDialog); }; SetArguments.prototype.pmClicked = function () { this.pmsel = true; this.pmid = this.btngrp.checkedId(); EAction.handleUserMessage(this.pms[this.pmid]); }; SetArguments.prototype.zdmClicked = function () { this.zdmsel = true; this.zdmid = this.btngrp2.checkedId(); // EAction.handleUserMessage(id.toString()); EAction.handleUserMessage(this.zdms[this.zdmid]); }; SetArguments.prototype.saveClicked = function () { // EAction.handleUserMessage("start Save File"); this.iniFile.setValue("/parameter/batch_sizes", this.dialog.findChild("batch_sizes").text); this.iniFile.setValue("/parameter/learning_rate0", this.dialog.findChild("learning_rate0").text); this.iniFile.setValue("/parameter/learning_rate1", this.dialog.findChild("learning_rate1").text); this.iniFile.setValue("/parameter/iteration_times", this.dialog.findChild("iteration_times").text); this.iniFile.setValue("/parameter/discount_factor", this.dialog.findChild("discount_factor").text); this.iniFile.setValue("/parameter/d_k", this.dialog.findChild("d_k").text); this.iniFile.setValue("/parameter/d_line", this.dialog.findChild("d_line").text); this.iniFile.setValue("/parameter/forward_step", this.dialog.findChild("forward_step").text); this.iniFile.setValue("/parameter/learning_rate0", this.dialog.findChild("learning_rate0").text); this.iniFile.setValue("/parameter/range_p", this.dialog.findChild("range_p_x").text); this.iniFile.setValue("/parameter/range_g", this.dialog.findChild("range_g").text); this.iniFile.setValue("/parameter/range_k", this.dialog.findChild("range_k").text); this.iniFile.setValue("/parameter/range_c", this.dialog.findChild("range_c").text); this.iniFile.setValue("/parameter/range_v", this.dialog.findChild("range_v").text); this.iniFile.setValue("/parameter/range_e", this.dialog.findChild("range_e").text); // this.iniFile.setValue("/cost/beam0", this.dialog.findChild("beam0").text); // this.iniFile.setValue("/cost/beam1", this.dialog.findChild("beam1").text); // this.iniFile.setValue("/cost/bridge_pier", this.dialog.findChild("bridge_pier").text); // this.iniFile.setValue("/cost/tunnel0", this.dialog.findChild("tunnel0").text); // this.iniFile.setValue("/cost/tunnel1", this.dialog.findChild("tunnel1").text); // this.iniFile.setValue("/cost/tunnel2", this.dialog.findChild("tunnel2").text); // this.iniFile.setValue("/cost/tunnel_entrance", this.dialog.findChild("tunnel_entrance").text); // this.iniFile.setValue("/cost/railway_tracks", this.dialog.findChild("railway_tracks").text); // this.iniFile.setValue("/cost/road_right_fee", this.dialog.findChild("road_right_fee").text); // this.iniFile.setValue("/cost/filling_cost", this.dialog.findChild("filling_cost").text); // this.iniFile.setValue("/cost/excavation_cost", this.dialog.findChild("excavation_cost").text); // this.iniFile.setValue("/cost/arable_land_occupation", this.dialog.findChild("arable_land_occupation").text); // this.iniFile.setValue("/cost/house_demolition", this.dialog.findChild("house_demolition").text); // if (this.dialog.findChild("replace_radio").isChecked) { // this.iniFile.setValue("/cost/replace_railway_by_bridge", "1"); // } // else { // this.iniFile.setValue("/cost/replace_railway_by_bridge", "0"); // } // this.iniFile.setValue("/standard/design_speed", this.dialog.findChild("design_speed").text); // this.iniFile.setValue("/standard/minimum_curve_radius", this.dialog.findChild("minimum_curve_radius").text); // this.iniFile.setValue("/standard/minimum_circular_length", this.dialog.findChild("minimum_circular_length").text); // this.iniFile.setValue("/standard/minimal_longitudinal_length", this.dialog.findChild("minimal_longitudinal_length").text); // this.iniFile.setValue("/standard/maximum_gradient", this.dialog.findChild("maximum_gradient").text); // this.iniFile.setValue("/standard/maximum_slope_difference", this.dialog.findChild("maximum_slope_difference").text); // this.iniFile.setValue("/standard/minimum_transition_curve_length", this.dialog.findChild("minimum_transition_curve_length").text); // this.iniFile.setValue("/standard/minimum_clip_line_length", this.dialog.findChild("minimum_clip_line_length").text); // this.iniFile.setValue("/standard/minimum_radius_of_convex_vertical_curve", this.dialog.findChild("minimum_radius_of_convex_vertical_curve").text); // this.iniFile.setValue("/standard/minimum_radius_of_concave_vertical_curve", this.dialog.findChild("minimum_radius_of_concave_vertical_curve").text); // this.iniFile.setValue("/standard/minimum_length_of_vertical_curve", this.dialog.findChild("minimum_length_of_vertical_curve").text); // this.iniFile.setValue("/ecology/water_pollution", this.dialog.findChild("water_pollution").text); // this.iniFile.setValue("/ecology/noise_and_vibration", this.dialog.findChild("noise_and_vibration").text); // this.iniFile.setValue("/ecology/cultural_heritage_protection", this.dialog.findChild("cultural_heritage_protection").text); // this.iniFile.setValue("/ecology/destruction_wildlife", this.dialog.findChild("destruction_wildlife").text); // this.iniFile.setValue("/ecology/original_natural", this.dialog.findChild("original_natural").text); // this.iniFile.setValue("/ecology/traffic_network", this.dialog.findChild("traffic_network").text); // this.iniFile.setValue("/ecology/fields_woods", this.dialog.findChild("fields_woods").text); // this.iniFile.setValue("/ecology/air_pollution", this.dialog.findChild("air_pollution").text); // this.iniFile.setValue("/ecology/house_demolition", this.dialog.findChild("house_demolition_2").text); this.iniFile.setValue("/weigth/hCostSlider",this.dialog.findChild("hCostSlider").text); this.iniFile.setValue("/weigth/hEcologySlider",this.dialog.findChild("hEcologySlider").text); this.iniFile.setValue("/weigth/vCostSlider",this.dialog.findChild("vCostSlider").text); // destr(this.iniFile); EAction.handleUserMessage("Save File"); }; SetArguments.prototype.resetClicked = function () { var iniConf = []; iniConf = this.readNormalIniFile(); this.setNormalBox(iniConf); }; SetArguments.prototype.readNormalIniFile = function(){ var ret = []; //#region 优化模型参数设置 ret["batch_sizes"] = this.iniFile.value("/parameter/batch_sizes").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["learning_rate0"] = this.iniFile.value("/parameter/learning_rate0").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["learning_rate1"] = this.iniFile.value("/parameter/learning_rate1").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["iteration_times"] = this.iniFile.value("/parameter/iteration_times").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["discount_factor"] = this.iniFile.value("/parameter/discount_factor").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["d_k"] = this.iniFile.value("/parameter/d_k").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["forward_step"] = this.iniFile.value("/parameter/forward_step").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["range_p"] = this.iniFile.value("/parameter/range_p").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["range_g"] = this.iniFile.value("/parameter/range_g").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["range_k"] = this.iniFile.value("/parameter/range_k").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["d_line"] = this.iniFile.value("/parameter/d_line").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["range_c"] = this.iniFile.value("/parameter/range_c").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["range_v"] = this.iniFile.value("/parameter/range_v").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["range_e"] = this.iniFile.value("/parameter/range_e").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); //#endregion //#region 铁路单位造价设置 ret["beam0"] = this.iniFile.value("/cost/beam0").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["beam1"] = this.iniFile.value("/cost/beam1").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["bridge_pier"] = this.iniFile.value("/cost/bridge_pier").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["tunnel0"] = this.iniFile.value("/cost/tunnel0").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["tunnel1"] = this.iniFile.value("/cost/tunnel1").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["tunnel2"] = this.iniFile.value("/cost/tunnel2").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["tunnel_entrance"] = this.iniFile.value("/cost/tunnel_entrance").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["railway_tracks"] = this.iniFile.value("/cost/railway_tracks").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["road_right_fee"] = this.iniFile.value("/cost/road_right_fee").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["filling_cost"] = this.iniFile.value("/cost/filling_cost").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["excavation_cost"] = this.iniFile.value("/cost/excavation_cost").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["arable_land_occupation"] = this.iniFile.value("/cost/arable_land_occupation").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["house_demolition"] = this.iniFile.value("/cost/house_demolition").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); // ret["farmland_layer_name"] = this.iniFile.value("/cost/farmland_layer_name").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); // ret["demolition_layer_name"] = this.iniFile.value("/cost/demolition_layer_name").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["replace_railway_by_bridge"] = this.iniFile.value("/cost/replace_railway_by_bridge").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); //#endregion //#region 生态 ret["water"] = this.iniFile.value("/ecology/water").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["voice"] = this.iniFile.value("/ecology/voice").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["culture"] = this.iniFile.value("/ecology/culture").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["animal"] = this.iniFile.value("/ecology/animal").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["prewater"] = this.iniFile.value("/ecology/prewater").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["traffic"] = this.iniFile.value("/ecology/traffic").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["tree"] = this.iniFile.value("/ecology/tree").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["air"] = this.iniFile.value("/ecology/air").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["house"] = this.iniFile.value("/ecology/house").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); //#endregion //#region 速度 ret["speed"] = this.iniFile.value("/standard/design_speed").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["minimum_curve_radius"] = this.iniFile.value("/standard/minimum_curve_radius").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["minimum_circular_length"] = this.iniFile.value("/standard/minimum_circular_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["minimal_longitudinal_length"] = this.iniFile.value("/standard/minimal_longitudinal_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["maximum_gradient"] = this.iniFile.value("/standard/maximum_gradient").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["maximum_slope_difference"] = this.iniFile.value("/standard/maximum_slope_difference").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["minimum_radius_of_convex_vertical_curve"] = this.iniFile.value("/standard/minimum_radius_of_convex_vertical_curve").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["minimum_radius_of_concave_vertical_curve"] = this.iniFile.value("/standard/minimum_radius_of_concave_vertical_curve").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["minimum_transition_curve_length"] = this.iniFile.value("/standard/minimum_transition_curve_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["minimum_clip_line_length"] = this.iniFile.value("/standard/minimum_clip_line_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["minimum_length_of_vertical_curve"] = this.iniFile.value("/standard/minimum_length_of_vertical_curve").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); //#endregion //#region 速度 ret["hCostSlider"] = this.iniFile.value("/weigth/hCostSlider").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["hEcologySlider"] = this.iniFile.value("/weigth/hEcologySlider").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); ret["vCostSlider"] = this.iniFile.value("/weigth/vCostSlider").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); //#endregion EAction.handleUserMessage("read ini finish"); return ret; }; SetArguments.prototype.setNormalBox = function(iniConf){ var batch_sizes = this.dialog.findChild("batch_sizes"); var learning_rate0 = this.dialog.findChild("learning_rate0"); var learning_rate1 = this.dialog.findChild("learning_rate1"); var iteration_times = this.dialog.findChild("iteration_times"); var discount_factor = this.dialog.findChild("discount_factor"); var range_p_x = this.dialog.findChild("range_p_x"); var range_p_y = this.dialog.findChild("range_p_y"); var range_g = this.dialog.findChild("range_g"); var range_k = this.dialog.findChild("range_k"); var range_c = this.dialog.findChild("range_c"); var range_v = this.dialog.findChild("range_v"); var range_e = this.dialog.findChild("range_e"); var d_k= this.dialog.findChild("d_k"); var d_line= this.dialog.findChild("d_line"); var forward_step= this.dialog.findChild("forward_step"); // slider var batchSlider = this.dialog.findChild("batchsizeSlider"); var stepSlider = this.dialog.findChild("stepSlider"); var iterationtimeSlider = this.dialog.findChild("iterationtimeSlider"); var dkSlider = this.dialog.findChild("dkSlider"); var rangecSlider = this.dialog.findChild("rangecSlider"); var rangevSlider = this.dialog.findChild("rangevSlider"); var rangeeSlider = this.dialog.findChild("rangeeSlider"); // EAction.handleUserMessage("read ui"); batch_sizes.textChanged.connect( function() {batchSlider.setValue(batch_sizes.text);} ); forward_step.textChanged.connect( function() {stepSlider.setValue(forward_step.text);} ); iteration_times.textChanged.connect( function() {iterationtimeSlider.setValue(iteration_times.text);} ); d_k.textChanged.connect( function() {dkSlider.setValue(d_k.text);} ); range_c.textChanged.connect( function() {rangecSlider.setValue(range_c.text);} ); range_v.textChanged.connect( function() {rangevSlider.setValue(range_v.text);} ); range_e.textChanged.connect( function() {rangeeSlider.setValue(range_e.text);} ); batchSlider.valueChanged.connect( function() {batch_sizes.setText(batchSlider.value);} ); stepSlider.valueChanged.connect( function() {forward_step.setText(stepSlider.value);} ); iterationtimeSlider.valueChanged.connect( function() {iteration_times.setText(iterationtimeSlider.value);} ); dkSlider.valueChanged.connect( function() {d_k.setText(dkSlider.value);} ); rangecSlider.valueChanged.connect( function() {range_c.setText(rangecSlider.value);} ); rangevSlider.valueChanged.connect( function() {range_v.setText(rangevSlider.value);} ); rangeeSlider.valueChanged.connect( function() {range_e.setText(rangeeSlider.value);} ); batch_sizes.setText(iniConf["batch_sizes"]); learning_rate0.setText(iniConf["learning_rate0"]); learning_rate1.setText(iniConf["learning_rate1"]); iteration_times.setText(iniConf["iteration_times"]); discount_factor.setText(iniConf["discount_factor"]); range_p_x.setText(iniConf["range_p"]); range_p_y.setText(iniConf["range_p"]); range_g.setText(iniConf["range_g"]); range_k.setText(iniConf["range_k"]); range_c.setText(iniConf["range_c"]); range_v.setText(iniConf["range_v"]); range_e.setText(iniConf["range_e"]); d_k.setText(iniConf["d_k"]); d_line.setText(iniConf["d_line"]); forward_step.setText(iniConf["forward_step"]); range_p_x.textChanged.connect( function(){ range_p_y.setText(range_p_x.text); }); range_p_y.textChanged.connect( function(){ range_p_x.setText(range_p_y.text); }); EAction.handleUserMessage("end set form"); // range_g_x.textChanged.connect( // function(){ // range_g_y.setText(range_g_x.text); // }); // range_g_y.textChanged.connect( // function(){ // range_g_x.setText(range_g_y.text); // }); EAction.handleUserMessage("read ui"); var beam0 = this.dialog.findChild("beam0"); var beam1 = this.dialog.findChild("beam1"); var bridge_pier = this.dialog.findChild("bridge_pier"); var tunnel0 = this.dialog.findChild("tunnel0"); var tunnel1 = this.dialog.findChild("tunnel1"); var tunnel2 = this.dialog.findChild("tunnel2"); var tunnel_entrance = this.dialog.findChild("tunnel_entrance"); var railway_tracks = this.dialog.findChild("railway_tracks"); var road_right_fee = this.dialog.findChild("road_right_fee"); var filling_cost = this.dialog.findChild("filling_cost"); var excavation_cost = this.dialog.findChild("excavation_cost"); var arable_land_occupation = this.dialog.findChild("arable_land_occupation"); var house_demolition = this.dialog.findChild("house_demolition"); // var farmland_layer_name = this.dialog.findChild("farmland_layer_name"); // var demolition_layer_name = this.dialog.findChild("demolition_layer_name"); var replace_radio = this.dialog.findChild("replace_radio"); var not_replace_radio = this.dialog.findChild("not_replace_radio"); beam0.setText(iniConf["beam0"]); beam1.setText(iniConf["beam1"]); bridge_pier.setText(iniConf["bridge_pier"]); tunnel0.setText(iniConf["tunnel0"]); tunnel1.setText(iniConf["tunnel1"]); tunnel2.setText(iniConf["tunnel2"]); tunnel_entrance.setText(iniConf["tunnel_entrance"]); railway_tracks.setText(iniConf["railway_tracks"]); road_right_fee.setText(iniConf["road_right_fee"]); filling_cost.setText(iniConf["filling_cost"]); excavation_cost.setText(iniConf["excavation_cost"]); arable_land_occupation.setText(iniConf["arable_land_occupation"]); house_demolition.setText(iniConf["house_demolition"]); EAction.handleUserMessage("start set form"); // farmland_layer_name.setText(iniConf["farmland_layer_name"]); // demolition_layer_name.setText(iniConf["demolition_layer_name"]); if(0 == iniConf["replace_railway_by_bridge"].toInt()) { not_replace_radio.setChecked(1); } else { replace_radio.setChecked(1); } // 生态 var water = this.dialog.findChild("water"); var voice = this.dialog.findChild("voice"); var culture = this.dialog.findChild("culture"); var animal = this.dialog.findChild("animal"); var prewater = this.dialog.findChild("prewater"); var traffic = this.dialog.findChild("traffic"); var tree = this.dialog.findChild("tree"); var air = this.dialog.findChild("air"); var house = this.dialog.findChild("house"); var waterSlider = this.dialog.findChild("waterSlider"); var voiceSlider = this.dialog.findChild("voiceSlider"); var cultureSlider = this.dialog.findChild("cultureSlider"); var animalSlider = this.dialog.findChild("animalSlider"); var prewaterSlider = this.dialog.findChild("prewaterSlider"); var trafficSlider = this.dialog.findChild("trafficSlider"); var treeSlider = this.dialog.findChild("treeSlider"); var airSlider = this.dialog.findChild("airSlider"); var houseSlider = this.dialog.findChild("houseSlider"); water.textChanged.connect( function() {waterSlider.setValue(water.text);} ); voice.textChanged.connect( function() {voiceSlider.setValue(voice.text);} ); culture.textChanged.connect( function() {cultureSlider.setValue(culture.text);} ); animal.textChanged.connect( function() {animalSlider.setValue(animal.text);} ); prewater.textChanged.connect( function() {prewaterSlider.setValue(prewater.text);} ); traffic.textChanged.connect( function() {trafficSlider.setValue(traffic.text);} ); tree.textChanged.connect( function() {treeSlider.setValue(tree.text);} ); air.textChanged.connect( function() {airSlider.setValue(air.text);} ); house.textChanged.connect( function() {houseSlider.setValue(house.text);} ); waterSlider.valueChanged.connect( function() {water.setText(waterSlider.value);} ); voiceSlider.valueChanged.connect( function() {voice.setText(voiceSlider.value);} ); cultureSlider.valueChanged.connect( function() {culture.setText(cultureSlider.value);} ); animalSlider.valueChanged.connect( function() {animal.setText(animalSlider.value);} ); prewaterSlider.valueChanged.connect( function() {prewater.setText(prewaterSlider.value);} ); trafficSlider.valueChanged.connect( function() {traffic.setText(trafficSlider.value);} ); treeSlider.valueChanged.connect( function() {tree.setText(treeSlider.value);} ); airSlider.valueChanged.connect( function() {air.setText(airSlider.value);} ); houseSlider.valueChanged.connect( function() {house.setText(houseSlider.value);} ); water.setText(iniConf["water"]); voice.setText(iniConf["voice"]); culture.setText(iniConf["culture"]); animal.setText(iniConf["animal"]); prewater.setText(iniConf["prewater"]); traffic.setText(iniConf["traffic"]); tree.setText(iniConf["tree"]); air.setText(iniConf["air"]); house.setText(iniConf["house"]); // 速度 var speed = this.dialog.findChild("speed"); var minimum_curve_radius = this.dialog.findChild("minimum_curve_radius"); var minimum_circular_length = this.dialog.findChild("minimum_circular_length"); var minimal_longitudinal_length = this.dialog.findChild("minimal_longitudinal_length"); var maximum_gradient = this.dialog.findChild("maximum_gradient"); var maximum_slope_difference = this.dialog.findChild("maximum_slope_difference"); var minimum_radius_of_convex_vertical_curve = this.dialog.findChild("minimum_radius_of_convex_vertical_curve"); var minimum_radius_of_concave_vertical_curve = this.dialog.findChild("minimum_radius_of_concave_vertical_curve"); var minimum_transition_curve_length = this.dialog.findChild("minimum_transition_curve_length"); var minimum_clip_line_length = this.dialog.findChild("minimum_clip_line_length"); var minimum_length_of_vertical_curve = this.dialog.findChild("minimum_length_of_vertical_curve"); var speedSlider = this.dialog.findChild("speedSlider"); var radiusSlider = this.dialog.findChild("radiusSlider"); var lengthSlider = this.dialog.findChild("lengthSlider"); var minloglenSlider = this.dialog.findChild("minloglenSlider"); var gradientSlider = this.dialog.findChild("gradientSlider"); var slopdiffSlider = this.dialog.findChild("slopdiffSlider"); var convexSlider = this.dialog.findChild("convexSlider"); var concaveSlider = this.dialog.findChild("concaveSlider"); var transitionSlider = this.dialog.findChild("transitionSlider"); var clipSlider = this.dialog.findChild("clipSlider"); var verticalCurveSlider = this.dialog.findChild("verticalCurveSlider"); speed.textChanged.connect( function() {speedSlider.setValue(speed.text);} ); minimum_curve_radius.textChanged.connect( function() {radiusSlider.setValue(minimum_curve_radius.text);} ); minimum_circular_length.textChanged.connect( function() {lengthSlider.setValue(minimum_circular_length.text);} ); minimal_longitudinal_length.textChanged.connect( function() {minloglenSlider.setValue(minimal_longitudinal_length.text);} ); maximum_gradient.textChanged.connect( function() {gradientSlider.setValue(maximum_gradient.text);} ); maximum_slope_difference.textChanged.connect( function() {slopdiffSlider.setValue(maximum_slope_difference.text);} ); minimum_radius_of_convex_vertical_curve.textChanged.connect( function() {convexSlider.setValue(minimum_radius_of_convex_vertical_curve.text);} ); minimum_radius_of_concave_vertical_curve.textChanged.connect( function() {concaveSlider.setValue(minimum_radius_of_concave_vertical_curve.text);} ); minimum_transition_curve_length.textChanged.connect( function() {transitionSlider.setValue(minimum_transition_curve_length.text);} ); minimum_clip_line_length.textChanged.connect( function() {clipSlider.setValue(minimum_clip_line_length.text);} ); minimum_length_of_vertical_curve.textChanged.connect( function() {verticalCurveSlider.setValue(minimum_length_of_vertical_curve.text);} ); speedSlider.valueChanged.connect( function() {speed.setText(speedSlider.value);} ); radiusSlider.valueChanged.connect( function() {minimum_curve_radius.setText(radiusSlider.value);} ); lengthSlider.valueChanged.connect( function() {minimum_circular_length.setText(lengthSlider.value);} ); minloglenSlider.valueChanged.connect( function() {minimal_longitudinal_length.setText(minloglenSlider.value);} ); gradientSlider.valueChanged.connect( function() {maximum_gradient.setText(gradientSlider.value);} ); slopdiffSlider.valueChanged.connect( function() {maximum_slope_difference.setText(slopdiffSlider.value);} ); convexSlider.valueChanged.connect( function() {minimum_radius_of_convex_vertical_curve.setText(convexSlider.value);} ); concaveSlider.valueChanged.connect( function() {minimum_radius_of_concave_vertical_curve.setText(concaveSlider.value);} ); transitionSlider.valueChanged.connect( function() {minimum_transition_curve_length.setText(transitionSlider.value);} ); clipSlider.valueChanged.connect( function() {minimum_clip_line_length.setText(clipSlider.value);} ); verticalCurveSlider.valueChanged.connect( function() {minimum_length_of_vertical_curve.setText(verticalCurveSlider.value);} ); speed.setText(iniConf["speed"]); minimum_curve_radius.setText(iniConf["minimum_curve_radius"]); minimum_circular_length.setText(iniConf["minimum_circular_length"]); minimal_longitudinal_length.setText(iniConf["minimal_longitudinal_length"]); maximum_gradient.setText(iniConf["maximum_gradient"]); maximum_slope_difference.setText(iniConf["maximum_slope_difference"]); minimum_radius_of_convex_vertical_curve.setText(iniConf["minimum_radius_of_convex_vertical_curve"]); minimum_radius_of_concave_vertical_curve.setText(iniConf["minimum_radius_of_concave_vertical_curve"]); minimum_transition_curve_length.setText(iniConf["minimum_transition_curve_length"]); minimum_clip_line_length.setText(iniConf["minimum_clip_line_length"]); minimum_length_of_vertical_curve.setText(iniConf["minimum_length_of_vertical_curve"]); // 权重 var hCostSlider = this.dialog.findChild("hCostSlider"); var hEcologySlider = this.dialog.findChild("hEcologySlider"); var vCostSlider = this.dialog.findChild("vCostSlider"); hCostSlider.setValue(iniConf["hCostSlider"]); hEcologySlider.setValue(iniConf["hEcologySlider"]); vCostSlider.setValue(iniConf["vCostSlider"]); };