'Create a button for the action and add it to the layout
at index.'

def __insertActionButton(self, index, action):

    self.__shiftGrid(index, 1)
    button = self.createButtonForAction(action)
    row = (index // self.__columns)
    column = (index % self.__columns)
    self.layout().addWidget(button, row, column, (Qt.AlignLeft | Qt.AlignTop))
    self.__gridSlots.insert(index, _ToolGridSlot(button, action, row, column))
    self.__mapper.setMapping(button, action)
    button.clicked.connect(self.__mapper.map)
    button.installEventFilter(self)
