SetArguments.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429
  1. /**
  2. * Copyright (c) 2011-2018 by Andrew Mustun. All rights reserved.
  3. *
  4. * This file is part of the QCAD project.
  5. *
  6. * QCAD is free software: you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation, either version 3 of the License, or
  9. * (at your option) any later version.
  10. *
  11. * QCAD is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License
  17. * along with QCAD.
  18. */
  19. include("scripts/EAction.js");
  20. include("scripts/File/File.js");
  21. SetArguments.readmeFile = "readme.txt";
  22. function SetArguments(guiAction) {
  23. EAction.call(this, guiAction);
  24. // var lastOpenFile = RSettings.getStringValue("OpenProject/Current", RSettings.getDocumentsLocation());
  25. // var lastOpenFileDir = SetArguments.includeBasePath + "/../../../project/" + lastOpenFile + "/para.ini";
  26. }
  27. SetArguments.prototype = new EAction();
  28. SetArguments.includeBasePath = includeBasePath;
  29. SetArguments.prototype.beginEvent = function() {
  30. EAction.prototype.beginEvent.call(this);
  31. // EAction.handleUserMessage("start show widget");
  32. var appWin = EAction.getMainWindow();
  33. if(RSettings.getStringValue("OpenProject/Current","") == ""){
  34. QMessageBox.critical(appWin,
  35. qsTr("提示"),
  36. qsTr("请先选择工程路径"));
  37. return;
  38. }
  39. var lastOpenFileDir = RSettings.getStringValue("OpenProject/Current", RSettings.getDocumentsLocation()) + "/para.ini";
  40. // EAction.handleUserMessage(lastOpenFileDir);
  41. var file = new QFile(lastOpenFileDir);
  42. if(!file.exists()){
  43. QMessageBox.critical(EAction.getMainWindow(), qsTr("提示"),
  44. RSettings.getStringValue("OpenProject/Current","") + qsTr(" 工程下没有参数文件"));
  45. return;
  46. }
  47. this.iniFile = new QSettings(lastOpenFileDir, QSettings.IniFormat);
  48. // this.iniFile = new QSettings("D:/Project/para.ini", QSettings.IniFormat);
  49. this.standard_type = new Array();
  50. this.dialog = this.createWidget(SetArguments.includeBasePath + "/SetArgumentsDialog.ui", appWin);
  51. WidgetFactory.restoreState(this.dialog);
  52. var pbs = this.dialog.findChild("horizontal_containing_vertical");
  53. pbs.setChecked(false); //设置不可用
  54. // this.resetClicked();
  55. var iniConf = [];
  56. iniConf = this.readNormalIniFile();
  57. this.setNormalBox(iniConf);
  58. var childs = this.iniFile.childGroups();
  59. for(var i = 0; i < childs.length; i++){
  60. if(childs[i].indexOf("standard") != -1){
  61. this.standard_type.push(childs[i]);
  62. this.standard_type.push(this.iniFile.value("/" + childs[i].toString() + "/design_speed").replace(/(\s*)+/g,"").replace(/#(\S*)/,""));
  63. // EAction.handleUserMessage(this.iniFile.value("/" + childs[i] + "/design_speed").replace(/(\s*)+/g,"").replace(/#(\S*)/,""));
  64. // EAction.handleUserMessage(childs[i]);
  65. }
  66. }
  67. // 速度
  68. this.select_type = this.standard_type[0];
  69. var design_speed = this.dialog.findChild("comboBox");
  70. for(var i = 1; i < this.standard_type.length; i += 2){
  71. design_speed.addItem(this.standard_type[i]);
  72. }
  73. design_speed["currentIndexChanged(int)"].connect(this, this.selectSpeed);
  74. var speedCfg = [];
  75. speedCfg = this.readSpeedCfg();
  76. this.setSpeedBox(speedCfg);
  77. // 恢复默认
  78. var resetBtn = this.dialog.findChild("resetBtn");
  79. resetBtn.clicked.connect(this, this.resetClicked);
  80. // 重置参数
  81. var setBtn = this.dialog.findChild("setBtn");
  82. setBtn.clicked.connect(this, this.setClicked);
  83. if (!this.dialog.exec()) {
  84. EAction.handleUserMessage("clicked~");
  85. destr(this.dialog);
  86. EAction.activateMainWindow();
  87. return undefined;
  88. }
  89. WidgetFactory.saveState(this.dialog);
  90. };
  91. SetArguments.prototype.setClicked = function() {
  92. // var iniFile = new QSettings("D:/Project/para.ini", QSettings.IniFormat);
  93. // var iniFile = this.iniFile;
  94. // EAction.handleUserMessage("start Save File");
  95. this.iniFile.setValue("/parameter/batch_sizes",this.dialog.findChild("batch_sizes").text);
  96. this.iniFile.setValue("/parameter/learning_rate0",this.dialog.findChild("learning_rate0").text);
  97. this.iniFile.setValue("/parameter/learning_rate1",this.dialog.findChild("learning_rate1").text);
  98. this.iniFile.setValue("/parameter/iteration_times",this.dialog.findChild("iteration_times").text);
  99. this.iniFile.setValue("/parameter/discount_factor",this.dialog.findChild("discount_factor").text);
  100. this.iniFile.setValue("/parameter/d_k",this.dialog.findChild("d_k").text);
  101. this.iniFile.setValue("/parameter/d_line",this.dialog.findChild("d_line").text);
  102. this.iniFile.setValue("/parameter/forward_step",this.dialog.findChild("forward_step").text);
  103. this.iniFile.setValue("/parameter/learning_rate0",this.dialog.findChild("learning_rate0").text);
  104. this.iniFile.setValue("/parameter/range_p",this.dialog.findChild("range_p_x").text);
  105. this.iniFile.setValue("/parameter/range_g",this.dialog.findChild("range_g").text);
  106. this.iniFile.setValue("/parameter/range_k",this.dialog.findChild("range_k").text);
  107. this.iniFile.setValue("/parameter/range_c",this.dialog.findChild("range_c").text);
  108. this.iniFile.setValue("/parameter/range_v",this.dialog.findChild("range_v").text);
  109. this.iniFile.setValue("/parameter/range_e",this.dialog.findChild("range_e").text);
  110. this.iniFile.setValue("/cost/beam0",this.dialog.findChild("beam0").text);
  111. this.iniFile.setValue("/cost/beam1",this.dialog.findChild("beam1").text);
  112. this.iniFile.setValue("/cost/bridge_pier",this.dialog.findChild("bridge_pier").text);
  113. this.iniFile.setValue("/cost/tunnel0",this.dialog.findChild("tunnel0").text);
  114. this.iniFile.setValue("/cost/tunnel1",this.dialog.findChild("tunnel1").text);
  115. this.iniFile.setValue("/cost/tunnel2",this.dialog.findChild("tunnel2").text);
  116. this.iniFile.setValue("/cost/tunnel_entrance",this.dialog.findChild("tunnel_entrance").text);
  117. this.iniFile.setValue("/cost/railway_tracks",this.dialog.findChild("railway_tracks").text);
  118. this.iniFile.setValue("/cost/road_right_fee",this.dialog.findChild("road_right_fee").text);
  119. this.iniFile.setValue("/cost/filling_cost",this.dialog.findChild("filling_cost").text);
  120. this.iniFile.setValue("/cost/excavation_cost",this.dialog.findChild("excavation_cost").text);
  121. this.iniFile.setValue("/cost/arable_land_occupation",this.dialog.findChild("arable_land_occupation").text);
  122. this.iniFile.setValue("/cost/house_demolition",this.dialog.findChild("house_demolition").text);
  123. this.iniFile.setValue("/cost/farmland_layer_name",this.dialog.findChild("farmland_layer_name").text);
  124. this.iniFile.setValue("/cost/demolition_layer_name",this.dialog.findChild("demolition_layer_name").text);
  125. if(this.dialog.findChild("replace_radio").isChecked)
  126. {
  127. this.iniFile.setValue("/cost/replace_railway_by_bridge","1");
  128. }
  129. else
  130. {
  131. this.iniFile.setValue("/cost/replace_railway_by_bridge","0");
  132. }
  133. // iniFile.setValue("/standard0/design_speed",this.dialog.findChild("design_speed").text);
  134. EAction.handleUserMessage("ddddd : " + this.select_type);
  135. this.iniFile.setValue("/" + this.select_type + "/minimum_curve_radius",this.dialog.findChild("minimum_curve_radius").text);
  136. this.iniFile.setValue("/" + this.select_type + "/minimum_circular_length",this.dialog.findChild("minimum_circular_length").text);
  137. this.iniFile.setValue("/" + this.select_type + "/minimal_longitudinal_length",this.dialog.findChild("minimal_longitudinal_length").text);
  138. this.iniFile.setValue("/" + this.select_type + "/maximum_gradient",this.dialog.findChild("maximum_gradient").text);
  139. this.iniFile.setValue("/" + this.select_type + "/maximum_slope_difference",this.dialog.findChild("maximum_slope_difference").text);
  140. this.iniFile.setValue("/" + this.select_type + "/maximum_bridge_height",this.dialog.findChild("maximum_bridge_height").text);
  141. this.iniFile.setValue("/" + this.select_type + "/maximum_tunnel_length",this.dialog.findChild("maximum_tunnel_length").text);
  142. this.iniFile.setValue("/" + this.select_type + "/filling_height_lbb",this.dialog.findChild("filling_height_lbb").text);
  143. this.iniFile.setValue("/" + this.select_type + "/digging_deep_ltb",this.dialog.findChild("digging_deep_ltb").text);
  144. this.iniFile.setValue("/" + this.select_type + "/minimum_transition_curve_length",this.dialog.findChild("minimum_transition_curve_length").text);
  145. this.iniFile.setValue("/" + this.select_type + "/minimum_clip_line_length",this.dialog.findChild("minimum_clip_line_length").text);
  146. this.iniFile.setValue("/" + this.select_type + "/minimum_radius_of_convex_vertical_curve",this.dialog.findChild("minimum_radius_of_convex_vertical_curve").text);
  147. this.iniFile.setValue("/" + this.select_type + "/minimum_radius_of_concave_vertical_curve",this.dialog.findChild("minimum_radius_of_concave_vertical_curve").text);
  148. this.iniFile.setValue("/" + this.select_type + "/minimum_length_of_vertical_curve",this.dialog.findChild("minimum_length_of_vertical_curve").text);
  149. if(true == this.dialog.findChild("horizontal_containing_vertical").checked)
  150. {
  151. this.iniFile.setValue("/" + this.select_type + "/horizontal_containing_vertical","1");
  152. // EAction.handleUserMessage("ddddd 111: ");
  153. }
  154. else
  155. {
  156. this.iniFile.setValue("/" + this.select_type + "/horizontal_containing_vertical","0");
  157. // EAction.handleUserMessage("ddddd 0000: ");
  158. }
  159. // destr(this.iniFile);
  160. EAction.handleUserMessage("Save File");
  161. };
  162. // 修改文件中的数据,保留注释
  163. SetArguments.prototype.saveData = function(){
  164. var file = new QFile(this.iniFile);
  165. var flags = makeQIODeviceOpenMode(QIODevice.WriteOnly, QIODevice.Text);
  166. if (file.open(flags)) {
  167. var textStream = new QTextStream(file);
  168. setUtf8Codec(textStream);
  169. // textStream.writeString(str);
  170. file.close();
  171. }
  172. };
  173. SetArguments.prototype.resetClicked = function(){
  174. var iniConf = [];
  175. iniConf = this.readNormalIniFile();
  176. this.setNormalBox(iniConf);
  177. var speedCfg = [];
  178. speedCfg = this.readSpeedCfg();
  179. this.setSpeedBox(speedCfg);
  180. };
  181. SetArguments.prototype.selectSpeed = function(index){
  182. // EAction.handleUserMessage("index: " + index);
  183. // index*2 得到child的名字
  184. this.select_type = this.standard_type[index*2];
  185. // EAction.handleUserMessage("type:" + this.select_type);
  186. var special_speed = this.getStandardInfo(this.standard_type[index*2]);
  187. this.setSpeedBox(special_speed);
  188. }
  189. SetArguments.prototype.readNormalIniFile = function(){
  190. var ret = [];
  191. //#region 优化模型参数设置
  192. ret["batch_sizes"] = this.iniFile.value("/parameter/batch_sizes").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  193. ret["learning_rate0"] = this.iniFile.value("/parameter/learning_rate0").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  194. ret["learning_rate1"] = this.iniFile.value("/parameter/learning_rate1").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  195. ret["iteration_times"] = this.iniFile.value("/parameter/iteration_times").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  196. ret["discount_factor"] = this.iniFile.value("/parameter/discount_factor").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  197. ret["d_k"] = this.iniFile.value("/parameter/d_k").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  198. ret["forward_step"] = this.iniFile.value("/parameter/forward_step").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  199. ret["range_p"] = this.iniFile.value("/parameter/range_p").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  200. ret["range_g"] = this.iniFile.value("/parameter/range_g").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  201. ret["range_k"] = this.iniFile.value("/parameter/range_k").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  202. ret["d_line"] = this.iniFile.value("/parameter/d_line").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  203. ret["range_c"] = this.iniFile.value("/parameter/range_c").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  204. ret["range_v"] = this.iniFile.value("/parameter/range_v").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  205. ret["range_e"] = this.iniFile.value("/parameter/range_e").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  206. //#endregion
  207. //#region 铁路单位造价设置
  208. ret["beam0"] = this.iniFile.value("/cost/beam0").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  209. ret["beam1"] = this.iniFile.value("/cost/beam1").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  210. ret["bridge_pier"] = this.iniFile.value("/cost/bridge_pier").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  211. ret["tunnel0"] = this.iniFile.value("/cost/tunnel0").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  212. ret["tunnel1"] = this.iniFile.value("/cost/tunnel1").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  213. ret["tunnel2"] = this.iniFile.value("/cost/tunnel2").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  214. ret["tunnel_entrance"] = this.iniFile.value("/cost/tunnel_entrance").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  215. ret["railway_tracks"] = this.iniFile.value("/cost/railway_tracks").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  216. ret["road_right_fee"] = this.iniFile.value("/cost/road_right_fee").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  217. ret["filling_cost"] = this.iniFile.value("/cost/filling_cost").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  218. ret["excavation_cost"] = this.iniFile.value("/cost/excavation_cost").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  219. ret["arable_land_occupation"] = this.iniFile.value("/cost/arable_land_occupation").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  220. ret["house_demolition"] = this.iniFile.value("/cost/house_demolition").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  221. ret["farmland_layer_name"] = this.iniFile.value("/cost/farmland_layer_name").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  222. ret["demolition_layer_name"] = this.iniFile.value("/cost/demolition_layer_name").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  223. ret["replace_railway_by_bridge"] = this.iniFile.value("/cost/replace_railway_by_bridge").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  224. //#endregion
  225. EAction.handleUserMessage("read ini finish");
  226. return ret;
  227. };
  228. SetArguments.prototype.setNormalBox = function(iniConf){
  229. var batch_sizes = this.dialog.findChild("batch_sizes");
  230. var learning_rate0 = this.dialog.findChild("learning_rate0");
  231. var learning_rate1 = this.dialog.findChild("learning_rate1");
  232. var iteration_times = this.dialog.findChild("iteration_times");
  233. var discount_factor = this.dialog.findChild("discount_factor");
  234. var range_p_x = this.dialog.findChild("range_p_x");
  235. var range_p_y = this.dialog.findChild("range_p_y");
  236. var range_g = this.dialog.findChild("range_g");
  237. var range_k = this.dialog.findChild("range_k");
  238. var range_c = this.dialog.findChild("range_c");
  239. var range_v = this.dialog.findChild("range_v");
  240. var range_e = this.dialog.findChild("range_e");
  241. var d_k= this.dialog.findChild("d_k");
  242. var d_line= this.dialog.findChild("d_line");
  243. var forward_step= this.dialog.findChild("forward_step");
  244. batch_sizes.setText(iniConf["batch_sizes"]);
  245. learning_rate0.setText(iniConf["learning_rate0"]);
  246. learning_rate1.setText(iniConf["learning_rate1"]);
  247. iteration_times.setText(iniConf["iteration_times"]);
  248. discount_factor.setText(iniConf["discount_factor"]);
  249. range_p_x.setText(iniConf["range_p"]);
  250. range_p_y.setText(iniConf["range_p"]);
  251. range_g.setText(iniConf["range_g"]);
  252. range_k.setText(iniConf["range_k"]);
  253. range_c.setText(iniConf["range_c"]);
  254. range_v.setText(iniConf["range_v"]);
  255. range_e.setText(iniConf["range_e"]);
  256. d_k.setText(iniConf["d_k"]);
  257. d_line.setText(iniConf["d_line"]);
  258. forward_step.setText(iniConf["forward_step"]);
  259. range_p_x.textChanged.connect(
  260. function(){
  261. range_p_y.setText(range_p_x.text);
  262. });
  263. range_p_y.textChanged.connect(
  264. function(){
  265. range_p_x.setText(range_p_y.text);
  266. });
  267. // range_g_x.textChanged.connect(
  268. // function(){
  269. // range_g_y.setText(range_g_x.text);
  270. // });
  271. // range_g_y.textChanged.connect(
  272. // function(){
  273. // range_g_x.setText(range_g_y.text);
  274. // });
  275. var beam0 = this.dialog.findChild("beam0");
  276. var beam1 = this.dialog.findChild("beam1");
  277. var bridge_pier = this.dialog.findChild("bridge_pier");
  278. var tunnel0 = this.dialog.findChild("tunnel0");
  279. var tunnel1 = this.dialog.findChild("tunnel1");
  280. var tunnel2 = this.dialog.findChild("tunnel2");
  281. var tunnel_entrance = this.dialog.findChild("tunnel_entrance");
  282. var railway_tracks = this.dialog.findChild("railway_tracks");
  283. var road_right_fee = this.dialog.findChild("road_right_fee");
  284. var filling_cost = this.dialog.findChild("filling_cost");
  285. var excavation_cost = this.dialog.findChild("excavation_cost");
  286. var arable_land_occupation = this.dialog.findChild("arable_land_occupation");
  287. var house_demolition = this.dialog.findChild("house_demolition");
  288. var farmland_layer_name = this.dialog.findChild("farmland_layer_name");
  289. var demolition_layer_name = this.dialog.findChild("demolition_layer_name");
  290. var replace_radio = this.dialog.findChild("replace_radio");
  291. var not_replace_radio = this.dialog.findChild("not_replace_radio");
  292. beam0.setText(iniConf["beam0"]);
  293. beam1.setText(iniConf["beam1"]);
  294. bridge_pier.setText(iniConf["bridge_pier"]);
  295. tunnel0.setText(iniConf["tunnel0"]);
  296. tunnel1.setText(iniConf["tunnel1"]);
  297. tunnel2.setText(iniConf["tunnel2"]);
  298. tunnel_entrance.setText(iniConf["tunnel_entrance"]);
  299. railway_tracks.setText(iniConf["railway_tracks"]);
  300. road_right_fee.setText(iniConf["road_right_fee"]);
  301. filling_cost.setText(iniConf["filling_cost"]);
  302. excavation_cost.setText(iniConf["excavation_cost"]);
  303. arable_land_occupation.setText(iniConf["arable_land_occupation"]);
  304. house_demolition.setText(iniConf["house_demolition"]);
  305. farmland_layer_name.setText(iniConf["farmland_layer_name"]);
  306. demolition_layer_name.setText(iniConf["demolition_layer_name"]);
  307. if(0 == iniConf["replace_railway_by_bridge"].toInt())
  308. {
  309. not_replace_radio.setChecked(1);
  310. }
  311. else
  312. {
  313. replace_radio.setChecked(1);
  314. }
  315. };
  316. SetArguments.prototype.readSpeedCfg = function(){
  317. // EAction.handleUserMessage(this.iniFile.value("/" + this.standard_type[0] + "/design_speed").replace(/(\s*)+/g,"").replace(/#(\S*)/,""));
  318. // return this.getStandardInfo(this.standard_type[0]);
  319. return this.getStandardInfo(this.select_type);
  320. };
  321. SetArguments.prototype.setSpeedBox = function(iniConf){
  322. // var design_speed = this.dialog.findChild("comboBox");
  323. var minimum_curve_radius = this.dialog.findChild("minimum_curve_radius");
  324. var minimum_circular_length = this.dialog.findChild("minimum_circular_length");
  325. var minimal_longitudinal_length = this.dialog.findChild("minimal_longitudinal_length");
  326. var maximum_gradient = this.dialog.findChild("maximum_gradient");
  327. var maximum_slope_difference = this.dialog.findChild("maximum_slope_difference");
  328. var maximum_bridge_height = this.dialog.findChild("maximum_bridge_height");
  329. var maximum_tunnel_length = this.dialog.findChild("maximum_tunnel_length");
  330. var filling_height_lbb = this.dialog.findChild("filling_height_lbb");
  331. var digging_deep_ltb = this.dialog.findChild("digging_deep_ltb");
  332. var minimum_transition_curve_length = this.dialog.findChild("minimum_transition_curve_length");
  333. var minimum_clip_line_length = this.dialog.findChild("minimum_clip_line_length");
  334. var minimum_radius_of_convex_vertical_curve = this.dialog.findChild("minimum_radius_of_convex_vertical_curve");
  335. var minimum_radius_of_concave_vertical_curve = this.dialog.findChild("minimum_radius_of_concave_vertical_curve");
  336. var minimum_length_of_vertical_curve = this.dialog.findChild("minimum_length_of_vertical_curve");
  337. var horizontal_containing_vertical = this.dialog.findChild("horizontal_containing_vertical");
  338. // for(var i = 1; i < this.standard_type.length; i += 2){
  339. // design_speed.addItem(this.standard_type[i]);
  340. // }
  341. // design_speed["currentIndexChanged(int)"].connect(this, this.selectSpeed);
  342. // design_speed.setText(iniConf["design_speed"]);
  343. minimum_curve_radius.setText(iniConf["minimum_curve_radius"]);
  344. minimum_circular_length.setText(iniConf["minimum_circular_length"]);
  345. minimal_longitudinal_length.setText(iniConf["minimal_longitudinal_length"]);
  346. maximum_gradient.setText(iniConf["maximum_gradient"]);
  347. maximum_slope_difference.setText(iniConf["maximum_slope_difference"]);
  348. maximum_bridge_height.setText(iniConf["maximum_bridge_height"]);
  349. maximum_tunnel_length.setText(iniConf["maximum_tunnel_length"]);
  350. filling_height_lbb.setText(iniConf["filling_height_lbb"]);
  351. digging_deep_ltb.setText(iniConf["digging_deep_ltb"]);
  352. minimum_transition_curve_length.setText(iniConf["minimum_transition_curve_length"]);
  353. minimum_clip_line_length.setText(iniConf["minimum_clip_line_length"]);
  354. minimum_radius_of_convex_vertical_curve.setText(iniConf["minimum_radius_of_convex_vertical_curve"]);
  355. minimum_radius_of_concave_vertical_curve.setText(iniConf["minimum_radius_of_concave_vertical_curve"]);
  356. minimum_length_of_vertical_curve.setText(iniConf["minimum_length_of_vertical_curve"]);
  357. if("1" == iniConf["horizontal_containing_vertical"])
  358. {
  359. horizontal_containing_vertical.setChecked(true);
  360. }
  361. else
  362. {
  363. horizontal_containing_vertical.setChecked(false);
  364. }
  365. };
  366. SetArguments.prototype.getStandardInfo = function(childName){
  367. var speedInfo = [];
  368. speedInfo["design_speed"] = this.iniFile.value("/" + childName + "/design_speed").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  369. speedInfo["minimum_curve_radius"] = this.iniFile.value("/" + childName + "/minimum_curve_radius").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  370. speedInfo["minimum_circular_length"] = this.iniFile.value("/" + childName + "/minimum_circular_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  371. speedInfo["minimal_longitudinal_length"] = this.iniFile.value("/" + childName + "/minimal_longitudinal_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  372. speedInfo["maximum_gradient"] = this.iniFile.value("/" + childName + "/maximum_gradient").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  373. speedInfo["maximum_slope_difference"] = this.iniFile.value("/" + childName + "/maximum_slope_difference").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  374. speedInfo["maximum_bridge_height"] = this.iniFile.value("/" + childName + "/maximum_bridge_height").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  375. speedInfo["maximum_tunnel_length"] = this.iniFile.value("/" + childName + "/maximum_tunnel_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  376. speedInfo["filling_height_lbb"] = this.iniFile.value("/" + childName + "/filling_height_lbb").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  377. speedInfo["digging_deep_ltb"] = this.iniFile.value("/" + childName + "/digging_deep_ltb").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  378. speedInfo["minimum_transition_curve_length"] = this.iniFile.value("/" + childName + "/minimum_transition_curve_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  379. speedInfo["minimum_clip_line_length"] = this.iniFile.value("/" + childName + "/minimum_clip_line_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  380. speedInfo["minimum_radius_of_convex_vertical_curve"] = this.iniFile.value("/" + childName + "/minimum_radius_of_convex_vertical_curve").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  381. speedInfo["minimum_radius_of_concave_vertical_curve"] = this.iniFile.value("/" + childName + "/minimum_radius_of_concave_vertical_curve").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  382. speedInfo["minimum_length_of_vertical_curve"] = this.iniFile.value("/" + childName + "/minimum_length_of_vertical_curve").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  383. speedInfo["horizontal_containing_vertical"] = this.iniFile.value("/" + childName + "/horizontal_containing_vertical").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
  384. return speedInfo;
  385. };