static void goio_console_device_connected (GObject *device) { NgiSensor *sensor = ngi_device_get_sensor (NGI_DEVICE (device)); if (sensor) { const gchar *units = ngi_sensor_get_display_units (sensor); gtk_widget_set_sensitive (start_button, TRUE); gtk_widget_set_sensitive (stop_button, FALSE); g_signal_connect (G_OBJECT (start_button), "clicked", G_CALLBACK (goio_console_start_collection), device); g_printf ("Displayed units: %d\n",units); gtk_label_set_label (GTK_LABEL (readout_unit), units ); gtk_widget_set_sensitive (readout_unit, TRUE); /* set up titles */ gtk_plot_axis_set_title (gtk_plot_get_axis (GTK_PLOT (active_plot), GTK_PLOT_AXIS_LEFT), ngi_sensor_get_display_name (sensor)); gtk_plot_axis_set_title (gtk_plot_get_axis (GTK_PLOT (active_plot), GTK_PLOT_AXIS_BOTTOM), "Time (s)"); gtk_plot_remove_data (GTK_PLOT (active_plot), dataset); } }
static void goio_console_device_disconnected (GObject *device) { gtk_widget_set_sensitive (start_button, FALSE); gtk_widget_set_sensitive (stop_button, FALSE); g_signal_handlers_disconnect_by_func (G_OBJECT (start_button), G_CALLBACK (goio_console_start_collection), device); g_signal_handlers_disconnect_by_func (G_OBJECT (stop_button), G_CALLBACK (goio_console_stop_collection), device); gtk_label_set_label (GTK_LABEL (readout_unit), "()"); gtk_widget_set_sensitive (readout_unit, FALSE); /* set up titles */ gtk_plot_axis_set_title (gtk_plot_get_axis (GTK_PLOT (active_plot), GTK_PLOT_AXIS_LEFT), "Y"); gtk_plot_axis_set_title (gtk_plot_get_axis (GTK_PLOT (active_plot), GTK_PLOT_AXIS_BOTTOM), "X"); }
static void gtk_plot_polar_init (GtkPlotPolar *plot) { GTK_PLOT(plot)->legends_attr.transparent = FALSE; GTK_PLOT(plot)->xmin = 0; GTK_PLOT(plot)->xmax = 360; plot->r = GTK_PLOT(plot)->left; plot->angle = GTK_PLOT(plot)->bottom; GTK_PLOT(plot)->bottom->ticks.min = 0.0; GTK_PLOT(plot)->bottom->ticks.max = 360.0; GTK_PLOT(plot)->bottom->ticks.step = 30.; GTK_PLOT(plot)->top->ticks.min = 0.0; GTK_PLOT(plot)->top->ticks.max = 360.0; GTK_PLOT(plot)->top->ticks.step = 30.; GTK_PLOT(plot)->bottom->labels_offset = 15.; GTK_PLOT(plot)->bottom->label_precision = 0; GTK_PLOT(plot)->ymin = 0.2; GTK_PLOT(plot)->left->ticks.min = 0.2; GTK_PLOT(plot)->left->ticks.step = 0.2; GTK_PLOT(plot)->right->ticks.min = 0.2; GTK_PLOT(plot)->right->ticks.step = 0.2; GTK_PLOT(plot)->left->title.angle = 0.; gtk_plot_axis_set_title(GTK_PLOT(plot)->left, "R"); GTK_PLOT(plot)->top->is_visible = FALSE; GTK_PLOT(plot)->bottom->show_major_grid = TRUE; GTK_PLOT(plot)->bottom->show_minor_grid = TRUE; GTK_PLOT(plot)->left->show_major_grid = TRUE; GTK_PLOT(plot)->left->show_minor_grid = TRUE; plot->rotation = 0.0; }
int main(int argc, char *argv[]){ GtkWidget *window1; GtkWidget *vbox1; GtkWidget *scrollw1; GtkWidget *active_plot; GdkColor color; gint page_width, page_height; gfloat scale = 1.; page_width = GTK_PLOT_LETTER_W * scale; page_height = GTK_PLOT_LETTER_H * scale; gtk_init(&argc,&argv); window1=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window1), "GtkPlot Real Time Demo"); gtk_widget_set_usize(window1,550,600); gtk_container_border_width(GTK_CONTAINER(window1),0); gtk_signal_connect (GTK_OBJECT (window1), "destroy", GTK_SIGNAL_FUNC (quit), NULL); vbox1=gtk_vbox_new(FALSE,0); gtk_container_add(GTK_CONTAINER(window1),vbox1); gtk_widget_show(vbox1); scrollw1=gtk_scrolled_window_new(NULL, NULL); gtk_container_border_width(GTK_CONTAINER(scrollw1),0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollw1), GTK_POLICY_ALWAYS,GTK_POLICY_ALWAYS); gtk_box_pack_start(GTK_BOX(vbox1),scrollw1, TRUE, TRUE,0); gtk_widget_show(scrollw1); canvas = gtk_plot_canvas_new(page_width, page_height, 1.); GTK_PLOT_CANVAS_UNSET_FLAGS(GTK_PLOT_CANVAS(canvas), GTK_PLOT_CANVAS_DND_FLAGS); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrollw1), canvas); gdk_color_parse("light blue", &color); gdk_color_alloc(gtk_widget_get_colormap(canvas), &color); gtk_plot_canvas_set_background(GTK_PLOT_CANVAS(canvas), &color); gtk_widget_show(canvas); active_plot = new_layer(canvas); gdk_color_parse("light yellow", &color); gdk_color_alloc(gtk_widget_get_colormap(active_plot), &color); gtk_plot_set_background(GTK_PLOT(active_plot), &color); gdk_color_parse("white", &color); gdk_color_alloc(gtk_widget_get_colormap(canvas), &color); gtk_plot_legends_set_attributes(GTK_PLOT(active_plot), NULL, 0, NULL, &color); gtk_plot_set_range(GTK_PLOT(active_plot), 0. ,20., 0., 1.); gtk_plot_axis_set_ticks(GTK_PLOT(active_plot), GTK_PLOT_AXIS_X, 2, 1); gtk_plot_axis_set_ticks(GTK_PLOT(active_plot), GTK_PLOT_AXIS_Y, .1, 1); gtk_plot_axis_set_labels_numbers(GTK_PLOT(active_plot), 2, 0, 0); gtk_plot_axis_set_labels_numbers(GTK_PLOT(active_plot), 3, 0, 0); gtk_plot_axis_set_visible(GTK_PLOT(active_plot), GTK_PLOT_AXIS_TOP, TRUE); gtk_plot_axis_set_visible(GTK_PLOT(active_plot), GTK_PLOT_AXIS_RIGHT, TRUE); gtk_plot_grids_set_visible(GTK_PLOT(active_plot), TRUE, TRUE, TRUE, TRUE); gtk_plot_canvas_add_plot(GTK_PLOT_CANVAS(canvas), GTK_PLOT(active_plot), .15, .15); gtk_plot_axis_hide_title(GTK_PLOT(active_plot), GTK_PLOT_AXIS_TOP); gtk_plot_axis_hide_title(GTK_PLOT(active_plot), GTK_PLOT_AXIS_RIGHT); gtk_plot_axis_set_title(GTK_PLOT(active_plot), GTK_PLOT_AXIS_LEFT, "Intensity"); gtk_plot_axis_set_title(GTK_PLOT(active_plot), GTK_PLOT_AXIS_BOTTOM, "Point"); gtk_plot_set_legends_border(GTK_PLOT(active_plot), 2, 3); gtk_plot_legends_move(GTK_PLOT(active_plot), .60, .10); gtk_widget_show(active_plot); gtk_widget_show(window1); gtk_plot_canvas_put_text(GTK_PLOT_CANVAS(canvas), .45, .05, "Times-BoldItalic", 20, 0, NULL, NULL, TRUE, GTK_JUSTIFY_CENTER, "Iterator Demo"); dataset = GTK_PLOT_DATA(gtk_plot_data_new_iterator((GtkPlotIterator)iter, 20, GTK_PLOT_DATA_X|GTK_PLOT_DATA_Y|GTK_PLOT_DATA_LABELS)); gtk_plot_data_show_labels(dataset, TRUE); gtk_plot_add_data(GTK_PLOT(active_plot), dataset); gtk_widget_show(GTK_WIDGET(dataset)); gdk_color_parse("red", &color); gdk_color_alloc(gdk_colormap_get_system(), &color); gtk_plot_data_set_legend(dataset, "Iterator"); gtk_plot_data_set_symbol(dataset, GTK_PLOT_SYMBOL_DIAMOND, GTK_PLOT_SYMBOL_OPAQUE, 10, 2, &color, &color); gtk_plot_data_set_line_attributes(dataset, GTK_PLOT_LINE_SOLID, 1, &color); gtk_plot_canvas_paint(GTK_PLOT_CANVAS(canvas)); gtk_plot_canvas_refresh(GTK_PLOT_CANVAS(canvas)); /* gtk_plot_clip_data(GTK_PLOT(active_plot), TRUE); */ gtk_main(); return(0); }
int main(int argc, char *argv[]){ GtkWidget *window1; GtkWidget *vbox1; GtkWidget *scrollw1; GtkWidget *active_plot; GdkColor color; gint page_width, page_height; gfloat scale = 1.; page_width = GTK_PLOT_LETTER_W * scale; page_height = GTK_PLOT_LETTER_H * scale; gtk_init(&argc,&argv); window1=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window1), "GtkPlot Real Time Demo"); gtk_widget_set_usize(window1,550,600); gtk_container_border_width(GTK_CONTAINER(window1),0); gtk_signal_connect (GTK_OBJECT (window1), "destroy", GTK_SIGNAL_FUNC (quit), NULL); vbox1=gtk_vbox_new(FALSE,0); gtk_container_add(GTK_CONTAINER(window1),vbox1); gtk_widget_show(vbox1); scrollw1=gtk_scrolled_window_new(NULL, NULL); gtk_container_border_width(GTK_CONTAINER(scrollw1),0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollw1), GTK_POLICY_ALWAYS,GTK_POLICY_ALWAYS); gtk_box_pack_start(GTK_BOX(vbox1),scrollw1, TRUE, TRUE,0); gtk_widget_show(scrollw1); canvas = gtk_plot_canvas_new(page_width, page_height); GTK_PLOT_CANVAS_UNSET_FLAGS(GTK_PLOT_CANVAS(canvas), GTK_PLOT_CANVAS_DND_FLAGS); layout = canvas; gtk_container_add(GTK_CONTAINER(scrollw1),layout); gtk_layout_set_size(GTK_LAYOUT(layout), page_width, page_height); GTK_LAYOUT(layout)->hadjustment->step_increment = 5; GTK_LAYOUT(layout)->vadjustment->step_increment = 5; gdk_color_parse("light blue", &color); gdk_color_alloc(gtk_widget_get_colormap(layout), &color); gtk_plot_layout_set_background(GTK_PLOT_LAYOUT(layout), color); gtk_widget_show(layout); active_plot = new_layer(layout); gdk_color_parse("light yellow", &color); gdk_color_alloc(gtk_widget_get_colormap(active_plot), &color); gtk_plot_set_background(GTK_PLOT(active_plot), color); gdk_color_parse("white", &color); gdk_color_alloc(gtk_widget_get_colormap(layout), &color); gtk_plot_legends_set_attributes(GTK_PLOT(active_plot), NULL, 0, NULL, &color); gtk_plot_set_range(GTK_PLOT(active_plot), 0. ,20., 0., 1.); gtk_plot_axis_set_ticks(GTK_PLOT(active_plot), 0, 2, 1); gtk_plot_axis_set_ticks(GTK_PLOT(active_plot), 1, .1, .05); gtk_plot_axis_labels_set_numbers(GTK_PLOT(active_plot), 2, 0, 0); gtk_plot_axis_labels_set_numbers(GTK_PLOT(active_plot), 3, 0, 0); gtk_plot_axis_set_visible(GTK_PLOT(active_plot), GTK_PLOT_AXIS_TOP, TRUE); gtk_plot_axis_set_visible(GTK_PLOT(active_plot), GTK_PLOT_AXIS_RIGHT, TRUE); gtk_plot_set_grids_visible(GTK_PLOT(active_plot), TRUE, TRUE, TRUE, TRUE); gtk_plot_canvas_add_plot(GTK_PLOT_CANVAS(canvas), GTK_PLOT(active_plot), .15, .15); gtk_plot_axis_hide_title(GTK_PLOT(active_plot), GTK_PLOT_AXIS_TOP); gtk_plot_axis_hide_title(GTK_PLOT(active_plot), GTK_PLOT_AXIS_RIGHT); gtk_plot_axis_set_title(GTK_PLOT(active_plot), GTK_PLOT_AXIS_LEFT, "Intensity"); gtk_plot_axis_set_title(GTK_PLOT(active_plot), GTK_PLOT_AXIS_BOTTOM, "Time (s)"); gtk_plot_show_legends_border(GTK_PLOT(active_plot), TRUE, 3); gtk_plot_legends_move(GTK_PLOT(active_plot), .60, .10); gtk_widget_show(active_plot); gtk_widget_show(window1); gtk_plot_layout_put_text(GTK_PLOT_LAYOUT(canvas), .45, .05, 0, "Times-BoldItalic", 20, NULL, NULL, GTK_JUSTIFY_CENTER, "Real Time Demo"); dataset = gtk_plot_dataset_new(GTK_PLOT(active_plot)); gtk_plot_add_dataset(GTK_PLOT(active_plot), dataset); gdk_color_parse("red", &color); gdk_color_alloc(gdk_colormap_get_system(), &color); gtk_plot_dataset_set_legend(dataset, "Random pulse"); gtk_plot_dataset_set_symbol(dataset, GTK_PLOT_SYMBOL_DIAMOND, GTK_PLOT_SYMBOL_OPAQUE, 10, 2, color); gtk_plot_dataset_set_line_attributes(dataset, GTK_PLOT_LINE_SOLID, 1, color); timer = gtk_timeout_add(1000, update, active_plot); gtk_main(); return(0); }