Advertisement
Guest User

Gtk Vala Dazzle graphview

a guest
Jan 3rd, 2020
378
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Vala 1.46 KB | None | 0 0
  1. // valac --pkg gtk+-3.0 --pkg libdazzle-1.0 <file.vala>
  2. public static int main (string[] argv) {
  3.     Gtk.init (ref argv);
  4.     var win = new Gtk.Window ();
  5.     var gv = new Dazzle.GraphView ();
  6.     var gm = new Dazzle.GraphModel ();
  7.     var b = new Gtk.Button.with_label ("add datapoint");
  8.     var box = new Gtk.Box (Gtk.Orientation.VERTICAL, 10);
  9.     var gc = new Dazzle.GraphColumn ("The Value", Type.from_name ("gdouble"));
  10.     var gr = new Dazzle.GraphLineRenderer ();
  11.     var l = new Gtk.Label ("asdf");
  12.  
  13.     gm.set_timespan (TimeSpan.MINUTE);
  14.     gm.set_max_samples (30);
  15.     gm.add_column (gc);
  16.  
  17.     b.clicked.connect (() => {
  18.         Dazzle.GraphModelIter gi;
  19.         gm.push (out gi, GLib.get_monotonic_time ());
  20.         Dazzle.GraphModel.iter_set_value (gi, 0, Random.double_range (0, 100));
  21.         message ("added");
  22.     });
  23.     gm.changed.connect (() => { message ("changed"); });
  24.     box.expand = true;
  25.     gv.expand = true;
  26.     box.pack_start (b, false, false, 0);
  27.     Gdk.RGBA linecol = Gdk.RGBA ();
  28.     linecol.red = 1.0; linecol.green = 0.0; linecol.blue = 0.0; linecol.alpha = 1.0;
  29.     gr.stroke_color_rgba = linecol;
  30.     gr.line_width = 1;
  31.     gr.column = 0;
  32.     gv.add_renderer (gr);
  33.     box.pack_start (gv, true, true, 0);
  34.     box.pack_start (l, false, false, 0);
  35.     gv.set_model (gm);
  36.     win.add (box);
  37.     win.show_all ();
  38.     win.delete_event.connect (() => { Gtk.main_quit (); return true; });
  39.     Gtk.main ();
  40.     return 0;
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement