parameters: (self)
docstring: Perform the operation when the user presses
      the undo button on the editor interface.
      This pushes the current state onto the redoList and
      removes a volume from the undoList.
docstring_summary: Perform the operation when the user presses
      the undo button on the editor interface.
      This pushes the current state onto the redoList and
      removes a volume from the undoList.
docstring_tokens: Perform the operation when the user presses the undo button on the editor interface . This pushes the current state onto the redoList and removes a volume from the undoList .
function: def undo(self):
      """Perform the operation when the user presses
      the undo button on the editor interface.
      This pushes the current state onto the redoList and
      removes a volume from the undoList.
      """
      if self.undoList == []:
        return
      # store current state onto redoList
      self.redoList = self.storeVolume( self.redoList, EditUtil.getLabelVolume() )
      # get the checkPoint to restore and remove it from the list
      self.undoList[-1].restore()
      self.undoList = self.undoList[:-1]
      self.stateChangedCallback()
      for observer in self.undoObservers:
        observer()
function_tokens: def undo ( self ) : if self . undoList == [ ] : return # store current state onto redoList self . redoList = self . storeVolume ( self . redoList , EditUtil . getLabelVolume ( ) ) # get the checkPoint to restore and remove it from the list self . undoList [ - 1 ] . restore ( ) self . undoList = self . undoList [ : - 1 ] self . stateChangedCallback ( ) for observer in self . undoObservers : observer ( )