def handle_model_event(self, event): event_data = utils.event_data_retrieve(event.state) if event_data != None: if self.model != event_data['model']: return dirty_gridcoords = event_data['dirty_gridcoords'] else: dirty_gridcoords = set(self.points_iterator()) | set(self.model.points_iterator()) print 'modelevent', repr(self) self.points -= set(filter(lambda gc: not self.model.has_particle(gc), dirty_gridcoords)) self.points |= set(filter(lambda gc: self.model.has_particle(gc), dirty_gridcoords)) self.add_particles_at(dirty_gridcoords) dirty_particles = [self.get_particle_at(gc) for gc in dirty_gridcoords if self.point_drawn(gc)] print 'updating', len(dirty_particles), 'dirty particles of', len(dirty_gridcoords), 'dirty gridcoords' self.mark_dirty(dirty_particles) self.canvas.update_layer(self)
def handle_brush_event(self, event): # brush = self.get_brush() brush = utils.event_data_retrieve(event.state) if brush.particle_specs == None: self.part_name_entry['state'] = tk.DISABLED self.part_color_entry['state'] = tk.DISABLED else: self.part_name_entry['state'] = tk.NORMAL self.part_color_entry['state'] = tk.NORMAL self.part_name_var.set(brush.particle_specs.name) self.part_color_var.set(brush.particle_specs.color) print brush.particle_specs.color if brush.body_specs == None: self.body_color_entry['state'] = tk.DISABLED else: self.body_color_entry['state'] = tk.NORMAL self.body_color_var.set(brush.body_specs.color)
def handle_clipboard_event(self, event): print 'clipboard' self.clipboard_data = utils.event_data_retrieve(event.state)
def handle_brush_event(self, event): self.brush = utils.event_data_retrieve(event.state)
def handle_model_select(self, event): print 'modelselect' model = utils.event_data_retrieve(event.state) self.switch_model(model)