예제 #1
0
class X64Plot(X64PlotBase, gtk.Window):
    """
    The base class for dreampy interactive plotting.
    This class provides a handy plotting tool based on
    python's matplotlib library.

    >>> from dreampy.plots import X64Plot
    >>> pl = X64Plot()
    >>> x = numpy.arange(10)
    >>> y = x**2
    >>> pl.plot(x, y, 'bo-')
    
    """
    def __init__(self, bf=None, **kwargs):
        #gobject.threads_init()
        gtk.Window.__init__(self)
        X64PlotBase.__init__(self, bf=bf, **kwargs)
        self.set_title("X64 Plot Window")
        x, y = 800, 600
        self.set_default_size(x, y)
        #self.connect("destroy", lambda x: gtk.main_quit())
        self.connect("delete_event", self.delete_event)
        #self.vbox = gtk.VBox(False, 0)
        #self.add(self.vbox)
        self.plotobj = MainView(self, **kwargs)
        self.add(self.plotobj)
        self.alive = True
        self.show_all()
        self.gtk_catchup()
        if not MATPLOTLIBV1_0:
            gtk.set_interactive()
        #datacursor()

    def gtk_catchup(self):
        if ENABLE_GTK:
            from IPython.lib.inputhook import enable_gui
            enable_gui(gui='gtk')
        
    def delete_event(self, widget, event, data=None):
        #return True means will not generate destroy event next
        #print "Type Ctrl-D or exit() to exit from main terminal window"
        print "Killing plot window"
        self.alive = False
        return False
    
    def disconnect_event(self, sig):
        self.plotobj.disconnect_event(sig)

    def connect_event(self, eventname, eventfunc):
        return self.plotobj.connect_event(eventname, eventfunc)
예제 #2
0
 def __init__(self, bf=None, **kwargs):
     #gobject.threads_init()
     gtk.Window.__init__(self)
     X64PlotBase.__init__(self, bf=bf, **kwargs)
     self.set_title("X64 Plot Window")
     x, y = 800, 600
     self.set_default_size(x, y)
     #self.connect("destroy", lambda x: gtk.main_quit())
     self.connect("delete_event", self.delete_event)
     #self.vbox = gtk.VBox(False, 0)
     #self.add(self.vbox)
     self.plotobj = MainView(self, **kwargs)
     self.add(self.plotobj)
     self.alive = True
     self.show_all()
     self.gtk_catchup()
     if not MATPLOTLIBV1_0:
         gtk.set_interactive()