'Called when any options are changed that are not
name, value, default, or limits'

def optsChanged(self, param, opts):

    ParameterItem.optsChanged(self, param, opts)
    if ('readonly' in opts):
        self.updateDefaultBtn()
        if isinstance(self.widget, (QtGui.QCheckBox, ColorButton)):
            self.widget.setEnabled((not opts['readonly']))
    if isinstance(self.widget, SpinBox):
        sbOpts = {}
        if (('units' in opts) and ('suffix' not in opts)):
            sbOpts['suffix'] = opts['units']
        for (k, v) in opts.items():
            if (k in self.widget.opts):
                sbOpts[k] = v
        self.widget.setOpts(**sbOpts)
        self.updateDisplayLabel()
