def addReader(self, reader): sup.addReader(self, reader) ## gtk docs suggest this - but it's stupid ## self.model.set(self.model.append(), ## 0, str(reader), ## 1, reader) self._maybeAddServer(reader, read=1)
def __init__(self): self.xml = gtk.glade.XML(util.sibpath(__file__,"gladereactor.glade")) d = {} for m in reflect.prefixedMethods(self, "on_"): d[m.im_func.__name__] = m self.xml.signal_autoconnect(d) self.xml.get_widget('window1').connect('destroy', lambda w: self.stop()) self.servers = self.xml.get_widget("servertree") sel = self.servers.get_selection() sel.set_mode(gtk.SELECTION_SINGLE) sel.connect("changed", self.servers_selection_changed) self.xml.get_widget('suspend').set_sensitive(0) self.xml.get_widget('disconnect').set_sensitive(0) self.model = gtk.ListStore(str, object, gobject.TYPE_BOOLEAN, gobject.TYPE_BOOLEAN) self.servers.set_model(self.model) self.servers.set_reorderable(1) self.servers.set_headers_clickable(1) for col in [ gtk.TreeViewColumn('Server', gtk.CellRendererText(), text=0), gtk.TreeViewColumn('Reading', gtk.CellRendererToggle(), active=2), gtk.TreeViewColumn('Writing', gtk.CellRendererToggle(), active=3)]: self.servers.append_column(col) col.set_resizable(1) sup.__init__(self)
def test_stopWhenRunning(self): """ When C{reactor.stop} is scheduled with C{callWhenRunning}, C{reactor.run} will return immediately, and without processing any timed events. """ # This test *should* be part of a general reactor test suite that runs # tests cases against all reactor implementations. missed = [] def calledTooLate(): missed.append(True) reactor.crash() reactor = Gtk2Reactor(useGtk=False) reactor.callWhenRunning(reactor.stop) reactor.callLater(0, calledTooLate) reactor.run(installSignalHandlers=False) # XXX This explicit calls to clean up the waker should become obsolete # when bug #3063 is fixed. -radix, 2008-02-29. Fortunately it should # probably cause an error when bug #3063 is fixed, so it should be # removed in the same branch that fixes it. reactor.removeReader(reactor.waker) reactor.waker.connectionLost(None) if missed == [True]: self.fail("callWhenRunning reactor.stop did not take effect")
def listenSSL(self, port, factory, contextFactory, backlog=50, interface=''): from _inspectro import LoggingFactory factory = LoggingFactory(factory) return sup.listenSSL(self, port, factory, contextFactory, backlog, interface)
def connectSSL(self, host, port, factory, contextFactory, timeout=30, bindAddress=None): from _inspectro import LoggingFactory factory = LoggingFactory(factory) return sup.connectSSL(self, host, port, factory, contextFactory, timeout, bindAddress)
def on_suspend_clicked(self, w): store, iter = self.servers.get_selection().get_selected() data = store[iter] sup.removeReader(self, data[1]) sup.removeWriter(self, data[1]) if data[COLUMN_DESCRIPTION].endswith('(suspended)'): if data[COLUMN_READING]: sup.addReader(self, data[COLUMN_TRANSPORT]) if data[COLUMN_WRITING]: sup.addWriter(self, data[COLUMN_TRANSPORT]) data[COLUMN_DESCRIPTION] = str(data[COLUMN_TRANSPORT]) self.toggle_suspend(1) else: data[0] += ' (suspended)' self.toggle_suspend(0)
def __init__(self): self.xml = gtk.glade.XML(util.sibpath(__file__, "gladereactor.glade")) d = {} for m in reflect.prefixedMethods(self, "on_"): d[m.im_func.__name__] = m self.xml.signal_autoconnect(d) self.xml.get_widget('window1').connect('destroy', lambda w: self.stop()) self.servers = self.xml.get_widget("servertree") sel = self.servers.get_selection() sel.set_mode(gtk.SELECTION_SINGLE) sel.connect("changed", self.servers_selection_changed) ## argh coredump: self.servers_selection_changed(sel) self.xml.get_widget('suspend').set_sensitive(0) self.xml.get_widget('disconnect').set_sensitive(0) # setup model, connect it to my treeview self.model = gtk.ListStore(str, object, gobject.TYPE_BOOLEAN, gobject.TYPE_BOOLEAN) self.servers.set_model(self.model) self.servers.set_reorderable(1) self.servers.set_headers_clickable(1) # self.servers.set_headers_draggable(1) # add a column for col in [ gtk.TreeViewColumn('Server', gtk.CellRendererText(), text=0), gtk.TreeViewColumn('Reading', gtk.CellRendererToggle(), active=2), gtk.TreeViewColumn('Writing', gtk.CellRendererToggle(), active=3) ]: self.servers.append_column(col) col.set_resizable(1) sup.__init__(self)
def connectUNIX(self, address, factory, timeout=30): from _inspectro import LoggingFactory factory = LoggingFactory(factory) return sup.connectUNIX(self, address, factory, timeout)
def listenUNIX(self, address, factory, backlog=50, mode=0666): from _inspectro import LoggingFactory factory = LoggingFactory(factory) return sup.listenUNIX(self, address, factory, backlog, mode)
def removeWriter(self, writer): sup.removeWriter(self, writer) self._maybeAddServer(writer, write=-1)
def removeReader(self, reader): sup.removeReader(self, reader) self._maybeAddServer(reader, read=-1)
def addWriter(self, writer): sup.addWriter(self, writer) self._maybeAddServer(writer, write=1)
def addReader(self, reader): sup.addReader(self, reader) self._maybeAddServer(reader, read=1)
def __init__(self, use_gtk): Gtk2Reactor.__init__(self, use_gtk) # ugh... why would somebody make these private? self.__iteration = self._Gtk2Reactor__iteration self.__pending = self._Gtk2Reactor__pending self.__run = self._Gtk2Reactor__run