Exemplo n.º 1
0
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);
    }
}
Exemplo n.º 2
0
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");
}
Exemplo n.º 3
0
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;
}
Exemplo n.º 4
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);
}
Exemplo n.º 5
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);
}