Changeset 57b48ab in sasview for src/sas/sasgui
- Timestamp:
- Sep 1, 2017 4:49:29 AM (7 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, magnetic_scatt, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 6f9abd3
- Parents:
- f1495ff
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sasgui/perspectives/calculator/model_editor.py
rf1495ff r57b48ab 496 496 if operator == '*': 497 497 name = 'Multi' 498 factor = ' background'498 factor = 'BackGround' 499 499 f_oper = '+' 500 500 else: … … 535 535 if description == '': 536 536 description = name1 + self._operator + name2 537 operator_text = self._operator_choice.GetValue()538 if '+' in operator_text:537 text = self._operator_choice.GetValue() 538 if text.count('+') > 0: 539 539 factor = 'scale_factor' 540 540 f_oper = '*' 541 541 default_val = '1.0' 542 542 else: 543 factor = ' background'543 factor = 'BackGround' 544 544 f_oper = '+' 545 545 default_val = '0.0' … … 549 549 except: 550 550 raise 551 output = SUM_TEMPLATE.format(model1=name1, model2=name2, 552 scale_factor_default=default_val, factor_operator=f_oper, 553 operator=self._operator, description=description) 554 output = output.replace("scale_factor", factor) 555 out_f.write(output + "\n") 551 lines = SUM_TEMPLATE.split('\n') 552 for line in lines: 553 try: 554 if line.count("scale_factor"): 555 line = line.replace('scale_factor', factor) 556 #print "scale_factor", line 557 if line.count("= %s"): 558 out_f.write(line % (default_val) + "\n") 559 elif line.count("import Model as P1"): 560 if self.is_p1_custom: 561 line = line.replace('#', '') 562 out_f.write(line % name1 + "\n") 563 else: 564 out_f.write(line + "\n") 565 elif line.count("import %s as P1"): 566 if not self.is_p1_custom: 567 line = line.replace('#', '') 568 out_f.write(line % (name1) + "\n") 569 else: 570 out_f.write(line + "\n") 571 elif line.count("import Model as P2"): 572 if self.is_p2_custom: 573 line = line.replace('#', '') 574 out_f.write(line % name2 + "\n") 575 else: 576 out_f.write(line + "\n") 577 elif line.count("import %s as P2"): 578 if not self.is_p2_custom: 579 line = line.replace('#', '') 580 out_f.write(line % (name2) + "\n") 581 else: 582 out_f.write(line + "\n") 583 elif line.count("P1 = find_model"): 584 out_f.write(line % (name1) + "\n") 585 elif line.count("P2 = find_model"): 586 out_f.write(line % (name2) + "\n") 587 588 elif line.count("self.description = '%s'"): 589 out_f.write(line % description + "\n") 590 #elif line.count("run") and line.count("%s"): 591 # out_f.write(line % self._operator + "\n") 592 #elif line.count("evalDistribution") and line.count("%s"): 593 # out_f.write(line % self._operator + "\n") 594 elif line.count("return") and line.count("%s") == 2: 595 #print "line return", line 596 out_f.write(line % (f_oper, self._operator) + "\n") 597 elif line.count("out2")and line.count("%s"): 598 out_f.write(line % self._operator + "\n") 599 else: 600 out_f.write(line + "\n") 601 except: 602 raise 556 603 out_f.close() 604 #else: 605 # msg = "Name exists already." 557 606 558 607 def compile_file(self, path): … … 1245 1294 def __init__(self, multiplicity=1): 1246 1295 Model1DPlugin.__init__(self, name='') 1247 P1 = find_model(' {model1}')1248 P2 = find_model(' {model2}')1296 P1 = find_model('%s') 1297 P2 = find_model('%s') 1249 1298 p_model1 = P1() 1250 1299 p_model2 = P2() 1251 1300 ## Setting model name model description 1252 self.description = ' {description}'1301 self.description = '%s' 1253 1302 if self.name.rstrip().lstrip() == '': 1254 1303 self.name = self._get_name(p_model1.name, p_model2.name) … … 1262 1311 1263 1312 ## Parameter details [units, min, max] 1264 self.details = { {}}1313 self.details = {} 1265 1314 ## Magnetic Panrameters 1266 1315 self.magnetic_params = [] … … 1279 1328 self._set_params() 1280 1329 ## New parameter:scaling_factor 1281 self.params['scale_factor'] = {scale_factor_default}1330 self.params['scale_factor'] = %s 1282 1331 1283 1332 ## Parameter details [units, min, max] … … 1489 1538 def run(self, x = 0.0): 1490 1539 self._set_scale_factor() 1491 return self.params['scale_factor'] {factor_operator}\1492 (self.p_model1.run(x) {operator}self.p_model2.run(x))1540 return self.params['scale_factor'] %s \ 1541 (self.p_model1.run(x) %s self.p_model2.run(x)) 1493 1542 1494 1543 def runXY(self, x = 0.0): 1495 1544 self._set_scale_factor() 1496 return self.params['scale_factor'] {factor_operator}\1497 (self.p_model1.runXY(x) {operator}self.p_model2.runXY(x))1545 return self.params['scale_factor'] %s \ 1546 (self.p_model1.runXY(x) %s self.p_model2.runXY(x)) 1498 1547 1499 1548 ## Now (May27,10) directly uses the model eval function … … 1501 1550 def evalDistribution(self, x = []): 1502 1551 self._set_scale_factor() 1503 return self.params['scale_factor'] {factor_operator}\1504 (self.p_model1.evalDistribution(x) {operator}\1552 return self.params['scale_factor'] %s \ 1553 (self.p_model1.evalDistribution(x) %s \ 1505 1554 self.p_model2.evalDistribution(x)) 1506 1555 … … 1540 1589 #m2.p_model2.setParam("scale", 100) 1541 1590 #m2.p_model2.setParam("rg", 100) 1542 out2 = m2.p_model1.runXY(0.01) {operator}m2.p_model2.runXY(0.01)\n1591 out2 = m2.p_model1.runXY(0.01) %s m2.p_model2.runXY(0.01)\n 1543 1592 print "My name is %s."% m1.name 1544 1593 print out1, " = ", out2
Note: See TracChangeset
for help on using the changeset viewer.