def METHOD_NAME(self, widget,b=None):
    # b[0] is action button
    # b[1] is main button
    if widget == 'Add':
        # add a toolbar with button and controls
        self.addButton()
        # make window taller now
        x = self.w.geometry().x()
        y = self.w.geometry().y()
        w = self.w.geometry().width()
        h = self.w.geometry().height() + 37
        self.w.setGeometry(x,y,w,h)
        self.w.setMinimumHeight(h)
    elif widget == 'Checkable':
        b[1].setCheckable(b[0].isChecked())
        # kill existing signals - we need to change signal type
        b[1].disconnectSignals()
        # add new signals back
        b[1].connectSignals()
    elif widget == 'Color':
        # Get a color from the text dialog
        color = QColorDialog.getColor()
        b[1].setProperty('on_color',color)
    elif widget == 'HalMeter':
        EXTPROG.load_halmeter()
    elif widget == 'Led':
        EXTPROG.load_test_led()