Lines Matching refs:self

54     def __init__(self, model):
57 self.blobSize = Point(45.0, 45.0)
58 self.pitch = Point(60.0, 60.0)
59 self.origin = Point(50.0, 50.0)
62 self.thickLineWidth = 10.0
63 self.thinLineWidth = 4.0
64 self.midLineWidth = 6.0
67 self.masterScale = Point(1.0,1.0)
68 self.model = model
69 self.fillColour = colours.emptySlotColour
70 self.timeIndex = 0
71 self.time = 0
72 self.positions = []
73 self.controlbar = None
75 self.dataSelect = BlobDataSelect()
76 # Offset of this view's time from self.time used for miniviews
79 self.timeOffset = 0
81 self.initialHeight = 600.0
84 self.overlays = []
86 self.da = gtk.DrawingArea()
88 self.redraw()
89 self.da.connect('expose_event', draw)
92 self.blobIndent = (self.pitch - self.blobSize).scale(0.5)
93 self.blobIndentFactor = self.blobIndent / self.pitch
95 def add_control_bar(self, controlbar):
97 self.controlbar = controlbar
99 def draw_to_png(self, filename):
103 self.da.get_allocation().width,
104 self.da.get_allocation().height)
106 self.draw_to_cr(cr)
109 def draw_to_cr(self, cr):
112 cr.set_line_width(self.thickLineWidth)
115 cr.scale(*self.masterScale.to_pair())
116 cr.translate(*self.origin.to_pair())
121 for blob in self.model.blobs:
122 blob_event = self.model.find_unit_event_by_time(
123 blob.unit, self.time)
126 pos = blob.render(cr, self, blob_event, self.dataSelect,
127 self.time)
134 for overlay in self.overlays:
141 def redraw(self):
145 self.da.get_allocation().width,
146 self.da.get_allocation().height)
149 positions = self.draw_to_cr(cr)
154 self.positions = positions
157 dacr = self.da.window.cairo_create()
163 def set_time_index(self, time):
166 self.timeIndex = time + self.timeOffset
167 if len(self.model.times) != 0:
168 if self.timeIndex >= len(self.model.times):
169 self.time = self.model.times[len(self.model.times) - 1]
171 self.time = self.model.times[self.timeIndex]
173 self.time = 0
175 def get_pic_size(self):
178 return (self.origin + self.pitch *
179 (self.model.picSize + Point(1.0,1.0)))
181 def set_da_size(self):
183 self.da.set_size_request(10 , int(self.initialHeight))
187 def __init__(self, model, view,
189 self.model = model
190 self.view = view
191 self.playTimer = None
192 self.filenameEntry = gtk.Entry()
193 self.filenameEntry.set_text(defaultEventFile)
194 self.pictureEntry = gtk.Entry()
195 self.pictureEntry.set_text(defaultPictureFile)
196 self.timeEntry = None
197 self.defaultEventFile = defaultEventFile
198 self.startTime = None
199 self.endTime = None
201 self.otherViews = []
212 self.timeEntry = gtk.Entry()
228 self.view.dataSelect.ids = set("SPLFE")
230 self.bar = gtk.VBox()
231 self.bar.set_homogeneous(False)
234 (gtk.Button('Start'), 'clicked', self.time_start),
235 (gtk.Button('End'), 'clicked', self.time_end),
236 (gtk.Button('Back'), 'clicked', self.time_back),
237 (gtk.Button('Forward'), 'clicked', self.time_forward),
238 (gtk.Button('Play'), 'clicked', self.time_play),
239 (gtk.Button('Stop'), 'clicked', self.time_stop),
240 (self.timeEntry, 'activate', self.time_set),
242 (t, 'clicked', self.toggle_id('T')),
244 (s, 'clicked', self.toggle_id('S')),
246 (p, 'clicked', self.toggle_id('P')),
248 (l, 'clicked', self.toggle_id('L')),
250 (f, 'clicked', self.toggle_id('F')),
252 (e, 'clicked', self.toggle_id('E')),
253 (self.filenameEntry, 'activate', self.load_events),
254 (gtk.Button('Reload'), 'clicked', self.load_events)
257 self.bar.pack_start(row1, False, True, 0)
258 self.set_time_index(0)
260 def toggle_id(self, id):
264 self.view.dataSelect.ids.add(id)
266 self.view.dataSelect.ids.discard(id)
269 if len(self.view.dataSelect.ids) == 0:
270 self.view.dataSelect.ids.add(id)
272 self.view.redraw()
275 def set_time_index(self, time):
277 self.view.set_time_index(time)
279 for view in self.otherViews:
283 self.timeEntry.set_text(str(self.view.time))
285 def time_start(self, button):
287 self.set_time_index(0)
288 self.view.redraw()
290 def time_end(self, button):
292 self.set_time_index(len(self.model.times) - 1)
293 self.view.redraw()
295 def time_forward(self, button):
297 self.set_time_index(min(self.view.timeIndex + 1,
298 len(self.model.times) - 1))
299 self.view.redraw()
302 def time_back(self, button):
304 self.set_time_index(max(self.view.timeIndex - 1, 0))
305 self.view.redraw()
307 def time_set(self, entry):
310 newTime = self.model.find_time_index(int(entry.get_text()))
311 self.set_time_index(newTime)
312 self.view.redraw()
314 def time_step(self):
316 if not self.playTimer \
317 or self.view.timeIndex == len(self.model.times) - 1:
318 self.time_stop(None)
321 self.time_forward(None)
324 def time_play(self, play):
326 if not self.playTimer:
327 self.playTimer = gobject.timeout_add(100, self.time_step)
329 def time_stop(self, play):
331 if self.playTimer:
332 gobject.source_remove(self.playTimer)
333 self.playTimer = None
335 def load_events(self, button):
337 self.model.load_events(self.filenameEntry.get_text(),
338 startTime=self.startTime, endTime=self.endTime)
339 self.set_time_index(min(len(self.model.times) - 1,
340 self.view.timeIndex))
341 self.view.redraw()
345 def __init__(self, model, view, point, blob):
346 self.model = model
347 self.view = view
348 self.point = point
349 self.blob = blob
351 def find_event(self):
353 return self.model.find_unit_event_by_time(self.blob.unit,
354 self.view.time)
356 def show(self, cr):
358 event = self.find_event()
363 insts = event.find_ided_objects(self.model, self.blob.picChar,
366 cr.set_line_width(self.view.thinLineWidth)
367 cr.translate(*(Point(0.0,0.0) - self.view.origin).to_pair())
368 cr.scale(*(Point(1.0,1.0) / self.view.masterScale).to_pair())
396 text_point = self.point
402 blobs.speech_bubble(cr, self.point, size, text_size)
418 id_size, inst.id.to_striped_block(self.view.dataSelect))
434 def __init__(self, model, view, controller):
435 self.model = model
436 self.view = view
437 self.controller = controller
438 self.controlbar = None
439 self.window = None
440 self.miniViewCount = 0
442 def add_control_bar(self, controlbar):
443 self.controlbar = controlbar
445 def show_window(self):
446 self.window = gtk.Window()
448 self.vbox = gtk.VBox()
449 self.vbox.set_homogeneous(False)
450 if self.controlbar:
451 self.vbox.pack_start(self.controlbar, False, True, 0)
452 self.vbox.add(self.view.da)
454 if self.miniViewCount > 0:
455 self.miniViews = []
456 self.miniViewHBox = gtk.HBox(homogeneous=True, spacing=2)
459 for i in xrange(1, self.miniViewCount + 1):
460 miniView = BlobView(self.model)
465 self.miniViews.append(miniView)
466 self.miniViewHBox.pack_start(miniView.da, False, True, 0)
468 self.controller.otherViews = self.miniViews
469 self.vbox.add(self.miniViewHBox)
471 self.window.add(self.vbox)
475 'at time', self.view.time
483 objs = event.find_ided_objects(self.model, picChar, True)
491 for blob, centre, size in self.view.positions:
493 event = self.model.find_unit_event_by_time(blob.unit,
494 self.view.time)
497 overlay = Overlay(self.model, self.view, point,
501 self.view.overlays = [overlay]
503 self.view.overlays = []
505 self.view.redraw()
508 self.view.set_da_size()
509 self.view.da.add_events(gtk.gdk.BUTTON_PRESS_MASK)
510 self.view.da.connect('button-press-event', clicked_da)
511 self.window.connect('destroy', lambda(widget): gtk.main_quit())
516 proportion = size / self.view.get_pic_size()
519 self.view.masterScale = Point(daScale, daScale)
520 self.view.overlays = []
522 self.view.da.connect('configure-event', resize)
524 self.window.show_all()