Skip to content
Snippets Groups Projects
Commit 70836c87 authored by Paul McCarthy's avatar Paul McCarthy
Browse files

Save button on image list widget

parent de42b790
No related branches found
No related tags found
No related merge requests found
...@@ -35,23 +35,33 @@ class ListItemWidget(wx.Panel): ...@@ -35,23 +35,33 @@ class ListItemWidget(wx.Panel):
self.listBox = listBox self.listBox = listBox
self.name = '{}_{}'.format(self.__class__.__name__, id(self)) self.name = '{}_{}'.format(self.__class__.__name__, id(self))
self.saveButton = wx.Button(self, label='S', style=wx.BU_EXACTFIT)
self.visibility = props.makeWidget(self, display, 'enabled') self.visibility = props.makeWidget(self, display, 'enabled')
self.sizer = wx.BoxSizer(wx.HORIZONTAL) self.sizer = wx.BoxSizer(wx.HORIZONTAL)
self.SetSizer(self.sizer) self.SetSizer(self.sizer)
self.sizer.Add(self.saveButton, flag=wx.EXPAND, proportion=1)
self.sizer.Add(self.visibility, flag=wx.EXPAND, proportion=1) self.sizer.Add(self.visibility, flag=wx.EXPAND, proportion=1)
self.display.addListener('enabled', self.name, self._vizChanged) self.display.addListener('enabled', self.name, self._vizChanged)
self.image .addListener('saved', self.name, self._saveStateChanged) self.image .addListener('saved', self.name, self._saveStateChanged)
self.saveButton.Bind(wx.EVT_BUTTON, self._onSaveButton)
self.Bind(wx.EVT_WINDOW_DESTROY, self._onDestroy) self.Bind(wx.EVT_WINDOW_DESTROY, self._onDestroy)
self._vizChanged() self._vizChanged()
self._saveStateChanged() self._saveStateChanged()
def _onSaveButton(self, ev):
self.image.save()
def _onDestroy(self, ev): def _onDestroy(self, ev):
ev.Skip() ev.Skip()
self.display.removeListener('enabled', self.name) self.display.removeListener('enabled', self.name)
...@@ -61,6 +71,8 @@ class ListItemWidget(wx.Panel): ...@@ -61,6 +71,8 @@ class ListItemWidget(wx.Panel):
def _saveStateChanged(self, *a): def _saveStateChanged(self, *a):
idx = self.listBox.IndexOf(self.image) idx = self.listBox.IndexOf(self.image)
self.saveButton.Enable(not self.image.saved)
if self.image.saved: if self.image.saved:
self.listBox.SetItemBackgroundColour(idx) self.listBox.SetItemBackgroundColour(idx)
else: else:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment