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

def showEvent(self, event):
        """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"""
        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')