1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 """Module containing the software GUI element for listing the software used in the analysis."""
26
27
28 from graphics import fetch_icon
29
30
31 from gui.components.base_list import Base_list
32 from gui.string_conv import str_to_gui
33 from gui.uf_objects import Uf_storage; uf_store = Uf_storage()
34
35
37 """The GUI element for listing the software used in the analysis."""
38
40 """Launch the bmrb.software user function.
41
42 @param event: The wx event.
43 @type event: wx event
44 """
45
46
47 uf_store['bmrb.software'](wx_parent=self.parent)
48
49
51 """Launch the bmrb.software_select user function.
52
53 @param event: The wx event.
54 @type event: wx event
55 """
56
57
58 uf_store['bmrb.software_select'](wx_parent=self.parent)
59
60
62 """Override the base variables."""
63
64
65 self.title = "Software"
66 self.observer_base_name = "software"
67 self.button_placement = 'bottom'
68
69
70 self.columns = [
71 "Program name"
72 ]
73
74
75 self.button_info = [
76 {
77 'object': 'button_add',
78 'label': ' Add',
79 'icon': fetch_icon('oxygen.actions.list-add-relax-blue', "22x22"),
80 'method': self.action_bmrb_software,
81 'tooltip': "Specify the software used in the analysis."
82 }, {
83 'object': 'button_select',
84 'label': ' Select',
85 'icon': fetch_icon('oxygen.actions.edit-select', "22x22"),
86 'method': self.action_bmrb_software_select,
87 'tooltip': "Select the software used in the analysis."
88 }
89 ]
90
91
93 """Method called from self.build_element_safe() to update the list data."""
94
95
96 n = 0
97 if hasattr(cdp, 'exp_info') and hasattr(cdp.exp_info, 'software'):
98 n = len(cdp.exp_info.software)
99 for i in range(n):
100
101 self.element.InsertStringItem(i, str_to_gui(cdp.exp_info.software[i].name))
102