From f4e8bb9560428781dff219eff11a34df59d84f4a Mon Sep 17 00:00:00 2001 From: dakkar Date: Thu, 24 Nov 2005 09:53:40 +0000 Subject: r801@narval2: dakkar | 2005-11-19 18:38:19 +0100 tentativo di dialog con Glade git-svn-id: svn://luxion/repos/GtkPerlFileManager/trunk@46 fcb26f47-9200-0410-b104-b98ab5b095f3 --- lib/LDFM/DialogController.pm | 40 ++++++++++++++ lib/LDFM/MainController.pm | 3 +- resources/ldfm-dialog.glade | 123 +++++++++++++++++++++++++++++++++++++++++++ scripts/ldfm | 7 ++- 4 files changed, 168 insertions(+), 5 deletions(-) create mode 100644 lib/LDFM/DialogController.pm create mode 100644 resources/ldfm-dialog.glade diff --git a/lib/LDFM/DialogController.pm b/lib/LDFM/DialogController.pm new file mode 100644 index 0000000..eb4936a --- /dev/null +++ b/lib/LDFM/DialogController.pm @@ -0,0 +1,40 @@ +package LDFM::MainController; +use utf8; +use warnings; +use strict; +use base 'Gtk2::GladeXML::Simple'; + +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 { + return; + } +} + +1; diff --git a/lib/LDFM/MainController.pm b/lib/LDFM/MainController.pm index 2f573cc..09639c4 100644 --- a/lib/LDFM/MainController.pm +++ b/lib/LDFM/MainController.pm @@ -12,7 +12,8 @@ our $VERSION = '0.01'; sub new { my ($class,%params)=@_; - my $self=$class->SUPER::new($params{glade_file}); + my $glade_file=dir($params{glade_dir})->file('ldfm-main.glade'); + my $self=$class->SUPER::new($glade_file); # cambio le liste con qualcosa di piĆ¹ comodo $self->simplify_list('left'); diff --git a/resources/ldfm-dialog.glade b/resources/ldfm-dialog.glade new file mode 100644 index 0000000..ab20668 --- /dev/null +++ b/resources/ldfm-dialog.glade @@ -0,0 +1,123 @@ + + + + + + + True + Domanda + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + True + True + False + True + False + False + GDK_WINDOW_TYPE_HINT_DIALOG + GDK_GRAVITY_NORTH_WEST + True + + + + True + False + 0 + + + + True + GTK_BUTTONBOX_END + + + + True + True + True + gtk-cancel + True + GTK_RELIEF_NORMAL + True + -6 + + + + + + True + True + True + gtk-ok + True + GTK_RELIEF_NORMAL + True + -5 + + + + + 0 + False + True + GTK_PACK_END + + + + + + True + False + 0 + + + + True + domanda + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 2 + 2 + risposta + + + 0 + False + False + + + + + + True + True + True + True + 0 + + True + * + False + + + 0 + False + False + + + + + 0 + False + False + + + + + + + diff --git a/scripts/ldfm b/scripts/ldfm index 62e6246..d8b71ff 100644 --- a/scripts/ldfm +++ b/scripts/ldfm @@ -6,14 +6,13 @@ use Gtk2 '-init'; use Path::Class; use LDFM::MainController; -my $glade_file=file(__FILE__) +my $glade_dir=file(__FILE__) ->parent ->parent - ->subdir('resources') - ->file('ldfm-main.glade'); + ->subdir('resources'); my $main_controller=LDFM::MainController->new( - glade_file => $glade_file + glade_dir => $glade_dir ); $main_controller->run(); -- cgit v1.2.3