Main.vala 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. using Gtk;
  2. int main (string[] argv) {
  3. // Create a new application
  4. var app = new Gtk.Application ("com.example.GtkApplication", GLib.ApplicationFlags.FLAGS_NONE);
  5. app.activate.connect (() => {
  6. var window = new Gtk.ApplicationWindow (app);
  7. window.width_request = 250;
  8. window.height_request = 100;
  9. window.title = "Not Loopy";
  10. var text_view = new TextView();
  11. text_view.set_wrap_mode (WrapMode.WORD_CHAR);
  12. // text_view.set_editable (false);
  13. var buffer = text_view.get_buffer();
  14. var tags = new GtkCommonMark.TagManager(buffer);
  15. // buffer.begin_irreversible_action();
  16. // TextIter iter;
  17. // buffer.get_iter_at_offset (out iter, 0);
  18. // buffer.insert_with_tags (ref iter, "Oh My!\n", -1, tags.heading_l1);
  19. // buffer.insert(ref iter, "Hello world ", -1);
  20. // buffer.insert_with_tags (ref iter, "this is my link", -1, tags.emphisis, tags.strong);
  21. // buffer.insert(ref iter, ", what do you think?\n", -1);
  22. // buffer.insert_with_tags (ref iter, "What a quote though\nI don't know what to think!", -1, tags.strong);
  23. // buffer.end_irreversible_action();
  24. var reader = new GtkCommonMark.Reader(buffer, tags);
  25. var file = GLib.FileStream.open ("/home/bbarrow/Documents/Recipes/canned_spaghetti_toast/recipe.md", "r");
  26. var root = CMark.Node.parse_file (file, CMark.OPT.DEFAULT);
  27. reader.append_node (root);
  28. text_view.top_margin = 18;
  29. text_view.bottom_margin = 18;
  30. text_view.left_margin = 18;
  31. text_view.right_margin = 18;
  32. var srcolled_window = new Gtk.ScrolledWindow ();
  33. srcolled_window.set_policy (PolicyType.NEVER, PolicyType.AUTOMATIC);
  34. srcolled_window.set_child(text_view);
  35. window.set_child (srcolled_window);
  36. window.present ();
  37. });
  38. return app.run (argv);
  39. }