|
|
@@ -0,0 +1,605 @@
|
|
|
+/**
|
|
|
+ * 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();
|
|
|
+ var selectLineDialog = this.createWidget(SetArguments.includeBasePath + "/SelectLineDialog.ui", appWin);
|
|
|
+ EAction.handleUserMessage("debug1");
|
|
|
+ var radioWidget = selectLineDialog.findChild("widget");
|
|
|
+ EAction.handleUserMessage("debug2");
|
|
|
+
|
|
|
+ this.btngrp = new QButtonGroup(radioWidget);
|
|
|
+ var r1 = new QRadioButton("aa", radioWidget);
|
|
|
+ r1.setGeometry(10, 10, 100, 30);
|
|
|
+ var r2 = new QRadioButton("cc", radioWidget);
|
|
|
+ r2.setGeometry(10, 30, 100, 30);
|
|
|
+ this.btngrp.addButton(r1, 0);
|
|
|
+ this.btngrp.addButton(r2, 1);
|
|
|
+
|
|
|
+ r1.clicked.connect(this,this.pmClicked);
|
|
|
+ r2.clicked.connect(this,this.pmClicked);
|
|
|
+
|
|
|
+
|
|
|
+ var rBtnMan = new QRadioButton("男", radioWidget);
|
|
|
+ rBtnMan.setGeometry(30, 50, 100, 30);
|
|
|
+ var rBtnWoman = new QRadioButton("111", radioWidget);
|
|
|
+ rBtnWoman.setGeometry(30, 90, 100, 30);
|
|
|
+ var rBtnUnknown = new QRadioButton("222", radioWidget);
|
|
|
+ rBtnUnknown.setGeometry(30, 130, 100, 30);
|
|
|
+
|
|
|
+ EAction.handleUserMessage("debug3");
|
|
|
+ RSettings.setValue("ProjectImportFile/PMFile", ",aaa.pm");
|
|
|
+ var tmp = RSettings.getStringValue("ProjectImportFile/PMFile", "");
|
|
|
+ EAction.handleUserMessage(tmp);
|
|
|
+ RSettings.setValue("ProjectImportFile/PMFile", tmp + ",bbb.pm");
|
|
|
+ tmp = RSettings.getStringValue("ProjectImportFile/PMFile", "");
|
|
|
+ EAction.handleUserMessage(tmp);
|
|
|
+ var list = tmp.split(',');
|
|
|
+ this.pms = new Array();
|
|
|
+ // EAction.handleUserMessage(list);
|
|
|
+ for(var i = 0; i < list.length; i++){
|
|
|
+ if(list[i] == "") continue;
|
|
|
+ this.pms.push(list[i]);
|
|
|
+ EAction.handleUserMessage(list[i]);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!selectLineDialog.exec()) {
|
|
|
+ EAction.handleUserMessage("clicked~");
|
|
|
+ destr(selectLineDialog);
|
|
|
+ EAction.activateMainWindow();
|
|
|
+ return undefined;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+SetArguments.prototype.pmClicked = function() {
|
|
|
+ var id = this.btngrp.checkedId();
|
|
|
+ EAction.handleUserMessage(id.toString());
|
|
|
+ EAction.handleUserMessage(this.pms[id]);
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+SetArguments.prototype.saveClicked = function() {
|
|
|
+ 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("/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);
|
|
|
+
|
|
|
+ EAction.handleUserMessage("Save File");
|
|
|
+};
|
|
|
+
|
|
|
+// 修改文件中的数据,保留注释
|
|
|
+SetArguments.prototype.saveData = function(){
|
|
|
+ var file = new QFile(this.iniFile);
|
|
|
+ var flags = makeQIODeviceOpenMode(QIODevice.WriteOnly, QIODevice.Text);
|
|
|
+ if (file.open(flags)) {
|
|
|
+ var textStream = new QTextStream(file);
|
|
|
+ setUtf8Codec(textStream);
|
|
|
+ // textStream.writeString(str);
|
|
|
+ file.close();
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+SetArguments.prototype.resetClicked = function(){
|
|
|
+ var iniConf = [];
|
|
|
+ iniConf = this.readNormalIniFile();
|
|
|
+ this.setNormalBox(iniConf);
|
|
|
+
|
|
|
+ // var speedCfg = [];
|
|
|
+ // speedCfg = this.readSpeedCfg();
|
|
|
+ // this.setSpeedBox(speedCfg);
|
|
|
+};
|
|
|
+
|
|
|
+SetArguments.prototype.selectSpeed = function(index){
|
|
|
+ // EAction.handleUserMessage("index: " + index);
|
|
|
+ // index*2 得到child的名字
|
|
|
+ this.select_type = this.standard_type[index*2];
|
|
|
+ // EAction.handleUserMessage("type:" + this.select_type);
|
|
|
+
|
|
|
+ var special_speed = this.getStandardInfo(this.standard_type[index*2]);
|
|
|
+ this.setSpeedBox(special_speed);
|
|
|
+}
|
|
|
+
|
|
|
+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);} );
|
|
|
+
|
|
|
+ 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);} );
|
|
|
+
|
|
|
+ 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"]);
|
|
|
+};
|
|
|
+
|
|
|
+SetArguments.prototype.readSpeedCfg = function(){
|
|
|
+ // EAction.handleUserMessage(this.iniFile.value("/" + this.standard_type[0] + "/design_speed").replace(/(\s*)+/g,"").replace(/#(\S*)/,""));
|
|
|
+ // return this.getStandardInfo(this.standard_type[0]);
|
|
|
+ return this.getStandardInfo(this.select_type);
|
|
|
+};
|
|
|
+
|
|
|
+SetArguments.prototype.setSpeedBox = function(iniConf){
|
|
|
+ // var design_speed = this.dialog.findChild("comboBox");
|
|
|
+ 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 maximum_bridge_height = this.dialog.findChild("maximum_bridge_height");
|
|
|
+ // var maximum_tunnel_length = this.dialog.findChild("maximum_tunnel_length");
|
|
|
+ // var filling_height_lbb = this.dialog.findChild("filling_height_lbb");
|
|
|
+ // var digging_deep_ltb = this.dialog.findChild("digging_deep_ltb");
|
|
|
+ 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_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_length_of_vertical_curve = this.dialog.findChild("minimum_length_of_vertical_curve");
|
|
|
+ // var horizontal_containing_vertical = this.dialog.findChild("horizontal_containing_vertical");
|
|
|
+
|
|
|
+ // 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);
|
|
|
+
|
|
|
+ // design_speed.setText(iniConf["design_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"]);
|
|
|
+ // maximum_bridge_height.setText(iniConf["maximum_bridge_height"]);
|
|
|
+ // maximum_tunnel_length.setText(iniConf["maximum_tunnel_length"]);
|
|
|
+ // filling_height_lbb.setText(iniConf["filling_height_lbb"]);
|
|
|
+ // digging_deep_ltb.setText(iniConf["digging_deep_ltb"]);
|
|
|
+ minimum_transition_curve_length.setText(iniConf["minimum_transition_curve_length"]);
|
|
|
+ minimum_clip_line_length.setText(iniConf["minimum_clip_line_length"]);
|
|
|
+ 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_length_of_vertical_curve.setText(iniConf["minimum_length_of_vertical_curve"]);
|
|
|
+ // if("1" == iniConf["horizontal_containing_vertical"])
|
|
|
+ // {
|
|
|
+ // horizontal_containing_vertical.setChecked(true);
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // horizontal_containing_vertical.setChecked(false);
|
|
|
+ // }
|
|
|
+};
|
|
|
+
|
|
|
+SetArguments.prototype.getStandardInfo = function(childName){
|
|
|
+ var speedInfo = [];
|
|
|
+ speedInfo["design_speed"] = this.iniFile.value("/" + childName + "/design_speed").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
|
|
|
+ speedInfo["minimum_curve_radius"] = this.iniFile.value("/" + childName + "/minimum_curve_radius").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
|
|
|
+ speedInfo["minimum_circular_length"] = this.iniFile.value("/" + childName + "/minimum_circular_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
|
|
|
+ speedInfo["minimal_longitudinal_length"] = this.iniFile.value("/" + childName + "/minimal_longitudinal_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
|
|
|
+ speedInfo["maximum_gradient"] = this.iniFile.value("/" + childName + "/maximum_gradient").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
|
|
|
+ speedInfo["maximum_slope_difference"] = this.iniFile.value("/" + childName + "/maximum_slope_difference").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
|
|
|
+ speedInfo["maximum_bridge_height"] = this.iniFile.value("/" + childName + "/maximum_bridge_height").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
|
|
|
+ speedInfo["maximum_tunnel_length"] = this.iniFile.value("/" + childName + "/maximum_tunnel_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
|
|
|
+ speedInfo["filling_height_lbb"] = this.iniFile.value("/" + childName + "/filling_height_lbb").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
|
|
|
+ speedInfo["digging_deep_ltb"] = this.iniFile.value("/" + childName + "/digging_deep_ltb").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
|
|
|
+ speedInfo["minimum_transition_curve_length"] = this.iniFile.value("/" + childName + "/minimum_transition_curve_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
|
|
|
+ speedInfo["minimum_clip_line_length"] = this.iniFile.value("/" + childName + "/minimum_clip_line_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
|
|
|
+ speedInfo["minimum_radius_of_convex_vertical_curve"] = this.iniFile.value("/" + childName + "/minimum_radius_of_convex_vertical_curve").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
|
|
|
+ speedInfo["minimum_radius_of_concave_vertical_curve"] = this.iniFile.value("/" + childName + "/minimum_radius_of_concave_vertical_curve").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
|
|
|
+ speedInfo["minimum_length_of_vertical_curve"] = this.iniFile.value("/" + childName + "/minimum_length_of_vertical_curve").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
|
|
|
+ speedInfo["horizontal_containing_vertical"] = this.iniFile.value("/" + childName + "/horizontal_containing_vertical").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
|
|
|
+ return speedInfo;
|
|
|
+};
|