3 """Note panel for Hooke.
\r
8 from ....util.callback import callback, in_callback
\r
12 class NotePanel (Panel, wx.Panel):
\r
13 def __init__(self, callbacks=None, **kwargs):
\r
14 super(NotePanel, self).__init__(
\r
15 name='note', callbacks=callbacks, **kwargs)
\r
18 'editor': wx.TextCtrl(
\r
20 style=wx.TE_MULTILINE),
\r
21 'update': wx.Button(
\r
23 label='Update note'),
\r
25 sizer = wx.BoxSizer(wx.VERTICAL)
\r
26 sizer.Add(self._c['editor'], 1, wx.EXPAND)
\r
27 sizer.Add(self._c['update'], 0, wx.EXPAND)
\r
28 self.SetSizer(sizer)
\r
29 self.SetAutoLayout(True)
\r
31 self.Bind(wx.EVT_BUTTON, self._on_update)
\r
33 def set_text(self, text):
\r
34 self._c['editor'].SetValue(text)
\r
36 def _on_update(self, event):
\r
37 text = self._c['editor'].GetValue()
\r
38 in_callback(self, text)
\r