[Python-gtkextra-commits] CVS: python-gtkextra2/examples testboxes.py,1.1.1.1,1.2 testflux.py,1.1.1.
Status: Beta
Brought to you by:
treeves
Update of /cvsroot/python-gtkextra/python-gtkextra2/examples In directory usw-pr-cvs1:/tmp/cvs-serv29381/examples Modified Files: testboxes.py testflux.py testgtkiconlist.py testgtkplot.py testpolar.py testrealtime.py Log Message: More examples partially work. Still lots to do. Index: testboxes.py =================================================================== RCS file: /cvsroot/python-gtkextra/python-gtkextra2/examples/testboxes.py,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** testboxes.py 10 Jul 2002 19:06:52 -0000 1.1.1.1 --- testboxes.py 16 Jul 2002 17:05:13 -0000 1.2 *************** *** 1,32 **** #!/usr/bin/env python ! from gtk import * ! from gtkextra import * ! class Application(GtkWindow): def __init__(self): ! GtkWindow.__init__(self, title="GtkPlotBox Demo") ! self.set_usize(550, 360) ! self.connect("destroy", mainquit) ! scrollwin = GtkScrolledWindow() ! scrollwin.set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC) self.add(scrollwin) ! canvas = GtkPlotCanvas(PLOT_LETTER_W, PLOT_LETTER_H) ! canvas.plot_canvas_set_flags(PLOT_CANVAS_DND_FLAGS) scrollwin.add_with_viewport(canvas) ! plot = GtkPlot(width=0.5, height=0.25) plot.set_range(-1.0, 1.0, -1.0, 1.4) plot.legends_move(0.51, 0.05) ! plot.set_legends_border(PLOT_BORDER_NONE) ! plot.axis_hide_title(PLOT_AXIS_TOP) ! plot.axis_show_ticks(PLOT_AXIS_BOTTOM, 15, 3) ! plot.axis_set_ticks(PLOT_AXIS_X, 1.0, 1) ! plot.axis_set_ticks(PLOT_AXIS_Y, 1.0, 1) ! plot.x0_set_visible(TRUE); ! plot.y0_set_visible(TRUE); canvas.add_plot(plot, 0.15, 0.06) --- 1,34 ---- #!/usr/bin/env python ! import gtk, gtkextra ! class Application(gtk.Window): def __init__(self): ! self.hack = [] ! gtk.Window.__init__(self) ! self.set_title("GtkPlotBox Demo") ! self.set_size_request(550, 360) ! self.connect("destroy", self.quit) ! scrollwin = gtk.ScrolledWindow() ! scrollwin.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.add(scrollwin) ! canvas = gtkextra.PlotCanvas(gtkextra.PLOT_LETTER_W, gtkextra.PLOT_LETTER_H) ! canvas.plot_canvas_set_flags(gtkextra.PLOT_CANVAS_DND_FLAGS) scrollwin.add_with_viewport(canvas) ! plot = gtkextra.Plot() ! plot.resize(width=0.5, height=0.25) plot.set_range(-1.0, 1.0, -1.0, 1.4) plot.legends_move(0.51, 0.05) ! plot.set_legends_border(gtkextra.PLOT_BORDER_NONE, gtkextra.PLOT_BORDER_NONE) ! plot.axis_hide_title(gtkextra.PLOT_AXIS_TOP) ! plot.axis_show_ticks(gtkextra.PLOT_AXIS_BOTTOM, 15, 3) ! plot.axis_set_ticks(gtkextra.PLOT_AXIS_X, 1.0, 1) ! plot.axis_set_ticks(gtkextra.PLOT_AXIS_Y, 1.0, 1) ! plot.x0_set_visible(gtk.TRUE); ! plot.y0_set_visible(gtk.TRUE); canvas.add_plot(plot, 0.15, 0.06) *************** *** 42,63 **** colormap = self.get_colormap() ! red = colormap.alloc("red") ! yellow = colormap.alloc("yellow") ! data = GtkPlotBox(ORIENTATION_VERTICAL) plot.add_data(data) ! data.set_points(px1, py1) ! data.set_z(pz1) ! data.set_dz(dz1) data.show_zerrbars() ! data.set_symbol(PLOT_SYMBOL_CIRCLE, PLOT_SYMBOL_FILLED, 10, 2, yellow, red) ! data.set_line_attributes(PLOT_LINE_NONE, 1, red) data.set_legend("Boxes") ! def mainloop(self): ! mainloop() ! if __name__ == '__main__': app = Application() ! app.mainloop() --- 44,66 ---- colormap = self.get_colormap() ! red = colormap.alloc_color("red") ! yellow = colormap.alloc_color("yellow") ! data = gtkextra.PlotBox(gtk.ORIENTATION_VERTICAL) plot.add_data(data) ! data.set_points(x=px1, y=py1, z=pz1, dz=dz1) data.show_zerrbars() ! data.set_symbol(gtkextra.PLOT_SYMBOL_CIRCLE, gtkextra.PLOT_SYMBOL_FILLED, 10, 2, yellow, red) ! data.set_line_attributes(gtkextra.PLOT_LINE_NONE, 0, 0, 1, red) data.set_legend("Boxes") + self.hack.append(data) #FIXME ! def quit(self, *args): ! gtk.main_quit() ! if __name__ == '__main__': ! raw_input("attach now") app = Application() ! gtk.main() ! Index: testflux.py =================================================================== RCS file: /cvsroot/python-gtkextra/python-gtkextra2/examples/testflux.py,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** testflux.py 10 Jul 2002 19:06:52 -0000 1.1.1.1 --- testflux.py 16 Jul 2002 17:05:14 -0000 1.2 *************** *** 1,39 **** #!/usr/bin/env python ! from gtk import * ! from gtkextra import * ! class Application(GtkWindow): def __init__(self): ! GtkWindow.__init__(self, title="GtkPlotFlux Demo") ! self.set_usize(550, 340) ! self.connect("destroy", mainquit) colormap = self.get_colormap() ! red = colormap.alloc("red") ! scrollwin = GtkScrolledWindow() ! scrollwin.set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC) self.add(scrollwin) ! canvas = GtkPlotCanvas(PLOT_LETTER_W, PLOT_LETTER_H) ! canvas.plot_canvas_set_flags(PLOT_CANVAS_CAN_SELECT_POINT ! | PLOT_CANVAS_CAN_DND_POINT) canvas.connect("select_item", self.select_item) scrollwin.add_with_viewport(canvas) ! plot = GtkPlot(width=0.5, height=0.25) plot.set_range(-1.0, 1.0, -1.0, 1.4) plot.legends_move(0.51, 0.05) plot.set_legends_border(0, 0) ! plot.axis_hide_title(PLOT_AXIS_TOP) ! plot.axis_show_ticks(PLOT_AXIS_BOTTOM, 15, 3) ! plot.axis_set_ticks(PLOT_AXIS_X, 1.0, 1) ! plot.axis_set_ticks(PLOT_AXIS_Y, 1.0, 1) ! plot.axis_set_visible(PLOT_AXIS_TOP, TRUE) ! plot.axis_set_visible(PLOT_AXIS_RIGHT, TRUE) ! plot.x0_set_visible(TRUE) ! plot.y0_set_visible(TRUE) canvas.add_plot(plot, 0.15, 0.06) --- 1,40 ---- #!/usr/bin/env python ! import gtk, gtkextra ! class Application(gtk.Window): def __init__(self): ! self.hack = [] ! gtk.Window.__init__(self) ! self.set_title("GtkPlotFlux Demo") ! self.set_size_request(550, 340) ! self.connect("destroy", self.quit) colormap = self.get_colormap() ! red = colormap.alloc_color("red") ! scrollwin = gtk.ScrolledWindow() ! scrollwin.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.add(scrollwin) ! canvas = gtkextra.PlotCanvas(gtkextra.PLOT_LETTER_W, gtkextra.PLOT_LETTER_H) ! canvas.plot_canvas_set_flags(gtkextra.PLOT_CANVAS_DND_FLAGS) canvas.connect("select_item", self.select_item) scrollwin.add_with_viewport(canvas) ! plot = gtkextra.Plot() ! plot.resize(width=0.5, height=0.25) plot.set_range(-1.0, 1.0, -1.0, 1.4) plot.legends_move(0.51, 0.05) plot.set_legends_border(0, 0) ! plot.axis_hide_title(gtkextra.PLOT_AXIS_TOP) ! plot.axis_show_ticks(gtkextra.PLOT_AXIS_BOTTOM, 15, 3) ! plot.axis_set_ticks(gtkextra.PLOT_AXIS_X, 1.0, 1) ! plot.axis_set_ticks(gtkextra.PLOT_AXIS_Y, 1.0, 1) ! plot.axis_set_visible(gtkextra.PLOT_AXIS_TOP, gtk.TRUE) ! plot.axis_set_visible(gtkextra.PLOT_AXIS_RIGHT, gtk.TRUE) ! plot.x0_set_visible(gtk.TRUE) ! plot.y0_set_visible(gtk.TRUE) canvas.add_plot(plot, 0.15, 0.06) *************** *** 43,66 **** py2 = [.0, .05, .12, .22, .16, .1] ! data = GtkPlotFlux() ! data.set_points(px1, py1, px2, py2) ! data.set_symbol(PLOT_SYMBOL_CIRCLE, PLOT_SYMBOL_OPAQUE, 10, 2, red) ! data.set_line_attributes(PLOT_LINE_NONE, 1, red) data.set_legend("Flux") plot.add_data(data) self.show_all() def select_item(self, canvas, event, item, *args): ! if item.type == PLOT_CANVAS_DATA: tuple = canvas.get_active_point() if tuple: print "Active point:", tuple[0], "->", tuple[1], tuple[2] ! return TRUE ! ! def mainloop(self): ! mainloop() ! if __name__ == '__main__': app = Application() ! app.mainloop() --- 44,68 ---- py2 = [.0, .05, .12, .22, .16, .1] ! data = gtkextra.PlotFlux() ! data.set_points(x=px1, y=py1, dx=px2, dy=py2) ! data.set_symbol(gtkextra.PLOT_SYMBOL_CIRCLE, gtkextra.PLOT_SYMBOL_OPAQUE, 10, 2, red, red) ! data.set_line_attributes(gtkextra.PLOT_LINE_NONE, 0, 0, 1, red) data.set_legend("Flux") plot.add_data(data) + self.hack.append(data) self.show_all() def select_item(self, canvas, event, item, *args): ! if item.type == gtkextra.PLOT_CANVAS_DATA: tuple = canvas.get_active_point() if tuple: print "Active point:", tuple[0], "->", tuple[1], tuple[2] ! return gtk.TRUE ! def quit(self, *args): ! gtk.main_quit() ! ! if __name__ == '__main__': app = Application() ! gtk.main() Index: testgtkiconlist.py =================================================================== RCS file: /cvsroot/python-gtkextra/python-gtkextra2/examples/testgtkiconlist.py,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** testgtkiconlist.py 10 Jul 2002 19:06:52 -0000 1.1.1.1 --- testgtkiconlist.py 16 Jul 2002 17:05:14 -0000 1.2 *************** *** 1,48 **** #!/usr/bin/env python ! from gtk import * ! from gtkextra import * import icons ! class Application(GtkWindow): def __init__(self): ! GtkWindow.__init__(self, title="GtkIconList Demo") ! self.set_usize(400, 400) ! self.connect("destroy", mainquit) ! hbox1 = GtkHBox() self.add(hbox1) ! table = GtkTable(4, 2) ! hbox1.pack_start(table, FALSE, FALSE) ! notebook = GtkNotebook() hbox1.pack_start(notebook) ! scrollw1 = GtkScrolledWindow() scrollw1.set_border_width(0) ! scrollw1.set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC) ! label1 = GtkLabel("Worksheets") notebook.append_page(scrollw1, label1) ! scrollw2 = GtkScrolledWindow() scrollw2.set_border_width(0) ! scrollw2.set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC) ! label2 = GtkLabel("Plots") notebook.append_page(scrollw2, label2) ! iconlist1 = GtkIconList(48, ICON_LIST_TEXT_BELOW) ! iconlist1.set_selection_mode(SELECTION_SINGLE) iconlist1.connect("select_icon", self.select_icon) scrollw1.add_with_viewport(iconlist1) for i in xrange(20): ! iconlist1.add_from_data(icons.sheet_icon2, "Data %02d" % i) ! iconlist2 = GtkIconList(48, ICON_LIST_TEXT_RIGHT) ! iconlist2.set_selection_mode(SELECTION_MULTIPLE) scrollw2.add_with_viewport(iconlist2) for i in xrange(20): ! iconlist2.add_from_data(icons.plot_icon2, "Plot %02d" % i) self.show_all() --- 1,50 ---- #!/usr/bin/env python ! import gtk, gtkextra import icons ! class Application(gtk.Window): def __init__(self): ! gtk.Window.__init__(self) ! self.set_title("GtkIconList Demo") ! self.set_size_request(400, 400) ! self.connect("destroy", self.quit) ! hbox1 = gtk.HBox() self.add(hbox1) ! table = gtk.Table(4, 2) ! hbox1.pack_start(table, gtk.FALSE, gtk.FALSE) ! notebook = gtk.Notebook() hbox1.pack_start(notebook) ! scrollw1 = gtk.ScrolledWindow() scrollw1.set_border_width(0) ! scrollw1.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) ! label1 = gtk.Label("Worksheets") notebook.append_page(scrollw1, label1) ! scrollw2 = gtk.ScrolledWindow() scrollw2.set_border_width(0) ! scrollw2.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) ! label2 = gtk.Label("Plots") notebook.append_page(scrollw2, label2) ! iconlist1 = gtkextra.IconList(48, gtkextra.ICON_LIST_TEXT_BELOW) ! iconlist1.set_selection_mode(gtk.SELECTION_SINGLE) iconlist1.connect("select_icon", self.select_icon) scrollw1.add_with_viewport(iconlist1) for i in xrange(20): ! print "FIXME: IconList.add_from_data" ! #iconlist1.add_from_data(icons.sheet_icon2, "Data %02d" % i) ! iconlist2 = gtkextra.IconList(48, gtkextra.ICON_LIST_TEXT_RIGHT) ! iconlist2.set_selection_mode(gtk.SELECTION_MULTIPLE) scrollw2.add_with_viewport(iconlist2) for i in xrange(20): ! print "FIXME: IconList.add_from_data" ! #iconlist2.add_from_data(icons.plot_icon2, "Plot %02d" % i) self.show_all() *************** *** 50,59 **** def select_icon(self, widget, item, event, *args): print "SELECTION:", item.label ! return TRUE ! def mainloop(self): ! mainloop() ! if __name__ == '__main__': app = Application() ! app.mainloop() --- 52,61 ---- def select_icon(self, widget, item, event, *args): print "SELECTION:", item.label ! return gtk.TRUE ! def quit(self, *args): ! gtk.main_quit() ! if __name__ == '__main__': app = Application() ! gtk.main() Index: testgtkplot.py =================================================================== RCS file: /cvsroot/python-gtkextra/python-gtkextra2/examples/testgtkplot.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** testgtkplot.py 12 Jul 2002 19:59:50 -0000 1.3 --- testgtkplot.py 16 Jul 2002 17:05:14 -0000 1.4 *************** *** 93,100 **** print "Active point: %d -> %f %f" % (i, new_x, new_y) data = canvas.get_active_data() ! points = data.get_points() ! points[0][i] = new_x ! points[1][i] = new_y ! data.set_points(points) return gtk.TRUE --- 93,100 ---- print "Active point: %d -> %f %f" % (i, new_x, new_y) data = canvas.get_active_data() ! x,y,dx,dy = data.get_points() ! x[i] = new_x ! y[i] = new_y ! data.set_points(x=x, y=y) return gtk.TRUE *************** *** 180,184 **** data = gtkextra.PlotData() plot.add_data(data) ! data.set_points(px1, py1, dx1, dy1) data.set_symbol(gtkextra.PLOT_SYMBOL_DIAMOND, gtkextra.PLOT_SYMBOL_EMPTY, 10, 2, red, red) data.set_line_attributes(gtkextra.PLOT_LINE_SOLID, 0, 0, 1, red) --- 180,184 ---- data = gtkextra.PlotData() plot.add_data(data) ! data.set_points(x=px1, y=py1, dx=dx1, dy=dy1) data.set_symbol(gtkextra.PLOT_SYMBOL_DIAMOND, gtkextra.PLOT_SYMBOL_EMPTY, 10, 2, red, red) data.set_line_attributes(gtkextra.PLOT_LINE_SOLID, 0, 0, 1, red) *************** *** 191,195 **** data = gtkextra.PlotData() plot.add_data(data) ! data.set_points(px2, py2, dx2, dy2) data.set_symbol(gtkextra.PLOT_SYMBOL_SQUARE, gtkextra.PLOT_SYMBOL_OPAQUE, 8, 2, black, black) data.set_line_attributes(gtkextra.PLOT_LINE_SOLID, 0, 0, 4, red) --- 191,195 ---- data = gtkextra.PlotData() plot.add_data(data) ! data.set_points(x=px2, y=py2, dx=dx2, dy=dy2) data.set_symbol(gtkextra.PLOT_SYMBOL_SQUARE, gtkextra.PLOT_SYMBOL_OPAQUE, 8, 2, black, black) data.set_line_attributes(gtkextra.PLOT_LINE_SOLID, 0, 0, 4, red) *************** *** 219,223 **** data = gtkextra.PlotBar(gtk.ORIENTATION_VERTICAL) plot.add_data(data) ! data.set_points(px2, py2, dx2) data.set_symbol(gtkextra.PLOT_SYMBOL_NONE, gtkextra.PLOT_SYMBOL_OPAQUE, 10, 2, blue, blue) data.set_line_attributes(gtkextra.PLOT_LINE_NONE, 0, 0, 1, blue) --- 219,223 ---- data = gtkextra.PlotBar(gtk.ORIENTATION_VERTICAL) plot.add_data(data) ! data.set_points(x=px2, y=py2, dx=dx2) data.set_symbol(gtkextra.PLOT_SYMBOL_NONE, gtkextra.PLOT_SYMBOL_OPAQUE, 10, 2, blue, blue) data.set_line_attributes(gtkextra.PLOT_LINE_NONE, 0, 0, 1, blue) Index: testpolar.py =================================================================== RCS file: /cvsroot/python-gtkextra/python-gtkextra2/examples/testpolar.py,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** testpolar.py 10 Jul 2002 19:06:54 -0000 1.1.1.1 --- testpolar.py 16 Jul 2002 17:05:14 -0000 1.2 *************** *** 1,26 **** #!/usr/bin/env python ! from gtk import * ! from gtkextra import * ! class Application(GtkWindow): def __init__(self): ! GtkWindow.__init__(self, title="GtkPlotPolar Demo") ! self.set_usize(500, 320) ! self.connect("destroy", mainquit) colormap = self.get_colormap() ! red = colormap.alloc("red") ! scrollwin = GtkScrolledWindow() ! scrollwin.set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC) self.add(scrollwin) ! canvas = GtkPlotCanvas(PLOT_LETTER_W, PLOT_LETTER_H) ! canvas.plot_canvas_set_flags(PLOT_CANVAS_DND_FLAGS) scrollwin.add_with_viewport(canvas) ! plot = GtkPlotPolar(width=0.5, height=0.25) canvas.add_plot(plot, 0.15, 0.06) --- 1,28 ---- #!/usr/bin/env python ! import gtk, gtkextra ! class Application(gtk.Window): def __init__(self): ! self.hack = [] ! gtk.Window.__init__(self) ! self.set_title("GtkPlotPolar Demo") ! self.set_size_request(500, 320) ! self.connect("destroy", self.quit) colormap = self.get_colormap() ! red = colormap.alloc_color("red") ! scrollwin = gtk.ScrolledWindow() ! scrollwin.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.add(scrollwin) ! canvas = gtkextra.PlotCanvas(gtkextra.PLOT_LETTER_W, gtkextra.PLOT_LETTER_H) ! canvas.plot_canvas_set_flags(gtkextra.PLOT_CANVAS_DND_FLAGS) scrollwin.add_with_viewport(canvas) ! plot = gtkextra.PlotPolar() ! plot.resize(width=0.5, height=0.25) canvas.add_plot(plot, 0.15, 0.06) *************** *** 28,44 **** angle = [15.0, 20.0, 43.0, 67.0, 84.0, 106.0] ! data = GtkPlotData() ! data.set_points(r, angle) ! data.set_symbol(PLOT_SYMBOL_DIAMOND, PLOT_SYMBOL_OPAQUE, 10, 2, red) ! data.set_line_attributes(PLOT_LINE_SOLID, 1, red) data.set_legend("Example") plot.add_data(data) self.show_all() ! def mainloop(self): ! mainloop() ! if __name__ == '__main__': app = Application() ! app.mainloop() --- 30,47 ---- angle = [15.0, 20.0, 43.0, 67.0, 84.0, 106.0] ! data = gtkextra.PlotData() ! data.set_points(x=r, y=angle) ! data.set_symbol(gtkextra.PLOT_SYMBOL_DIAMOND, gtkextra.PLOT_SYMBOL_OPAQUE, 10, 2, red, red) ! data.set_line_attributes(gtkextra.PLOT_LINE_SOLID, 0, 0, 1, red) data.set_legend("Example") plot.add_data(data) + self.hack.append(data) self.show_all() ! def quit(self, *args): ! gtk.main_quit() ! if __name__ == '__main__': app = Application() ! gtk.main() Index: testrealtime.py =================================================================== RCS file: /cvsroot/python-gtkextra/python-gtkextra2/examples/testrealtime.py,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** testrealtime.py 10 Jul 2002 19:06:54 -0000 1.1.1.1 --- testrealtime.py 16 Jul 2002 17:05:14 -0000 1.2 *************** *** 1,63 **** #!/usr/bin/env python ! from gtk import * ! from gtkextra import * from random import randint ! class Application(GtkWindow): def __init__(self): ! GtkWindow.__init__(self, title="GtkPlot Real Time Demo") ! self.set_usize(550, 600) ! self.connect("destroy", mainquit) colormap = self.get_colormap() ! red = colormap.alloc("red") ! light_blue = colormap.alloc("light blue") ! light_yellow = colormap.alloc("light yellow") ! white = colormap.alloc("white") ! scrollwin = GtkScrolledWindow() ! scrollwin.set_policy(POLICY_AUTOMATIC, POLICY_AUTOMATIC) self.add(scrollwin) ! canvas = GtkPlotCanvas(PLOT_LETTER_W, PLOT_LETTER_H) canvas.set_background(light_blue) canvas.connect("button_press_event", self.button_press_handler) scrollwin.add_with_viewport(canvas) ! plot = GtkPlot(width=0.65, height=0.45) plot.set_background(light_yellow) plot.legends_set_attributes(None, 0, None, white) plot.set_range(0.0, 20.0, 0.0, 1.0) ! plot.axis_set_ticks(PLOT_AXIS_X, 2.0, 1) ! plot.axis_set_ticks(PLOT_AXIS_Y, 0.1, 1) ! plot.axis_set_labels_numbers(PLOT_AXIS_TOP, PLOT_LABEL_FLOAT, 0) ! plot.axis_set_labels_numbers(PLOT_AXIS_BOTTOM, PLOT_LABEL_FLOAT, 0) ! plot.axis_set_visible(PLOT_AXIS_TOP, TRUE) ! plot.axis_set_visible(PLOT_AXIS_RIGHT, TRUE) ! plot.grids_set_visible(TRUE, TRUE, TRUE, TRUE) ! plot.axis_hide_title(PLOT_AXIS_TOP) ! plot.axis_hide_title(PLOT_AXIS_RIGHT) ! plot.axis_set_title(PLOT_AXIS_LEFT, "Intensity") ! plot.axis_set_title(PLOT_AXIS_BOTTOM, "Time (s)") ! plot.set_legends_border(PLOT_BORDER_SHADOW, 3) plot.legends_move(0.60, 0.10) canvas.add_plot(plot, 0.15, 0.15) canvas.put_text(0.45, 0.05, "Times-BoldItalic", 20, 0, None, None, ! TRUE, JUSTIFY_CENTER, "Real Time Demo") ! data = GtkPlotData() plot.add_data(data) data.set_legend("Random pulse") ! data.set_symbol(PLOT_SYMBOL_DIAMOND, PLOT_SYMBOL_OPAQUE, 10, 2, red) ! data.set_line_attributes(PLOT_LINE_SOLID, 1, red) ! plot.clip_data(TRUE) self.show_all() ! timeout_add(1000, self.update, canvas, plot, data) def update(self, canvas, plot, data, *args): --- 1,66 ---- #!/usr/bin/env python ! import gtk, gtkextra from random import randint ! class Application(gtk.Window): def __init__(self): ! self.hack = []; ! gtk.Window.__init__(self) ! self.set_title("GtkPlot Real Time Demo") ! self.set_size_request(550, 600) ! self.connect("destroy", self.quit) colormap = self.get_colormap() ! red = colormap.alloc_color("red") ! light_blue = colormap.alloc_color("light blue") ! light_yellow = colormap.alloc_color("light yellow") ! white = colormap.alloc_color("white") ! scrollwin = gtk.ScrolledWindow() ! scrollwin.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.add(scrollwin) ! canvas = gtkextra.PlotCanvas(gtkextra.PLOT_LETTER_W, gtkextra.PLOT_LETTER_H) canvas.set_background(light_blue) canvas.connect("button_press_event", self.button_press_handler) scrollwin.add_with_viewport(canvas) ! plot = gtkextra.Plot() ! plot.resize(width=0.65, height=0.45) plot.set_background(light_yellow) plot.legends_set_attributes(None, 0, None, white) plot.set_range(0.0, 20.0, 0.0, 1.0) ! plot.axis_set_ticks(gtkextra.PLOT_AXIS_X, 2.0, 1) ! plot.axis_set_ticks(gtkextra.PLOT_AXIS_Y, 0.1, 1) ! plot.axis_set_labels_numbers(gtkextra.PLOT_AXIS_TOP, gtkextra.PLOT_LABEL_FLOAT, 0) ! plot.axis_set_labels_numbers(gtkextra.PLOT_AXIS_BOTTOM, gtkextra.PLOT_LABEL_FLOAT, 0) ! plot.axis_set_visible(gtkextra.PLOT_AXIS_TOP, gtk.TRUE) ! plot.axis_set_visible(gtkextra.PLOT_AXIS_RIGHT, gtk.TRUE) ! plot.grids_set_visible(gtk.TRUE, gtk.TRUE, gtk.TRUE, gtk.TRUE) ! plot.axis_hide_title(gtkextra.PLOT_AXIS_TOP) ! plot.axis_hide_title(gtkextra.PLOT_AXIS_RIGHT) ! plot.axis_set_title(gtkextra.PLOT_AXIS_LEFT, "Intensity") ! plot.axis_set_title(gtkextra.PLOT_AXIS_BOTTOM, "Time (s)") ! plot.set_legends_border(gtkextra.PLOT_BORDER_SHADOW, 3) plot.legends_move(0.60, 0.10) canvas.add_plot(plot, 0.15, 0.15) canvas.put_text(0.45, 0.05, "Times-BoldItalic", 20, 0, None, None, ! gtk.TRUE, gtk.JUSTIFY_CENTER, "Real Time Demo") ! data = gtkextra.PlotData() plot.add_data(data) data.set_legend("Random pulse") ! data.set_symbol(gtkextra.PLOT_SYMBOL_DIAMOND, gtkextra.PLOT_SYMBOL_OPAQUE, 10, 2, red, red) ! data.set_line_attributes(gtkextra.PLOT_LINE_SOLID, 0, 0, 1, red) ! self.hack.append(data) ! plot.clip_data(gtk.TRUE) self.show_all() ! gtk.timeout_add(1000, self.update, canvas, plot, data) def update(self, canvas, plot, data, *args): *************** *** 66,69 **** --- 69,74 ---- px = data.get_x() py = data.get_y() + if px is None : px = [] + if py is None : py = [] n = data.get_numpoints() *************** *** 76,80 **** py.append(y) ! data.set_points(px, py) (xmin, xmax) = plot.get_xrange() --- 81,85 ---- py.append(y) ! data.set_points(x=px, y=py) (xmin, xmax) = plot.get_xrange() *************** *** 85,89 **** canvas.refresh() ! return TRUE def button_press_handler(self, canvas, event, *extra): --- 90,94 ---- canvas.refresh() ! return gtk.TRUE def button_press_handler(self, canvas, event, *extra): *************** *** 92,99 **** print "Canvas position:", position[0], position[1] ! def mainloop(self): ! mainloop() ! if __name__ == '__main__': app = Application() ! app.mainloop() --- 97,104 ---- print "Canvas position:", position[0], position[1] ! def quit(self, *args): ! gtk.main_quit() ! if __name__ == '__main__': app = Application() ! gtk.main() |