code: def showEvent(self, event):
          
          selected = self.paramList.selectedIndexes()
          model = self.paramList.model()
  
          self.visibilityChanged.emit(1)
          if len(selected) > 0:
              # select the correct components in the StimulusView
              self.paramList.parameterChanged.emit(model.selection(selected[0]))
              self.hintRequested.emit('Select parameter to edit. \n\nParameter must have selected components in order to edit fields')
          elif model.rowCount() > 0:
              # just select first item
              self.paramList.selectRow(0)
              self.paramList.parameterChanged.emit(model.selection(model.index(0,0)))
              self.hintRequested.emit('Select parameter to edit. \n\nParameter must have selected components in order to edit fields')
          else:
              model.emptied.emit(True)
              self.hintRequested.emit('To add a parameter, Drag "Add" onto empty auto-parameter table')
docs: When this widget is shown it has an effect of putting
          other widgets in the parent widget into different editing modes, emits
          signal to notify other widgets. Restores the previous selection the last
          time this widget was visible