mg-pso-gui 0.1.237__py3-none-any.whl → 0.1.239__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mg_pso_gui-0.1.237.dist-info → mg_pso_gui-0.1.239.dist-info}/METADATA +1 -1
- {mg_pso_gui-0.1.237.dist-info → mg_pso_gui-0.1.239.dist-info}/RECORD +11 -10
- mgpsogui/gui/OptionManager.py +24 -0
- mgpsogui/gui/PlatformTab/PlatformTab.py +11 -2
- mgpsogui/gui/PlatformTab/ServiceParametersView.py +64 -0
- mgpsogui/gui/SetupTab/OptimalParameterView.py +2 -2
- mgpsogui/gui/SetupTab/SetupTab.py +9 -9
- mgpsogui/gui/SetupTab/StepView.py +1 -40
- {mg_pso_gui-0.1.237.dist-info → mg_pso_gui-0.1.239.dist-info}/WHEEL +0 -0
- {mg_pso_gui-0.1.237.dist-info → mg_pso_gui-0.1.239.dist-info}/entry_points.txt +0 -0
- {mg_pso_gui-0.1.237.dist-info → mg_pso_gui-0.1.239.dist-info}/top_level.txt +0 -0
@@ -2,9 +2,10 @@ mgpsogui/__init__.py,sha256=q7AfBjeJABnFtbsZnsObpUwaXKPDVYtz46G6MKXLF74,42
|
|
2
2
|
mgpsogui/mgpsogui.py,sha256=NIZmyNcbwC8EgSwf1ubdMUSJscrIEgoD4jLYziqHQ-k,148
|
3
3
|
mgpsogui/start.yaml,sha256=ZjCVLb-MLqAxrGRm9kA7_SDpa-45EuKIELNQ2QqCAiU,4713
|
4
4
|
mgpsogui/gui/HomePage.py,sha256=F0QIzkkM4cDvaFZq_Uy5cDFL6wb1-HV8AB44K-QqB4o,23227
|
5
|
-
mgpsogui/gui/OptionManager.py,sha256=
|
5
|
+
mgpsogui/gui/OptionManager.py,sha256=2Fckux8P8xrkPWmQtqi8pCOO1mvRc8IjfPjxmyoLLTM,17362
|
6
6
|
mgpsogui/gui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
|
-
mgpsogui/gui/PlatformTab/PlatformTab.py,sha256=
|
7
|
+
mgpsogui/gui/PlatformTab/PlatformTab.py,sha256=Uug0hUzwF7mpmnMOs6lXZMAN8AGoeV5VWtPBqYwUV0c,10897
|
8
|
+
mgpsogui/gui/PlatformTab/ServiceParametersView.py,sha256=0oWkRCUjqVNj4jhAqtczz_REef5MWZymWA-8JWBRl3E,2916
|
8
9
|
mgpsogui/gui/PlatformTab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
10
|
mgpsogui/gui/RunTab/RunTab.py,sha256=8FT7mdxNRQrftDuU0v4LoK1eyH8_RHwLOyM4dz8O_4A,1850
|
10
11
|
mgpsogui/gui/RunTab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -16,10 +17,10 @@ mgpsogui/gui/SetupTab/CustomFunctionMetrics.py,sha256=hAVZSJMgHEQYrFsgUUnil17pWM
|
|
16
17
|
mgpsogui/gui/SetupTab/FunctionsList.py,sha256=cMBv87GeRACiJ1DPxFrPvZJOZ3fK6FUVAeUaQCR9dn0,6375
|
17
18
|
mgpsogui/gui/SetupTab/ListEditor.py,sha256=vlP0KDPu8J1_6KXuUTlE7OClgfF0Qk6cISsFm_SglUw,3232
|
18
19
|
mgpsogui/gui/SetupTab/ListParametersView.py,sha256=wYcDcaooYkw-y7XW6dJUwhTWxLuUUOK5tGUFVHBf3ck,7352
|
19
|
-
mgpsogui/gui/SetupTab/OptimalParameterView.py,sha256=
|
20
|
-
mgpsogui/gui/SetupTab/SetupTab.py,sha256=
|
20
|
+
mgpsogui/gui/SetupTab/OptimalParameterView.py,sha256=H92S6ioJI2iTjFBspEzyDxluagCEgfFSW5AkqQFO-l8,1738
|
21
|
+
mgpsogui/gui/SetupTab/SetupTab.py,sha256=RuAn6inLUX12i6-4RmXkteIiGtxh27nYY34mFmbb3xs,2810
|
21
22
|
mgpsogui/gui/SetupTab/StaticParameterView.py,sha256=iEG-UpBBlAJabZo3MG768oLqOROjUPc23tKOSd47IUc,2739
|
22
|
-
mgpsogui/gui/SetupTab/StepView.py,sha256=
|
23
|
+
mgpsogui/gui/SetupTab/StepView.py,sha256=UQNLRxCEQQPvdW5UIT703TnmEfnjgchGIBFnCg4K3Zs,8557
|
23
24
|
mgpsogui/gui/SetupTab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
24
25
|
mgpsogui/gui/VisualizeTab/MatrixEditor.py,sha256=JPQmfljdddIwHtTKpFqUdk7hRzVdX-IKl4neOk3DsjM,3132
|
25
26
|
mgpsogui/gui/VisualizeTab/SideBar.py,sha256=MtZfDScNFN0fQ8DyPm6bZGJSrFRgT14fZeUq-qc61O8,21936
|
@@ -62,8 +63,8 @@ mgpsogui/util/recosu/utils/trace_writer.py,sha256=V9BJlOjCbNYGoXGEk3CF5wjifBxvar
|
|
62
63
|
mgpsogui/util/recosu/utils/utils.py,sha256=QB8vftq3142ekG0ORjz0ZBHU5YknXbR0oTsrxrPAsF0,3951
|
63
64
|
mgpsogui/util/recosu/utils/plot/__init__.py,sha256=h1KjM7_tNDv351pcwt8A6Ibb1jhwWyx5Gbu-zj-sI3Q,71
|
64
65
|
mgpsogui/util/recosu/utils/plot/cost_steps.py,sha256=1Ce11AJyweWkmvjXPxEygzS-h8yVLmQEDLS53yjPLqQ,3779
|
65
|
-
mg_pso_gui-0.1.
|
66
|
-
mg_pso_gui-0.1.
|
67
|
-
mg_pso_gui-0.1.
|
68
|
-
mg_pso_gui-0.1.
|
69
|
-
mg_pso_gui-0.1.
|
66
|
+
mg_pso_gui-0.1.239.dist-info/METADATA,sha256=6QhLxssfrs7PPVwYKXoyIyYyHGAsITbKdQ7kHgGkZdA,9456
|
67
|
+
mg_pso_gui-0.1.239.dist-info/WHEEL,sha256=cVxcB9AmuTcXqmwrtPhNK88dr7IR_b6qagTj0UvIEbY,91
|
68
|
+
mg_pso_gui-0.1.239.dist-info/entry_points.txt,sha256=jg82VOFjR1XDGrchs1wJSCqKYE4Ozv12aBcCSp--koA,117
|
69
|
+
mg_pso_gui-0.1.239.dist-info/top_level.txt,sha256=y7JuS9xJN5YdxUsQ3PSVjN8MzQAnR146bP3ZN3PYWdE,9
|
70
|
+
mg_pso_gui-0.1.239.dist-info/RECORD,,
|
mgpsogui/gui/OptionManager.py
CHANGED
@@ -15,6 +15,7 @@ class OptionManager():
|
|
15
15
|
"mode": sv(),
|
16
16
|
"files": {},
|
17
17
|
"calibration_parameters": [],
|
18
|
+
"service_parameters": [],
|
18
19
|
"figure_parameters": [],
|
19
20
|
"sensitivity_parameters": [],
|
20
21
|
"sensitivity_positiveBestMetrics": [],
|
@@ -35,6 +36,7 @@ class OptionManager():
|
|
35
36
|
self.arguments['mode'].set("Optimization")
|
36
37
|
self.arguments['files'] = {}
|
37
38
|
self.arguments['calibration_parameters'].clear()
|
39
|
+
self.arguments['service_parameters'].clear()
|
38
40
|
self.arguments['figure_parameters'].clear()
|
39
41
|
self.arguments['sensitivity_parameters'].clear()
|
40
42
|
self.arguments['sensitivity_positiveBestMetrics'].clear()
|
@@ -74,6 +76,14 @@ class OptionManager():
|
|
74
76
|
obj["name"].set(name)
|
75
77
|
obj["value"].set(value)
|
76
78
|
self.arguments["calibration_parameters"].append(obj)
|
79
|
+
|
80
|
+
for param in arguments["service_parameters"]:
|
81
|
+
name = param["name"]
|
82
|
+
value = param["value"]
|
83
|
+
obj = {"name": sv(), "value": sv()}
|
84
|
+
obj["name"].set(name)
|
85
|
+
obj["value"].set(value)
|
86
|
+
self.arguments["service_parameters"].append(obj)
|
77
87
|
|
78
88
|
def add_steps(self, steps):
|
79
89
|
for step in steps:
|
@@ -233,6 +243,12 @@ class OptionManager():
|
|
233
243
|
obj["value"].set(value)
|
234
244
|
self.arguments["calibration_parameters"].append(obj)
|
235
245
|
|
246
|
+
def add_service_param(self, key, value):
|
247
|
+
obj = {"name": sv(), "value": sv()}
|
248
|
+
obj["name"].set(key)
|
249
|
+
obj["value"].set(value)
|
250
|
+
self.arguments["service_parameters"].append(obj)
|
251
|
+
|
236
252
|
def add_figure_param(self, key, value):
|
237
253
|
obj = {"name": sv(), "value": sv()}
|
238
254
|
obj["name"].set(key)
|
@@ -282,6 +298,9 @@ class OptionManager():
|
|
282
298
|
def remove_calibration_parameter(self, index):
|
283
299
|
self.arguments["calibration_parameters"].pop(index)
|
284
300
|
|
301
|
+
def remove_service_parameter(self, index):
|
302
|
+
self.arguments["service_parameters"].pop(index)
|
303
|
+
|
285
304
|
def remove_figure_parameter(self, index):
|
286
305
|
self.arguments["figure_parameters"].pop(index)
|
287
306
|
|
@@ -330,6 +349,7 @@ class OptionManager():
|
|
330
349
|
result = {}
|
331
350
|
result['arguments'] = {}
|
332
351
|
result['calibration_parameters'] = []
|
352
|
+
result['service_parameters'] = []
|
333
353
|
result['service_parameters'] = {}
|
334
354
|
result['project_data'] = self.project_data
|
335
355
|
for key, value in self.arguments.items():
|
@@ -347,6 +367,10 @@ class OptionManager():
|
|
347
367
|
#result['calibration_parameters'][key] = []
|
348
368
|
for obj in value:
|
349
369
|
result['calibration_parameters'].append({'name': obj['name'].get(), 'value': obj['value'].get()})
|
370
|
+
elif key == "service_parameters":
|
371
|
+
#result['service_parameters'][key] = []
|
372
|
+
for obj in value:
|
373
|
+
result['service_parameters'].append({'name': obj['name'].get(), 'value': obj['value'].get()})
|
350
374
|
result['steps'] = []
|
351
375
|
for step in self.steps:
|
352
376
|
step_result = {}
|
@@ -5,6 +5,8 @@ import subprocess
|
|
5
5
|
import customtkinter
|
6
6
|
import platform
|
7
7
|
|
8
|
+
from . import ServiceParametersView as spv
|
9
|
+
|
8
10
|
import tkinter as tk
|
9
11
|
|
10
12
|
def create_tab(self, tab):
|
@@ -114,6 +116,7 @@ def create_tab(self, tab):
|
|
114
116
|
|
115
117
|
tab.grid_columnconfigure(0, weight=1)
|
116
118
|
tab.grid_columnconfigure(1, weight=1)
|
119
|
+
tab.grid_columnconfigure(2, weight=1)
|
117
120
|
tab.grid_rowconfigure(0, weight=1)
|
118
121
|
|
119
122
|
"""
|
@@ -131,9 +134,15 @@ def create_tab(self, tab):
|
|
131
134
|
self.load_parameters.grid(row=0, column=2, padx=(20, 20), pady=(20, 20), sticky="nsew")
|
132
135
|
|
133
136
|
"""
|
137
|
+
|
138
|
+
self.service_param_frame = spv.ServiceParametersView(tab, option_manager=self.option_manager)
|
139
|
+
self.service_param_frame.grid(row=0, column=0, padx=(20, 20), pady=(20, 20), sticky="nsew")
|
140
|
+
self.service_param_frame.grid_columnconfigure(0, weight=1)
|
141
|
+
self.service_param_frame.grid_rowconfigure(0, weight=1)
|
142
|
+
|
134
143
|
|
135
144
|
self.service_editor = customtkinter.CTkScrollableFrame(tab, label_text="Service Editor")
|
136
|
-
self.service_editor.grid(row=0, column=
|
145
|
+
self.service_editor.grid(row=0, column=1, padx=(20, 20), pady=(20, 20), sticky="nsew")
|
137
146
|
self.service_editor.grid_columnconfigure(0, weight=1)
|
138
147
|
self.service_editor.grid_rowconfigure(0, weight=1)
|
139
148
|
|
@@ -162,7 +171,7 @@ def create_tab(self, tab):
|
|
162
171
|
self.service_details.grid(row=8, column=0, padx=(20, 20), pady=(5, 5), sticky="ew")
|
163
172
|
|
164
173
|
self.environment_editor = customtkinter.CTkScrollableFrame(tab, label_text="Environment Editor")
|
165
|
-
self.environment_editor.grid(row=0, column=
|
174
|
+
self.environment_editor.grid(row=0, column=2, padx=(20, 20), pady=(20, 20), sticky="nsew")
|
166
175
|
self.environment_editor.grid_columnconfigure(0, weight=1)
|
167
176
|
self.environment_editor.grid_rowconfigure(0, weight=1)
|
168
177
|
|
@@ -0,0 +1,64 @@
|
|
1
|
+
from customtkinter import CTkScrollableFrame
|
2
|
+
from customtkinter import CTkFrame
|
3
|
+
from customtkinter import CTkLabel
|
4
|
+
from customtkinter import CTkButton
|
5
|
+
from customtkinter import CTkEntry
|
6
|
+
import tkinter as tk
|
7
|
+
|
8
|
+
global option_manager
|
9
|
+
|
10
|
+
class ServiceParametersView(CTkScrollableFrame):
|
11
|
+
def __init__(self, *args,
|
12
|
+
option_manager: None,
|
13
|
+
**kwargs):
|
14
|
+
super().__init__(*args, **kwargs)
|
15
|
+
|
16
|
+
self.option_manager = option_manager
|
17
|
+
self.key_values = option_manager.get_arguments()['service_parameters']
|
18
|
+
self.edit_mode = False
|
19
|
+
|
20
|
+
self.render()
|
21
|
+
|
22
|
+
def clear(self):
|
23
|
+
self.containerFrame.destroy()
|
24
|
+
|
25
|
+
def toggle_edit_mode(self):
|
26
|
+
self.clear()
|
27
|
+
self.edit_mode = not self.edit_mode
|
28
|
+
self.render()
|
29
|
+
|
30
|
+
def render(self):
|
31
|
+
row = 0
|
32
|
+
index = 0
|
33
|
+
|
34
|
+
self.containerFrame = CTkFrame(self)
|
35
|
+
self.containerFrame.grid(row=0, column=0, padx=(5, 5), pady=(5, 5), sticky="nsew")
|
36
|
+
self.containerFrame.grid_columnconfigure((0, 1), weight=1)
|
37
|
+
|
38
|
+
CTkLabel(self.containerFrame, text="Service Parameters").grid(row=row, column=0, columnspan=2, padx=5, pady=5, sticky="")
|
39
|
+
row += 1
|
40
|
+
|
41
|
+
CTkLabel(self.containerFrame, text="Name:").grid(row=row, column=0, columnspan=1, padx=5, pady=5, sticky="")
|
42
|
+
CTkLabel(self.containerFrame, text="Value:").grid(row=row, column=1, columnspan=1, padx=5, pady=5, sticky="")
|
43
|
+
row += 1
|
44
|
+
|
45
|
+
for key_value_pair in self.key_values:
|
46
|
+
CTkEntry(self.containerFrame, textvariable=self.key_values[index]["name"]).grid(row=row, column=0, padx=(5, 5), pady=(5, 5), sticky="ew")
|
47
|
+
|
48
|
+
if self.edit_mode:
|
49
|
+
return_func = lambda index=index: (self.clear(), self.option_manager.remove_service_parameter(index), self.render())
|
50
|
+
CTkButton(self.containerFrame, text="Remove", command=return_func).grid(row=row, column=1, padx=(5, 5), pady=(5, 5), sticky="ew")
|
51
|
+
else:
|
52
|
+
bb = CTkEntry(self.containerFrame)
|
53
|
+
bb.grid(row=row, column=1, padx=(5, 5), pady=(5, 5), sticky="ew")
|
54
|
+
bb.configure(textvariable=self.key_values[index]["value"])
|
55
|
+
row += 1
|
56
|
+
index += 1
|
57
|
+
|
58
|
+
if self.edit_mode:
|
59
|
+
CTkButton(self.containerFrame, text="Exit", command=self.toggle_edit_mode).grid(row=row, column=0, padx=(5, 5), pady=(5, 5), sticky="ew")
|
60
|
+
else:
|
61
|
+
CTkButton(self.containerFrame, text="Edit", command=self.toggle_edit_mode).grid(row=row, column=0, padx=(5, 5), pady=(5, 5), sticky="ew")
|
62
|
+
|
63
|
+
add_key_func = lambda: (self.clear(), self.option_manager.add_service_param("name", "value"), self.render())
|
64
|
+
CTkButton(self.containerFrame, text="Add Parameter", command=add_key_func).grid(row=row, column=1, padx=(5, 5), pady=(5, 5), sticky="ew")
|
@@ -32,7 +32,7 @@ class OptimalParameterView(CTkScrollableFrame):
|
|
32
32
|
|
33
33
|
for step in self.steps:
|
34
34
|
|
35
|
-
if self.mode != "Sampling
|
35
|
+
if self.mode != "Sampling":
|
36
36
|
name = step['name'].get()
|
37
37
|
CTkLabel(self.containerFrame, text=name).grid(row=row, column=0, columnspan=1, padx=5, pady=5, sticky="")
|
38
38
|
row += 1
|
@@ -45,5 +45,5 @@ class OptimalParameterView(CTkScrollableFrame):
|
|
45
45
|
bb.configure(textvariable=param['optimal_value'])
|
46
46
|
row += 1
|
47
47
|
|
48
|
-
if self.mode
|
48
|
+
if self.mode != "Optimization":
|
49
49
|
break
|
@@ -27,12 +27,12 @@ def create_tab(self, tab):
|
|
27
27
|
self.paramtabview = customtkinter.CTkTabview(tab, bg_color="transparent", fg_color="transparent")
|
28
28
|
self.paramtabview.grid(row=0, column=1, padx=(0, 0), pady=(10, 10), sticky="nsew")
|
29
29
|
|
30
|
-
tab1 = "
|
30
|
+
tab1 = "Model Parameters"
|
31
31
|
tab2 = "Hyperparameters"
|
32
|
-
tab3 = "Optimal"
|
32
|
+
#tab3 = "Optimal"
|
33
33
|
self.paramtabview.add(tab1)
|
34
34
|
self.paramtabview.add(tab2)
|
35
|
-
self.paramtabview.add(tab3)
|
35
|
+
#self.paramtabview.add(tab3)
|
36
36
|
|
37
37
|
self.paramtabview.tab(tab1).grid_columnconfigure(0, weight=1)
|
38
38
|
self.paramtabview.tab(tab1).grid_rowconfigure(0, weight=1)
|
@@ -40,8 +40,8 @@ def create_tab(self, tab):
|
|
40
40
|
self.paramtabview.tab(tab2).grid_columnconfigure(0, weight=1)
|
41
41
|
self.paramtabview.tab(tab2).grid_rowconfigure(0, weight=1)
|
42
42
|
|
43
|
-
self.paramtabview.tab(tab3).grid_columnconfigure(0, weight=1)
|
44
|
-
self.paramtabview.tab(tab3).grid_rowconfigure(0, weight=1)
|
43
|
+
#self.paramtabview.tab(tab3).grid_columnconfigure(0, weight=1)
|
44
|
+
#self.paramtabview.tab(tab3).grid_rowconfigure(0, weight=1)
|
45
45
|
|
46
46
|
self.static_param_frame = spv.StaticParameterView(self.paramtabview.tab(tab1), option_manager=self.option_manager)
|
47
47
|
self.static_param_frame.grid(row=0, column=0, padx=(10, 10), pady=(10, 0), sticky="nsew")
|
@@ -53,10 +53,10 @@ def create_tab(self, tab):
|
|
53
53
|
self.calib_param_frame.grid_columnconfigure(0, weight=1)
|
54
54
|
self.calib_param_frame.grid_rowconfigure(0, weight=1)
|
55
55
|
|
56
|
-
self.optimal_param_frame = opv.OptimalParameterView(self.paramtabview.tab(tab3), option_manager=self.option_manager)
|
57
|
-
self.optimal_param_frame.grid(row=0, column=0, padx=(10, 10), pady=(10, 0), sticky="nsew")
|
58
|
-
self.optimal_param_frame.grid_columnconfigure(0, weight=1)
|
59
|
-
self.optimal_param_frame.grid_rowconfigure(0, weight=1)
|
56
|
+
#self.optimal_param_frame = opv.OptimalParameterView(self.paramtabview.tab(tab3), option_manager=self.option_manager)
|
57
|
+
#self.optimal_param_frame.grid(row=0, column=0, padx=(10, 10), pady=(10, 0), sticky="nsew")
|
58
|
+
#self.optimal_param_frame.grid_columnconfigure(0, weight=1)
|
59
|
+
#self.optimal_param_frame.grid_rowconfigure(0, weight=1)
|
60
60
|
|
61
61
|
self.steps_frame = sv.StepView(tab, label_text="Group Editor", option_manager=self.option_manager, home_page=self)
|
62
62
|
self.steps_frame.grid(row=0, column=0, padx=(10, 10), pady=(10, 0), sticky="nsew")
|
@@ -157,7 +157,7 @@ class StepView(CTkScrollableFrame):
|
|
157
157
|
|
158
158
|
row += 1
|
159
159
|
|
160
|
-
if step['open'] or (self.mode == "Sampling"or self.mode == "Sensitivity Analysis"):
|
160
|
+
if step['open'] or (self.mode == "Sampling" or self.mode == "Sensitivity Analysis"):
|
161
161
|
bounds = BoundsList.BoundsList(
|
162
162
|
self.containerFrame, option_manager=self.option_manager, step_index=index)
|
163
163
|
bounds.grid(row=row, column=0, padx=(10, 10),
|
@@ -183,42 +183,3 @@ class StepView(CTkScrollableFrame):
|
|
183
183
|
CTkButton(self.containerFrame, text="Add Group", command=self.create_new_step).grid(
|
184
184
|
row=row, columnspan=2, column=0, padx=(10, 10), pady=(10, 10), sticky="ew")
|
185
185
|
|
186
|
-
"""
|
187
|
-
if (self.mode == "Sampling: Halton" or self.mode == "Sampling: Random" or self.mode == "Sensitivity Analysis"):
|
188
|
-
self.analysisFrame = CTkFrame(self)
|
189
|
-
self.analysisFrame.grid(row=2, column=0, columnspan=2, padx=(10, 10), pady=(10, 10), sticky="nsew")
|
190
|
-
self.analysisFrame.grid_columnconfigure((0, 1, 2), weight=1)
|
191
|
-
|
192
|
-
columns = ["n1", "n2", "n3", "n4", "n5", "n6", "n7", "n8", "n9", "n10"]
|
193
|
-
|
194
|
-
self.params_editor = ListEditor.ListEditor(self.analysisFrame, option_manager=self.option_manager,
|
195
|
-
title="Parameters",
|
196
|
-
columns=columns,
|
197
|
-
parameter_name="sensitivity_parameters",
|
198
|
-
parameter_remove_func=self.option_manager.remove_sensitivity_parameter,
|
199
|
-
parameter_add_func=self.option_manager.add_sensitivity_param)
|
200
|
-
self.params_editor.grid(row=0, column=0, padx=(10, 10), pady=(10, 0), sticky="nsew")
|
201
|
-
self.params_editor.grid_columnconfigure(0, weight=1)
|
202
|
-
self.params_editor.grid_rowconfigure(0, weight=1)
|
203
|
-
|
204
|
-
|
205
|
-
self.positive_editor = ListEditor.ListEditor(self.analysisFrame, option_manager=self.option_manager,
|
206
|
-
title="Positive Best Metrics",
|
207
|
-
columns=columns,
|
208
|
-
parameter_name="sensitivity_positiveBestMetrics",
|
209
|
-
parameter_remove_func=self.option_manager.remove_sensitivity_positiveBestMetrics,
|
210
|
-
parameter_add_func=self.option_manager.add_sensitivity_positiveBestMetrics)
|
211
|
-
self.positive_editor.grid(row=0, column=1, padx=(10, 10), pady=(10, 0), sticky="nsew")
|
212
|
-
self.positive_editor.grid_columnconfigure(0, weight=1)
|
213
|
-
self.positive_editor.grid_rowconfigure(0, weight=1)
|
214
|
-
|
215
|
-
self.negative_editor = ListEditor.ListEditor(self.analysisFrame, option_manager=self.option_manager,
|
216
|
-
title = "Zero Best Metrics",
|
217
|
-
columns=columns,
|
218
|
-
parameter_name="sensitivity_negativeBestMetrics",
|
219
|
-
parameter_remove_func=self.option_manager.remove_sensitivity_negativeBestMetrics,
|
220
|
-
parameter_add_func=self.option_manager.add_sensitivity_negativeBestMetrics)
|
221
|
-
self.negative_editor.grid(row=0, column=2, padx=(10, 10), pady=(10, 0), sticky="nsew")
|
222
|
-
self.negative_editor.grid_columnconfigure(0, weight=1)
|
223
|
-
self.negative_editor.grid_rowconfigure(0, weight=1)
|
224
|
-
"""
|
File without changes
|
File without changes
|
File without changes
|