diff options
Diffstat (limited to 'lib/LDFM/DialogController.pm')
-rw-r--r-- | lib/LDFM/DialogController.pm | 43 |
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; |