def add_button(self): # Add a new color row # A color row contains a color ID and a numbers of repetitions, this will be used to create a color map # This object has 4 buttons: # v-> to paste from clipboard # x-> if self.nrows > 6: return idx = self.nrows r = self.rec self.axcolor.append(plt.axes(r)) self.axcolorid.append(self.axcolor[-1].text(0, .4, '#FFFFFF', color=(0, 0, 0, .6))) up = plt.axes([r[2], r[1] + r[3] - .02, .2 - r[2], .02]) b = Button(up, u'\u25B2', color='#009fb7', hovercolor='#2eb0c4') cid = b.on_clicked(lambda event: self.bup(idx)) self.up_buttons.append((up, b, cid)) down = plt.axes([r[2], r[1], .2 - r[2], .02]) b = Button(down, u'\u25BC', color='#009fb7', hovercolor='#2eb0c4') cid = b.on_clicked(lambda event: self.bdown(idx)) self.down_buttons.append((down, b, cid)) p = plt.axes([r[2], r[1] + .02, 0.02, .06]) b = Button(p, 'V', color='#8ac926', hovercolor='#b4dc74') cid = b.on_clicked(lambda event: self.paste(idx)) self.paste_butons.append((p, b, cid)) d = plt.axes([.2 - .02, r[1] + .02, .02, .06]) b = Button(d, 'X', color='#cd5334', hovercolor='#da816b') cid = b.on_clicked(lambda event: self.clear(idx)) self.clear_buttons.append((d, b, cid)) t = plt.axes([r[2] + .02, r[1] + .02, .2 - r[2] - .04, .06]) init_txt = '1' if not idx else '0' b = TextBox(t, '', initial=init_txt) cid = b.on_submit(lambda text: self.text_summit(idx, text)) self.t_box.append((t, b, cid)) self.col_anch.append(float(init_txt)) plt.draw() self.rec[1] -= .12 self.nrows += 1