diff options
author | Agustin Zubiaga <aguz@sugarlabs.org> | 2012-07-01 00:27:49 (GMT) |
---|---|---|
committer | Agustin Zubiaga <aguz@sugarlabs.org> | 2012-07-01 00:27:49 (GMT) |
commit | be51724eacc31f2bcabb9be9674ac66526c147c7 (patch) | |
tree | 665237109b01726028e7bb30b316e88575993b33 /activity.py | |
parent | 74be759f6126fd0950663cd61735a67b8ec2f310 (diff) |
Show X and Y pos
Diffstat (limited to 'activity.py')
-rw-r--r-- | activity.py | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/activity.py b/activity.py index df1360f..901e321 100644 --- a/activity.py +++ b/activity.py @@ -76,13 +76,16 @@ class ChartArea(gtk.DrawingArea): """A class for Draw the chart""" super(ChartArea, self).__init__() self._parent = parent - self.add_events(gtk.gdk.EXPOSURE_MASK | gtk.gdk.VISIBILITY_NOTIFY_MASK) + self.add_events(gtk.gdk.EXPOSURE_MASK | + gtk.gdk.VISIBILITY_NOTIFY_MASK | + gtk.gdk.POINTER_MOTION_MASK) self.connect("expose-event", self._expose_cb) target = [("text/plain", 0, 0)] self.drag_dest_set(gtk.DEST_DEFAULT_ALL, target, gtk.gdk.ACTION_COPY | gtk.gdk.ACTION_MOVE) self.connect('drag_data_received', self._drag_data_received) + self.connect('motion-notify-event', self._motion_notify_cb) def _expose_cb(self, widget, event): context = self.window.cairo_create() @@ -115,6 +118,9 @@ class ChartArea(gtk.DrawingArea): else: context.finish(False, False, time) + def _motion_notify_cb(self, widget, event): + self._parent.pos_label.set_text('%s, %s' % (event.x, event.y)) + class ChartActivity(activity.Activity): @@ -332,12 +338,21 @@ class ChartActivity(activity.Activity): # CHARTS AREA eventbox = gtk.EventBox() + eventbox.modify_bg(gtk.STATE_NORMAL, _WHITE) self.charts_area = ChartArea(self) self.charts_area.connect('size_allocate', self._chart_size_allocate) - eventbox.modify_bg(gtk.STATE_NORMAL, _WHITE) + pos_box = gtk.HBox() + self.pos_label = gtk.Label('0.0, 0.0') + self.pos_label.modify_font(pango.FontDescription('italic 12')) + pos_box.pack_end(self.pos_label, False, False, 5) + + vbox = gtk.VBox() + vbox.pack_start(self.charts_area, True, True, 0) + vbox.pack_end(pos_box, False, False, 0) + + eventbox.add(vbox) - eventbox.add(self.charts_area) paned.add2(eventbox) self.set_canvas(paned) |