Skip to content
Snippets Groups Projects
Commit fe4fd6ee authored by Canek Peláez Valdés's avatar Canek Peláez Valdés :slight_smile:
Browse files

application-window: Add stack child, and implement open() method.

parent fce6067f
Branches
Tags stage3
No related merge requests found
......@@ -3,11 +3,39 @@ namespace Example {
[GtkTemplate (ui = "/org/gtk/exampleapp/window.ui")]
public class ApplicationWindow : Gtk.ApplicationWindow {
[GtkChild]
private Gtk.Stack stack;
public ApplicationWindow (Gtk.Application application) {
GLib.Object (application: application);
}
public void open (GLib.File file) {
var basename = file.get_basename ();
var scrolled = new Gtk.ScrolledWindow (null, null);
scrolled.show ();
scrolled.hexpand = true;
scrolled.vexpand = true;
var view = new Gtk.TextView ();
view.editable = false;
view.cursor_visible = false;
view.show ();
scrolled.add (view);
stack.add_titled (scrolled, basename, basename);
try {
uint8[] contents;
if (file.load_contents (null, out contents, null)) {
var buffer = view.get_buffer ();
buffer.set_text ((string)contents);
}
} catch (GLib.Error e) {
GLib.warning ("There was an error loading '%s': %s",
basename, e.message);
}
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment