1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import wx
20 import wx.lib.newevent
21
22
24
25 FilePathChangedEvent, EVT_FILE_PATH_CHANGED = wx.lib.newevent.NewEvent()
26
27 BORDER = 1
28
29 - def __init__(self, parent,
30 dialog_message=_("Choose file"),
31 dialog_dir="",
32 dialog_wildcard="*",
33 **kwargs):
34 wx.Panel.__init__(self, parent, **kwargs)
35 self._dialog_message = dialog_message
36 self._dialog_dir = dialog_dir
37 self._dialog_wildcard = dialog_wildcard
38 self._create_gui()
39
41 return self._path_text_field.GetValue()
42
44 self._create_path_text_field()
45 self._create_browse_button()
46 self._layout_components()
47
49 self._path_text_field = wx.TextCtrl(self)
50 self._path_text_field.Bind(wx.EVT_TEXT, self._on_path_text_changed)
51
53 wx.PostEvent(self, self.FilePathChangedEvent())
54
58
68
70 sizer = wx.BoxSizer(wx.HORIZONTAL)
71 sizer.Add(self._path_text_field,
72 proportion=1,
73 flag=wx.ALL|wx.ALIGN_CENTER_VERTICAL,
74 border=self.BORDER)
75 sizer.Add(self._browse_button,
76 proportion=0,
77 flag=wx.ALL|wx.ALIGN_CENTER_VERTICAL,
78 border=self.BORDER)
79 self.SetSizer(sizer)
80