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 from os import F_OK, access, path, sep
26 import sys
27 import wx
28
29
30 from data import Relax_data_store; ds = Relax_data_store()
31 from status import Status; status = Status()
32
33
34 from gui.filedialog import RelaxFileDialog
35 from gui.fonts import font
36 from gui.icons import relax_icons
37 from gui.message import error_message
38 from gui.misc import gui_to_int, int_to_gui
39 from gui import paths
40 from gui.wizard import Wiz_page
41
42
44 """GUI element for loading the sequence file."""
45
46
47 dialog = RelaxFileDialog(parent=self, message='Select a sequence file', style=wx.FD_OPEN)
48
49
50 if status.show_gui and dialog.ShowModal() != wx.ID_OK:
51
52 return
53
54
55 seqfile = dialog.get_file()
56
57
58 if not access(seqfile, F_OK):
59 error_message("The file '%s' does not exist." % seqfile)
60 return None
61
62
63 if path.isdir(seqfile):
64 error_message("The selection '%s' is a directory, not a file." % seqfile)
65 return None
66
67
68 return seqfile
69
70
71
73 """Base class for the settings windows."""
74
75
76 SIZE = (600, 600)
77
78
79 BORDER = 10
80
81
82 SIZE_BUTTON = (100, 33)
83
84 - def __init__(self, parent=None, id=-1, title='', heading='', style=wx.DEFAULT_FRAME_STYLE):
85 """Set up the window."""
86
87
88 wx.Dialog.__init__(self, parent, id=id, title=title, style=style)
89
90
91 self.SetIcons(relax_icons)
92
93
94 self.main_sizer = self.build_frame()
95
96
97 text = wx.StaticText(self, -1, heading)
98 text.SetFont(wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.BOLD, 0, ""))
99 self.main_sizer.Add(text, 0, wx.ALIGN_CENTER_HORIZONTAL, 5)
100 self.main_sizer.AddStretchSpacer()
101
102
103 bmp = wx.StaticBitmap(self, -1, wx.Bitmap(paths.IMAGE_PATH+'relax.gif', wx.BITMAP_TYPE_ANY))
104 self.main_sizer.Add(bmp, 0, wx.ALIGN_CENTER_HORIZONTAL, 5)
105 self.main_sizer.AddStretchSpacer()
106
107
108 self.add_centre(self.main_sizer)
109
110
111 self.add_buttons(self.main_sizer)
112
113
114 self.SetSize(self.SIZE)
115 self.SetMinSize(self.SIZE)
116
117
118 self.Center()
119
120
163
164
166 """Dummy base class method for adding the centre of the settings window.
167
168 @param sizer: A sizer object.
169 @type sizer: wx.Sizer instance
170 """
171
172
174 """Create the main part of the frame, returning the central sizer."""
175
176
177 sizer1 = wx.BoxSizer(wx.HORIZONTAL)
178 sizer2 = wx.BoxSizer(wx.VERTICAL)
179 central_sizer = wx.BoxSizer(wx.VERTICAL)
180
181
182 sizer1.AddSpacer(self.BORDER)
183 sizer1.Add(sizer2, 1, wx.EXPAND|wx.ALL, 0)
184 sizer1.AddSpacer(self.BORDER)
185
186
187 sizer2.AddSpacer(self.BORDER)
188 sizer2.Add(central_sizer, 1, wx.EXPAND|wx.ALL, 0)
189 sizer2.AddSpacer(self.BORDER)
190
191
192 self.SetSizer(sizer1)
193
194
195 return central_sizer
196
197
198 - def save(self, event):
199 """Dummy base class save method.
200
201 @param event: The wx event.
202 @type event: wx event
203 """
204
205
206 self.Destroy()
207
208
210 """Close the window.
211
212 @param event: The wx event.
213 @type event: wx event
214 """
215
216
217 self.Destroy()
218
219
220
275