def select(self): self.canvas_pre = graphics.get_canvas() self.bg = tool.generate_line_selector() self.button_group = gui.ButtonGroup() buttons = [] def generate_side_function(n): def temporary_function(): self.sides = n return temporary_function def generate_poly_button(x, y, w, h, n): def poly_func(): theta = 0 y_offset = 0 if n == 3: y_offset = -5 if n % 2 == 1: theta = -math.pi/n/2 poly = draw._concat(draw._iter_ngon(x+w/2,y+h/2+y_offset,(w-10)/2,n,theta)) graphics.set_color(1,1,1,1) draw.polygon(poly) graphics.set_color(0,0,0,1) graphics.set_line_width(1) draw.line_loop(poly) return poly_func w, h = resources.SquareButton.width, resources.SquareButton.height for i in xrange(0,self.num_buttons): temporary_button = gui.Button(resources.SquareButton, generate_side_function(i+3), i*w+5, h+5, "", parent_group=self.button_group, more_draw = generate_poly_button(i*w+5, h+5, w, h, i+3)) buttons.append(temporary_button) tool.controlspace.add(temporary_button) buttons[0].select() buttons[0].action()
def select(self): self.painter_normal = NormalPainter() self.painter_noisy = NoisyPainter() self.painter_checker = CheckerPainter() self.painter_target = TargetPainter() self.painter_dot = DotPainter() self.painter = self.painter_normal self.bg = tool.generate_line_selector() self.button_group = gui.ButtonGroup() def painter_switch_function(painter): def temp_func(): self.painter.stop() self.painter = painter painter.__init__() painter.init() return temp_func images = [ resources.PaintBucket, resources.PaintBucket_noise, resources.PaintBucket_checker, resources.PaintBucket_target, resources.PaintBucket_dot ] painters = [ self.painter_normal, self.painter_noisy, self.painter_checker, self.painter_target, self.painter_dot ] buttons = [] for i in xrange(len(painters)): temp_button = gui.ImageButton( resources.SquareButton, painter_switch_function(painters[i]), 5+i*50, 55, image_2 = images[i], parent_group = self.button_group ) buttons.append(temp_button) tool.controlspace.add(temp_button) if painters[i] == self.painter: buttons[i].select() self.painter.init()
def select(self): self.canvas_pre = graphics.get_canvas() self.bg = tool.generate_line_selector()