Exemple #1
0
    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