734bfaa8b1b1dae0ae2a0d9cc3c9b2ea8b841cbd
[hooke.git] / hooke / ui / gui / dialog / string.py
1 # Copyright
2
3 import wx
4
5
6 class StringPopup (wx.Dialog):
7     def __init__(self):
8         self._c = {
9             'text': wx.StaticText(
10                 parent=self, label=message, style=wx.ALIGN_CENTRE),
11             'button': wx.Button(parent=self, id=button_id),
12             'cancel': wx.Button(self, wx.ID_CANCEL),
13             }
14         size = wx.Size(175, 200)
15         if selection_style == 'single':
16             self._c['listbox'] = wx.ListBox(
17                 parent=self, size=size, list=options)
18             if default != None:
19                 self._c['listbox'].SetSelection(default)
20         else:
21             assert selection_style == 'multiple', selection_style
22             self._c['listbox'] = wx.CheckListBox(
23                 parent=self, size=size, list=options)
24             if default != None:
25                 self._c['listbox'].Check(default)
26         self.Bind(wx.EVT_BUTTON, self.button, self._c['button'])
27         self.Bind(wx.EVT_BUTTON, self.cancel, self._c['cancel'])
28
29         border_width = 5
30
31         b = wx.BoxSizer(wx.HORIZONTAL)
32         b.Add(window=self._c['button'],
33               flag=wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL,
34               border=border_width)
35         b.Add(window=self._c['cancel'],
36               flag=wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL,
37               border=border_width)
38
39         v = wx.BoxSizer(wx.VERTICAL)
40         v.Add(window=self._c['text'],
41               flag=wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL,
42               border=border_width)
43         v.Add(window=self._c['listbox'],
44               proportion=1,
45               flag=wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.ALL,
46               border=border_width)
47         v.Add(window=wx.StaticLine(
48                 parent=self, size=(20,-1), style=wx.LI_HORIZONTAL),
49               flag=wx.GROW,
50               border=border_width)
51         v.Add(window=b,
52               flag=wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALL,
53               border=border_width)
54         self.SetSizer(v)
55         v.Fit(self)