LAview.Object-Example/src/ObjectDialog.vala

48 lines
1.1 KiB
Vala

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 ();
}
}
}