GRAPH_WINDOWS = {}
+class DummyScrollEvent:
+
+ def __init__(self, dir):
+ self.direction = dir
+
class Node:
def __init__(self, codec, node, x, y, nodesize, extra):
self.set_events(0)
self.add_events(gtk.gdk.EXPOSURE_MASK | gtk.gdk.POINTER_MOTION_MASK |
gtk.gdk.BUTTON_PRESS_MASK | gtk.gdk.BUTTON_RELEASE_MASK |
- gtk.gdk.LEAVE_NOTIFY_MASK)
+ gtk.gdk.LEAVE_NOTIFY_MASK | gtk.gdk.SCROLL_MASK)
self.expose_handler = self.connect("expose-event", self.expose)
self.click_handler = self.connect("button-press-event", self.button_click)
self.release_handler = self.connect("button-release-event", self.button_release)
self.motion_handler = self.connect("motion-notify-event", self.mouse_move)
self.mouse_leave_handler = self.connect("leave-notify-event", self.mouse_leave)
+ self.scroll_me_handler = self.connect("scroll-event", self.scroll_me)
self.popup_win = None
self.popup = None
def button_click(self, widget, event):
if event.button != 3:
+ if event.button == 8:
+ self.scroll_me(self, DummyScrollEvent(gtk.gdk.SCROLL_LEFT))
+ elif event.button == 9:
+ self.scroll_me(self, DummyScrollEvent(gtk.gdk.SCROLL_RIGHT))
return False
node, what = self.find_node(event)
m = None
return False
def button_release(self, widget, event):
-
pass
+ def scroll_me(self, widget, event):
+ if event.direction == gtk.gdk.SCROLL_UP:
+ adj = self.get_vadjustment()
+ adj.set_value(adj.get_value()-40)
+ elif event.direction == gtk.gdk.SCROLL_DOWN:
+ adj = self.get_vadjustment()
+ adj.set_value(adj.get_value()+40)
+ elif event.direction == gtk.gdk.SCROLL_LEFT:
+ adj = self.get_hadjustment()
+ adj.set_value(adj.get_value()-40)
+ elif event.direction == gtk.gdk.SCROLL_RIGHT:
+ adj = self.get_hadjustment()
+ adj.set_value(adj.get_value()+40)
+
gobject.type_register(CodecGraphLayout)
class CodecGraph(gtk.Window):
hbox1.pack_start(frame)
frame = gtk.Frame('Digital Converter Category')
entry = gtk.Entry()
- entry.set_text("0x%x" % node.dig1_category)
+ self.dig_category_entry = entry
entry.set_width_chars(4)
entry.connect("activate", self.__dig1_category_activate, node)
frame.add(entry)
checkbutton = self.digital_checkbuttons[idx]
checkbutton.set_active(node.digi1 & (1 << DIG1_BITS[name]))
idx += 1
+ self.dig_category_entry.set_text("0x%x" % node.dig1_category)
elif node.wtype_id == 'PIN':
if 'EAPD' in node.pincap:
idx = 0