'Creates an :obj:`.OWButton` and adds it to the parent ``widget``.'

def tool_button(self, id, widget):

    (id, name, attr_name, attr_value, callback, icon_name) = self._expand_id(id)
    if (id == OWPlotGUI.Select):
        b = self.menu_button(self.Select, [self.SelectionOne, self.SelectionAdd, self.SelectionRemove, self.SelectionToggle], widget)
    else:
        b = OWButton(parent=widget)
        ac = OWAction(self._plot, icon_name, attr_name, attr_value, callback, parent=b)
        b.setDefaultAction(ac)
    b.setToolTip(name)
    if (widget.layout() is not None):
        widget.layout().addWidget(b)
    return b
