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)
示例#2
0
  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)
示例#5
0
 def handle_model_select(self, event):
   print 'modelselect'
   model = utils.event_data_retrieve(event.state)
   self.switch_model(model)