1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 """The relaxation data user function GUI elements."""
25
26
27 from string import split
28
29
30 from generic_fns import pipes
31
32
33 from base import UF_base, UF_page
34 from gui.paths import WIZARD_IMAGE_PATH
35 from gui.misc import gui_to_float, gui_to_int, gui_to_str, str_to_gui
36
37
38
40 """The container class for holding all GUI elements."""
41
48
49
56
57
58
59 -class Relax_time_page(UF_page):
60 """The relax_fit.relax_time() user function page."""
61
62
63 uf_path = ['relax_fit', 'relax_time']
64
65 - def add_contents(self, sizer):
66 """Add the specific GUI elements.
67
68 @param sizer: A sizer object.
69 @type sizer: wx.Sizer instance
70 """
71
72
73 self.time = self.input_field(sizer, "The delay time:", tooltip=self.uf._doc_args_dict['time'])
74
75
76 self.spectrum_id = self.combo_box(sizer, "The spectrum ID:", tooltip=self.uf._doc_args_dict['spectrum_id'])
77
78
79 sizer.AddStretchSpacer()
80
81
82 - def on_execute(self):
83 """Execute the user function."""
84
85
86 time = gui_to_float(self.time.GetValue())
87
88
89 spectrum_id = gui_to_str(self.spectrum_id.GetValue())
90
91
92 self.execute('relax_fit.relax_time', time=time, spectrum_id=spectrum_id)
93
94
95 - def on_display(self):
96 """Clear previous data and update the spectrum ID list."""
97
98
99 self.spectrum_id.Clear()
100
101
102 if not hasattr(cdp, 'spectrum_ids'):
103 return
104
105
106 for i in range(len(cdp.spectrum_ids)):
107 self.spectrum_id.Append(str_to_gui(cdp.spectrum_ids[i]))
108
109
110
111 -class Select_model_page(UF_page):
112 """The relax_fit.select_model() user function page."""
113
114
115 uf_path = ['relax_fit', 'select_model']
116
117 - def add_contents(self, sizer):
118 """Add the specific GUI elements.
119
120 @param sizer: A sizer object.
121 @type sizer: wx.Sizer instance
122 """
123
124
125 self.model = self.combo_box(sizer, "The model:", choices=['exp', 'inv'], tooltip=self.uf._doc_args_dict['model'])
126 self.model.SetValue(str_to_gui('exp'))
127
128
129 sizer.AddStretchSpacer()
130
131
132 - def on_execute(self):
133 """Execute the user function."""
134
135
136 model = gui_to_str(self.model.GetValue())
137
138
139 self.execute('relax_fit.select_model', model=model)
140