namespace LAview.Core.Plugins { using Gtk, LAview; class ObjectExampleDialog : Object { Dialog dialog; public bool composed { get; private set; default = false; } public ObjectExampleDialog (Object parent) throws Error { var builder = new Builder (); builder.add_from_file (ObjectExample.AppDirs.ui_dir + "/laview-plugin-object-example.glade"); builder.connect_signals (this); dialog = builder.get_object ("object_example_dialog") as Dialog; if (parent is Window) { dialog.destroy_with_parent = true; dialog.transient_for = parent as Window; dialog.modal = true; dialog.delete_event.connect ((source) => { dialog.hide_on_delete(); return true; }); } } public void show_all () { composed = false; dialog.run (); } [CCode (instance_pos = -1)] public void button_apply_clicked (Button button) { composed = true; } [CCode (instance_pos = -1)] public void button_ok_clicked (Button button) { composed = true; dialog.hide (); } [CCode (instance_pos = -1)] public void button_cancel_clicked (Button button) { dialog.hide (); } } }