summaryrefslogtreecommitdiff
path: root/lib/LDFM/DialogController.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/LDFM/DialogController.pm')
-rw-r--r--lib/LDFM/DialogController.pm43
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/LDFM/DialogController.pm b/lib/LDFM/DialogController.pm
new file mode 100644
index 0000000..7cd7807
--- /dev/null
+++ b/lib/LDFM/DialogController.pm
@@ -0,0 +1,43 @@
+package LDFM::DialogController;
+use utf8;
+use warnings;
+use strict;
+use base 'Gtk2::GladeXML::Simple';
+use Path::Class;
+
+our $VERSION = '0.01';
+
+sub new {
+ my ($class,%params)=@_;
+
+ my $glade_file=dir($params{glade_dir})->file('ldfm-dialog.glade');
+ my $self=$class->SUPER::new($glade_file);
+
+ $self->{domanda}->set_text($params{domanda});
+
+ $self->{risposta}->set_text($params{risposta}||'');
+
+ return $self;
+}
+
+sub run {
+ my ($self)=@_;
+
+ $self->{dialog}->set_default_response('ok');
+
+ my $response=$self->{dialog}->run();
+
+ if ($response eq 'ok') {
+ my $data=$self->{risposta}->get_text();
+ $self->{dialog}->destroy();
+
+ return $data;
+ }
+ else {
+ $self->{dialog}->destroy();
+
+ return;
+ }
+}
+
+1;