'This gets called when the model for available attributes changes
through either drag/drop or the left/right button actions.'

def update_completer_model(self, *_):

    vars = list(self.available_attrs)
    items = [var.name for var in vars]
    items += [('%s=%s' % item) for v in vars for item in v.attributes.items()]
    new = sorted(set(items))
    if (new != self.original_completer_items):
        self.original_completer_items = new
        self.completer_model.setStringList(self.original_completer_items)
