Author: bugman Date: Fri Feb 21 13:49:13 2014 New Revision: 22235 URL: http://svn.gna.org/viewcvs/relax?rev=22235&view=rev Log: Added a 'Delete' button to the sequence input GUI window. This is to match the multiple file selection GUI window. The button allows the user to delete the last item from the list. So if 'Add' has been clicked too many times, the user does not have to start again from scratch by clicking on 'Delete all'. Modified: trunk/gui/input_elements/sequence.py Modified: trunk/gui/input_elements/sequence.py URL: http://svn.gna.org/viewcvs/relax/trunk/gui/input_elements/sequence.py?rev=22235&r1=22234&r2=22235&view=diff ============================================================================== --- trunk/gui/input_elements/sequence.py (original) +++ trunk/gui/input_elements/sequence.py Fri Feb 21 13:49:13 2014 @@ -429,7 +429,7 @@ """The Python sequence object editor window.""" # The window size. - SIZE = (600, 600) + SIZE = (800, 600) # A border. BORDER = 10 @@ -583,10 +583,22 @@ button = wx.lib.buttons.ThemedGenBitmapTextButton(self, -1, None, " Add") button.SetBitmapLabel(wx.Bitmap(fetch_icon('oxygen.actions.list-add-relax-blue', "22x22"), wx.BITMAP_TYPE_ANY)) button.SetFont(font.normal) - button.SetToolTipString("Add a row to the list.") + button.SetToolTipString("Add an item to the list.") button.SetMinSize(self.SIZE_BUTTON) button_sizer.Add(button, 0, wx.ADJUST_MINSIZE, 0) self.Bind(wx.EVT_BUTTON, self.append_row, button) + + # Spacer. + button_sizer.AddSpacer(20) + + # The delete button. + button = wx.lib.buttons.ThemedGenBitmapTextButton(self, -1, None, " Delete") + button.SetBitmapLabel(wx.Bitmap(fetch_icon('oxygen.actions.list-remove', "22x22"), wx.BITMAP_TYPE_ANY)) + button.SetFont(font.normal) + button.SetToolTipString("Delete the last item.") + button.SetMinSize(self.SIZE_BUTTON) + button_sizer.Add(button, 0, wx.ADJUST_MINSIZE, 0) + self.Bind(wx.EVT_BUTTON, self.delete, button) # Spacer. button_sizer.AddSpacer(20) @@ -667,6 +679,19 @@ self.Destroy() + def delete(self, event): + """Remove the last item from the list. + + @param event: The wx event. + @type event: wx event + """ + + # Delete the last item. + print self.sequence.GetItemCount() + item = self.sequence.GetItemCount() + self.sequence.DeleteItem(item-1) + + def delete_all(self, event): """Remove all items from the list.