Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Hi (Please Cc debian-perl on replies) Would it be possible to unblock libconfig-model-tkui-perl once uploaded to unstable? 1.308 is affected from a bug, that hid help text from the graphical interface. I attach to this request the planned debdiff and diffstat for this. unblock libconfig-model-tkui-perl/1.309-1 Build.PL | 10 ChangeLog | 7 MANIFEST | 1 MANIFEST.SKIP | 2 META.yml | 26 ++ debian/changelog | 7 debian/control | 2 examples/model.pl | 10 lib/Config/Model/Tk/AnyViewer.pm | 84 +++---- lib/Config/Model/Tk/CheckListEditor.pm | 94 ++++---- lib/Config/Model/Tk/CheckListViewer.pm | 44 ++- lib/Config/Model/Tk/HashEditor.pm | 12 - lib/Config/Model/Tk/HashViewer.pm | 12 - lib/Config/Model/Tk/LeafEditor.pm | 168 +++++++------- lib/Config/Model/Tk/LeafViewer.pm | 12 - lib/Config/Model/Tk/ListEditor.pm | 12 - lib/Config/Model/Tk/ListViewer.pm | 12 - lib/Config/Model/Tk/NodeEditor.pm | 12 - lib/Config/Model/Tk/NodeViewer.pm | 12 - lib/Config/Model/Tk/NoteEditor.pm | 12 - lib/Config/Model/Tk/Wizard.pm | 12 - lib/Config/Model/TkUI.pm | 21 - t/big_model.pm | 387 ++++++++++++++++----------------- t/release-pod-syntax.t | 10 24 files changed, 518 insertions(+), 463 deletions(-) It seems a really big change, but this is not right true, becouse in the debdiff there are too many 'spaces' diffs. The package is not yet uploaded to unstable, however. Can we proceede with the upload and would it get a freeze exception? Release Managers, thanks for your work! Bests Salvatore -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.26-2-amd64 (SMP w/8 CPU cores) Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Shell: /bin/sh linked to /bin/dash
diff -Nru libconfig-model-tkui-perl-1.308/Build.PL libconfig-model-tkui-perl-1.309/Build.PL --- libconfig-model-tkui-perl-1.308/Build.PL 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/Build.PL 2010-08-09 19:49:45.000000000 +0200 @@ -1,12 +1,12 @@ -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# # Copyright (c) 2007-2010 Dominique Dumont. # # This file is part of Config-Model-TkUI. diff -Nru libconfig-model-tkui-perl-1.308/ChangeLog libconfig-model-tkui-perl-1.309/ChangeLog --- libconfig-model-tkui-perl-1.308/ChangeLog 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/ChangeLog 2010-08-09 19:49:45.000000000 +0200 @@ -1,4 +1,9 @@ -2010-07-22 Dominique Dumont <domi.dum...@free.fr> +2010-08-08 Dominique Dumont <domi.dum...@free.fr> 1.309 + + * lib/Config/Model/Tk/AnyViewer.pm (add_help): Fix bug that hid + summary and help text + +2010-07-22 Dominique Dumont <domi.dum...@free.fr> 1.308 * MANIFEST.SKIP: added libconfig to avoid accidental upload of Debian test packages diff -Nru libconfig-model-tkui-perl-1.308/MANIFEST libconfig-model-tkui-perl-1.309/MANIFEST --- libconfig-model-tkui-perl-1.308/MANIFEST 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/MANIFEST 2010-08-09 19:49:45.000000000 +0200 @@ -3,6 +3,7 @@ LICENSE MANIFEST MANIFEST.SKIP +META.yml README examples/model.pl lib/Config/Model/Tk/AnyViewer.pm diff -Nru libconfig-model-tkui-perl-1.308/MANIFEST.SKIP libconfig-model-tkui-perl-1.309/MANIFEST.SKIP --- libconfig-model-tkui-perl-1.308/MANIFEST.SKIP 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/MANIFEST.SKIP 2010-08-09 19:49:45.000000000 +0200 @@ -2,4 +2,6 @@ libconfig ~$ \.old$ +\.orig$ +_build dist.ini diff -Nru libconfig-model-tkui-perl-1.308/META.yml libconfig-model-tkui-perl-1.309/META.yml --- libconfig-model-tkui-perl-1.308/META.yml 1970-01-01 01:00:00.000000000 +0100 +++ libconfig-model-tkui-perl-1.309/META.yml 2010-08-09 19:49:45.000000000 +0200 @@ -0,0 +1,26 @@ +--- +abstract: 'Tk GUI to edit config data through Config::Model' +author: + - 'Dominique Dumont' +build_requires: + Module::Build: 0.3601 +configure_requires: + Module::Build: 0.3601 +dynamic_config: 0 +generated_by: 'Dist::Zilla version 4.101900, CPAN::Meta::Converter version 2.101670' +license: lgpl +meta-spec: + url: http://module-build.sourceforge.net/META-spec-v1.4.html + version: 1.4 +name: Config-Model-TkUI +recommends: + Tk::ObjScanner: 0 +requires: + Config::Model: 1.202 + Exception::Class: 0 + Log::Log4perl: 1.11 + Pod::POM: 0 + Tk: 0 + Tk::DirSelect: 0 + Tk::Tree: 0 +version: 1.309 diff -Nru libconfig-model-tkui-perl-1.308/debian/changelog libconfig-model-tkui-perl-1.309/debian/changelog --- libconfig-model-tkui-perl-1.308/debian/changelog 2010-07-23 12:34:56.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/debian/changelog 2010-08-10 13:10:59.000000000 +0200 @@ -1,3 +1,10 @@ +libconfig-model-tkui-perl (1.309-1) unstable; urgency=low + + * New upstream release + * Bump Standards-Version to 3.9.1 (no changes needed). + + -- Salvatore Bonaccorso <salvatore.bonacco...@gmail.com> Tue, 10 Aug 2010 13:10:54 +0200 + libconfig-model-tkui-perl (1.308-1) unstable; urgency=low * New upstream release diff -Nru libconfig-model-tkui-perl-1.308/debian/control libconfig-model-tkui-perl-1.309/debian/control --- libconfig-model-tkui-perl-1.308/debian/control 2010-07-23 12:34:56.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/debian/control 2010-08-10 08:40:10.000000000 +0200 @@ -14,7 +14,7 @@ Uploaders: Dominique Dumont <dominique.dum...@hp.com>, Jonathan Yu <jaw...@cpan.org>, gregor herrmann <gre...@debian.org>, Salvatore Bonaccorso <salvatore.bonacco...@gmail.com> -Standards-Version: 3.9.0 +Standards-Version: 3.9.1 Homepage: http://search.cpan.org/dist/Config-Model-TkUI/ Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libconfig-model-tkui-perl/ Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/libconfig-model-tkui-perl/ diff -Nru libconfig-model-tkui-perl-1.308/examples/model.pl libconfig-model-tkui-perl-1.309/examples/model.pl --- libconfig-model-tkui-perl-1.308/examples/model.pl 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/examples/model.pl 2010-08-09 19:49:45.000000000 +0200 @@ -1,13 +1,13 @@ #!/usr/bin/perl -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# # example contributed by # (c) 2009 Alexander Becker <asb_ehb at yahoo.de> diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/AnyViewer.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/AnyViewer.pm --- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/AnyViewer.pm 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/AnyViewer.pm 2010-08-09 19:49:45.000000000 +0200 @@ -1,12 +1,12 @@ -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# # Copyright (c) 2008-2010 Dominique Dumont. # # This file is part of Config-Model-TkUi. @@ -27,7 +27,7 @@ package Config::Model::Tk::AnyViewer ; BEGIN { - $Config::Model::Tk::AnyViewer::VERSION = '1.308'; + $Config::Model::Tk::AnyViewer::VERSION = '1.309'; } use strict; @@ -54,8 +54,8 @@ my ($cw,$type,$item) = @_ ; unless (%img) { - $img{edit} = $cw->Photo(-file => $icon_path.'wizard.png'); - $img{view} = $cw->Photo(-file => $icon_path.'viewmag.png'); + $img{edit} = $cw->Photo(-file => $icon_path.'wizard.png'); + $img{view} = $cw->Photo(-file => $icon_path.'viewmag.png'); } my $idx ; @@ -96,14 +96,14 @@ $title .= ':'.$elt_name if $elt_name; my $dialog = $cw->Dialog ( - -title => $title, - -text => join("\n",$title,@items), - -font => $text_font , - ); + -title => $title, + -text => join("\n",$title,@items), + -font => $text_font , + ); my $button = $frame -> Button(-text => "info ...", - -command => sub {$dialog -> Show; } - ) ; + -command => sub {$dialog -> Show; } + ) ; return $button ; # to be packed by caller } @@ -120,35 +120,35 @@ return $help_frame unless $force_text_widget or $help; $help_frame ->Label( - -text => $help_label, - ) ->pack(-anchor => 'w'); + -text => $help_label, + ) ->pack(-anchor => 'w'); my $widget ; chomp $help ; if ( $force_text_widget or $help =~ /\n/ or length($help) > 50) { - $widget = $help_frame->Scrolled('ROText', - -scrollbars => 'ow', - -wrap => 'word', - -font => $text_font , - -relief => 'ridge', - -height => 4, - ); - - $widget ->pack( @fbe1 ) ->insert('end',$help,'help') ; - $widget - ->tagConfigure(qw/help -lmargin1 2 -lmargin2 2 -rmargin 2/); + $widget = $help_frame->Scrolled('ROText', + -scrollbars => 'ow', + -wrap => 'word', + -font => $text_font , + -relief => 'ridge', + -height => 4, + ); + + $widget ->pack( @fbe1 ) ->insert('end',$help,'help') ; + $widget + ->tagConfigure(qw/help -lmargin1 2 -lmargin2 2 -rmargin 2/); } else { - $widget = $help_frame->Label( -text => $help, - -justify => 'left', - -font => $text_font , - -anchor => 'w', - -padx => $padx , - ) - ->pack( -fill => 'x'); + $widget = $help_frame->Label( -text => $help, + -justify => 'left', + -font => $text_font , + -anchor => 'w', + -padx => $padx , + ) + ->pack( -fill => 'x'); } - return $widget ; + return wantarray ? ($help_frame,$widget) : $help_frame ; } sub add_summary { @@ -156,7 +156,7 @@ my $p = $elt_obj->parent ; my $name = $elt_obj->element_name ; - $cw->add_help( Summary => $p->get_help(summary => $name)) ; + return $cw->add_help( Summary => $p->get_help(summary => $name)) ; } sub add_description { @@ -164,24 +164,24 @@ my $p = $elt_obj->parent ; my $name = $elt_obj->element_name ; - $cw->add_help( Description => $p->get_help(description => $name)) ; + return $cw->add_help( Description => $p->get_help(description => $name)) ; } # returns a widget that must be packed sub add_annotation { my ($cw, $obj) = @_ ; - $cw->add_help('Note', $obj->annotation) ; + return $cw->add_help('Note', $obj->annotation) ; } sub add_editor_button { my ($cw,$path) = @_ ; my $sub = sub { - $cw->parent->parent->parent->parent - -> create_element_widget( edit => $path) ; - } ; - $cw->Button(-text => 'Edit ...', -command => $sub) ; + $cw->parent->parent->parent->parent + -> create_element_widget( edit => $path) ; + } ; + return $cw->Button(-text => 'Edit ...', -command => $sub) ; } # do nothing by default diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/CheckListEditor.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/CheckListEditor.pm --- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/CheckListEditor.pm 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/CheckListEditor.pm 2010-08-09 19:49:45.000000000 +0200 @@ -1,15 +1,15 @@ -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# package Config::Model::Tk::CheckListEditor ; BEGIN { - $Config::Model::Tk::CheckListEditor::VERSION = '1.308'; + $Config::Model::Tk::CheckListEditor::VERSION = '1.309'; } use strict; @@ -58,21 +58,21 @@ my $lb ; my @choice = $leaf->get_choice ; my $raise_cmd = sub{ - $lb->selectionClear(0,'end') ; - my %h = $leaf->get_checked_list_as_hash ; - for (my $i=0; $i<@choice; $i++) { - $lb->selectionSet($i,$i) if $h{$choice[$i]} ; - } + $lb->selectionClear(0,'end') ; + my %h = $leaf->get_checked_list_as_hash ; + for (my $i=0; $i<@choice; $i++) { + $lb->selectionSet($i,$i) if $h{$choice[$i]} ; + } } ; my $ed_frame = $nb->add('content', -label => 'Change content', - -raisecmd => $raise_cmd , - ); + -raisecmd => $raise_cmd , + ); $lb = $ed_frame->Scrolled ( qw/Listbox -selectmode multiple/, - -scrollbars => 'osoe', - -height => 5, - ) ->pack(@fbe1) ; + -scrollbars => 'osoe', + -height => 5, + ) ->pack(@fbe1) ; $lb->insert('end',@choice) ; @@ -84,28 +84,30 @@ my $bframe = $ed_frame->Frame->pack; $bframe -> Button ( -text => 'Clear all', - -command => sub { $lb->selectionClear(0,'end') ; }, - ) -> pack(-side => 'left') ; + -command => sub { $lb->selectionClear(0,'end') ; }, + ) -> pack(-side => 'left') ; $bframe -> Button ( -text => 'Set all', - -command => sub { $lb->selectionSet(0,'end') ; }, - ) -> pack(-side => 'left') ; + -command => sub { $lb->selectionSet(0,'end') ; }, + ) -> pack(-side => 'left') ; $bframe -> Button ( -text => 'Reset', - -command => sub { $cw->reset_value ; }, - ) -> pack(-side => 'left') ; + -command => sub { $cw->reset_value ; }, + ) -> pack(-side => 'left') ; $bframe -> Button ( -text => 'Store', - -command => sub { $cw->store ( &$get_selected )}, - ) -> pack(-side => 'left') ; + -command => sub { $cw->store ( &$get_selected )}, + ) -> pack(-side => 'left') ; $cw->ConfigModelNoteEditor( -object => $leaf )->pack(@fbe1) ; $cw->add_summary($leaf)->pack(@fx) ; $cw->add_description($leaf)->pack(@fx) ; - $cw->{value_help_widget} = $cw->add_help(value => '',1)->pack(@fx); + my ($help_frame, $help_widget) = $cw->add_help(value => '',1); + $help_frame->pack(@fx); + $cw->{value_help_widget} = $help_widget ; $cw->add_info_button()->pack(@fxe1) ; $b_sub->() ; # Add a second page to edit the list order for ordered check list if ($leaf->ordered) { - $cw->add_change_order_page($nb,$leaf) ; + $cw->add_change_order_page($nb,$leaf) ; } # don't call directly SUPER::Populate as it's CheckListViewer's populate @@ -117,36 +119,36 @@ my $order_list ; my $raise_cmd = sub{ - $order_list->delete(0,'end'); - $order_list->insert( end => $leaf->get_checked_list) ; + $order_list->delete(0,'end'); + $order_list->insert( end => $leaf->get_checked_list) ; } ; my $order_frame = $nb->add('order', -label => 'Change order', - -raisecmd => $raise_cmd , - ); + -raisecmd => $raise_cmd , + ); $order_list = $order_frame ->Scrolled ( 'Listbox', - -selectmode => 'single', - -scrollbars => 'oe', - -height => 6, - ) + -selectmode => 'single', + -scrollbars => 'oe', + -height => 6, + ) -> pack(@fbe1) ; $cw->{order_list} = $order_list ; unless (defined $up_img) { - $up_img = $cw->Photo(-file => $icon_path.'up.png'); - $down_img = $cw->Photo(-file => $icon_path.'down.png'); + $up_img = $cw->Photo(-file => $icon_path.'up.png'); + $down_img = $cw->Photo(-file => $icon_path.'down.png'); } my $mv_up_down_frame = $order_frame->Frame->pack( -fill => 'x'); $mv_up_down_frame->Button(-image => $up_img, - -command => sub { $cw->move_selected_up ;} , - )-> pack( -side => 'left', @fxe1); + -command => sub { $cw->move_selected_up ;} , + )-> pack( -side => 'left', @fxe1); $mv_up_down_frame->Button(-image => $down_img, - -command => sub { $cw->move_selected_down ;} , - )-> pack( -side => 'left', @fxe1); + -command => sub { $cw->move_selected_down ;} , + )-> pack( -side => 'left', @fxe1); } sub move_selected_up { @@ -199,12 +201,12 @@ my $cl = $cw->{leaf}; map { - if ($set{$_} and not $cl->is_checked($_) ) { - $cl->check($_) ; - } - elsif (not $set{$_} and $cl->is_checked($_) ) { - $cl->uncheck($_) ; - } + if ($set{$_} and not $cl->is_checked($_) ) { + $cl->check($_) ; + } + elsif (not $set{$_} and $cl->is_checked($_) ) { + $cl->uncheck($_) ; + } } $cw->{leaf}->get_choice; $cw->{store_cb}->() ; diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/CheckListViewer.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/CheckListViewer.pm --- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/CheckListViewer.pm 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/CheckListViewer.pm 2010-08-09 19:49:45.000000000 +0200 @@ -1,15 +1,15 @@ -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# package Config::Model::Tk::CheckListViewer ; BEGIN { - $Config::Model::Tk::CheckListViewer::VERSION = '1.308'; + $Config::Model::Tk::CheckListViewer::VERSION = '1.309'; } use strict; @@ -47,21 +47,23 @@ $cw->add_header(View => $leaf)->pack(@fx) ; my $rt = $cw->Scrolled ( 'ROText', - -scrollbars => 'osoe', - -height => 6, - ) ->pack(@fbe1) ; + -scrollbars => 'osoe', + -height => 6, + ) ->pack(@fbe1) ; $rt->tagConfigure('in',-background => 'black', -foreground => 'white') ; my %h = $leaf->get_checked_list_as_hash ; foreach my $c ($leaf->get_choice) { - my $tag = $h{$c} ? 'in' : 'out' ; - $rt->insert('end', $c."\n" , $tag) ; + my $tag = $h{$c} ? 'in' : 'out' ; + $rt->insert('end', $c."\n" , $tag) ; } $cw->add_annotation($leaf)->pack(@fx) ; $cw->add_summary($leaf)->pack(@fx) ; - $cw->{value_help_widget} = $cw->add_help(value => '',1)->pack(@fx); + my ($help_frame, $help_widget) = $cw->add_help(value => '',1); + $help_frame->pack(@fx); + $cw->{value_help_widget} = $help_widget ; $cw->set_value_help($leaf->get_checked_list); $cw->add_description($leaf)->pack(@fx) ; @@ -69,6 +71,14 @@ $cw->add_info_button()->pack(@fxe1, -side => 'left') ; $cw->add_editor_button($path)-> pack(@fxe1, -side => 'right') ; + $cw->ConfigSpecs( + #-fill => [ qw/SELF fill Fill both/], + #-expand => [ qw/SELF expand Expand 1/], + -relief => [qw/SELF relief Relief groove/ ], + -borderwidth => [qw/SELF borderwidth Borderwidth 2/] , + DEFAULT => [ qw/SELF/ ], + ); + $cw->SUPER::Populate($args) ; } @@ -76,8 +86,8 @@ my $cw = shift ; my $help_frame = $cw->Frame(-relief => 'groove', - -borderwidth => 2, - )->pack(@fbe1); + -borderwidth => 2, + )->pack(@fbe1); my $leaf = $cw->{leaf} ; $help_frame->Label(-text => 'value help: ')->pack(-side => 'left'); $help_frame->Label(-textvariable => \$cw->{help}) @@ -92,8 +102,8 @@ $w->delete('0.0','end'); foreach my $v (@set) { - my $value_help = $cw->{leaf}->get_help($v); - $w->insert('end',"$v: ".$value_help."\n") if defined $value_help ; + my $value_help = $cw->{leaf}->get_help($v); + $w->insert('end',"$v: ".$value_help."\n") if defined $value_help ; } } @@ -103,7 +113,7 @@ my @items = () ; my $leaf = $cw->{leaf} ; if (defined $leaf->refer_to) { - push @items, "refer_to: ".$leaf->refer_to ; + push @items, "refer_to: ".$leaf->refer_to ; } push @items, "ordered: ". ($leaf->ordered ? 'yes' : 'no'); return $leaf->element_name, @items ; diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/HashEditor.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/HashEditor.pm --- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/HashEditor.pm 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/HashEditor.pm 2010-08-09 19:49:45.000000000 +0200 @@ -1,15 +1,15 @@ -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# package Config::Model::Tk::HashEditor ; BEGIN { - $Config::Model::Tk::HashEditor::VERSION = '1.308'; + $Config::Model::Tk::HashEditor::VERSION = '1.309'; } use strict; diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/HashViewer.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/HashViewer.pm --- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/HashViewer.pm 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/HashViewer.pm 2010-08-09 19:49:45.000000000 +0200 @@ -1,15 +1,15 @@ -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# package Config::Model::Tk::HashViewer ; BEGIN { - $Config::Model::Tk::HashViewer::VERSION = '1.308'; + $Config::Model::Tk::HashViewer::VERSION = '1.309'; } use strict; diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/LeafEditor.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/LeafEditor.pm --- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/LeafEditor.pm 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/LeafEditor.pm 2010-08-09 19:49:45.000000000 +0200 @@ -1,15 +1,15 @@ -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# package Config::Model::Tk::LeafEditor ; BEGIN { - $Config::Model::Tk::LeafEditor::VERSION = '1.308'; + $Config::Model::Tk::LeafEditor::VERSION = '1.309'; } use strict; @@ -64,47 +64,47 @@ $ed_frame -> Label(-text => 'Value') -> pack() ; if ($vt eq 'string') { - $cw->{e_widget} = $ed_frame->Scrolled ( 'Text', - -height => 5 , - -scrollbars => 'ow', - ) + $cw->{e_widget} = $ed_frame->Scrolled ( 'Text', + -height => 5 , + -scrollbars => 'ow', + ) ->pack(@fbe1); - $cw->{e_widget} - ->tagConfigure(qw/value -lmargin1 2 -lmargin2 2 -rmargin 2/); - $cw->reset_value ; - my $bframe = $cw->add_buttons($ed_frame) ; - $bframe -> Button ( -text => 'Cleanup', - -command => sub { $cw->cleanup}, - ) -> pack(-side => 'left') ; + $cw->{e_widget} + ->tagConfigure(qw/value -lmargin1 2 -lmargin2 2 -rmargin 2/); + $cw->reset_value ; + my $bframe = $cw->add_buttons($ed_frame) ; + $bframe -> Button ( -text => 'Cleanup', + -command => sub { $cw->cleanup}, + ) -> pack(-side => 'left') ; } elsif ($vt eq 'boolean') { - $ed_frame->Checkbutton(-text => $leaf->element_name, - -variable => $vref, - -command => sub { $cw->try}, - ) - ->pack(); - $cw->add_buttons($ed_frame) ; + $ed_frame->Checkbutton(-text => $leaf->element_name, + -variable => $vref, + -command => sub { $cw->try}, + ) + ->pack(); + $cw->add_buttons($ed_frame) ; } elsif ($vt eq 'uniline' or $vt eq 'integer') { - $ed_frame -> Entry(-textvariable => $vref) - -> pack(@fx); - $cw->add_buttons($ed_frame) ; + $ed_frame -> Entry(-textvariable => $vref) + -> pack(@fx); + $cw->add_buttons($ed_frame) ; } elsif ($vt eq 'enum' or $vt eq 'reference') { - my $lb = $ed_frame->Scrolled ( 'Listbox', - -height => 5, - -scrollbars => 'osow', - #-listvariable => $vref, - #-selectmode => 'single', - ) ->pack(@fbe1) ; - my @choice = $leaf->get_choice ; - $lb->insert('end',$leaf->get_choice) ; - my $idx = 0; - if (defined $$vref) { - map { $lb->selectionSet($idx) if $_ eq $$vref; $idx ++} @choice; - } - $lb->bind('<Button-1>',sub {$cw->try($lb->get($lb->curselection()))}); - $cw->add_buttons($ed_frame) ; + my $lb = $ed_frame->Scrolled ( 'Listbox', + -height => 5, + -scrollbars => 'osow', + #-listvariable => $vref, + #-selectmode => 'single', + ) ->pack(@fbe1) ; + my @choice = $leaf->get_choice ; + $lb->insert('end',$leaf->get_choice) ; + my $idx = 0; + if (defined $$vref) { + map { $lb->selectionSet($idx) if $_ eq $$vref; $idx ++} @choice; + } + $lb->bind('<Button-1>',sub {$cw->try($lb->get($lb->curselection()))}); + $cw->add_buttons($ed_frame) ; } @@ -114,15 +114,17 @@ $cw->add_info_button()->pack( @fx,qw/-anchor n/) ; $cw->add_summary($leaf)->pack(@fx) ; $cw->add_description($leaf)->pack(@fx) ; - $cw->{value_help_widget} = $cw->add_help(value => '',1)->pack(@fx); + my ($help_frame, $help_widget) = $cw->add_help(value => '',1); + $help_frame->pack(@fx); + $cw->{value_help_widget} = $help_widget ; $cw->set_value_help ; $cw->ConfigSpecs( - #-fill => [ qw/SELF fill Fill both/], - #-expand => [ qw/SELF expand Expand 1/], - -relief => [qw/SELF relief Relief groove/ ], - -borderwidth => [qw/SELF borderwidth Borderwidth 2/] , - DEFAULT => [ qw/SELF/ ], + #-fill => [ qw/SELF fill Fill both/], + #-expand => [ qw/SELF expand Expand 1/], + -relief => [qw/SELF relief Relief groove/ ], + -borderwidth => [qw/SELF borderwidth Borderwidth 2/] , + DEFAULT => [ qw/SELF/ ], ); # don't call directly SUPER::Populate as it's LeafViewer's populate @@ -139,9 +141,9 @@ $text =~ s/\s+/ /g; if ($selected) { - $text_widget -> Insert ($text) ; + $text_widget -> Insert ($text) ; } else { - $text_widget -> Contents($text) ; + $text_widget -> Contents($text) ; } } @@ -149,14 +151,14 @@ my ($cw,$frame) = @_ ; my $bframe = $frame->Frame->pack() ; $bframe -> Button ( -text => 'Reset', - -command => sub { $cw->reset_value ; }, - ) -> pack(-side => 'left') ; + -command => sub { $cw->reset_value ; }, + ) -> pack(-side => 'left') ; $bframe -> Button ( -text => 'Delete', - -command => sub { $cw->delete}, - ) -> pack(-side => 'left') ; + -command => sub { $cw->delete}, + ) -> pack(-side => 'left') ; $bframe -> Button ( -text => 'Store', - -command => sub { $cw->store}, - ) -> pack(-side => 'right') ; + -command => sub { $cw->store}, + ) -> pack(-side => 'right') ; return $bframe ; } @@ -166,12 +168,12 @@ my $v = shift ; if (defined $v) { - $cw->{value} = $v ; + $cw->{value} = $v ; } else { - my $e_w = $cw->{e_widget} ; - # tk widget use a reference - $v = defined $e_w ? $e_w->get('1.0','end') + my $e_w = $cw->{e_widget} ; + # tk widget use a reference + $v = defined $e_w ? $e_w->get('1.0','end') : $cw->{value} ; } @@ -184,16 +186,16 @@ my @errors = $cw->{leaf}->check($v,1) ; if (@errors ) { - $cw -> Dialog ( -title => 'Value error', - -text => join("\n",@errors), - ) + $cw -> Dialog ( -title => 'Value error', + -text => join("\n",@errors), + ) -> Show ; - $cw->reset_value ; - return ; + $cw->reset_value ; + return ; } else { - $cw->set_value_help($v) ; - return $v ; + $cw->set_value_help($v) ; + return $v ; } } @@ -203,15 +205,15 @@ eval {$cw->{leaf}->store(undef); } ; if ($@) { - $cw -> Dialog ( -title => 'Delete error', - -text => "$@", - ) + $cw -> Dialog ( -title => 'Delete error', + -text => "$@", + ) -> Show ; } else { - # trigger redraw of Tk Tree - $cw->reset_value ; - $cw->parent->parent->parent->parent->reload(1) ; + # trigger redraw of Tk Tree + $cw->reset_value ; + $cw->parent->parent->parent->parent->reload(1) ; } } @@ -225,15 +227,15 @@ eval {$cw->{leaf}->store($v); } ; if ($@) { - $cw -> Dialog ( -title => 'Value error', - -text => "$@", - ) + $cw -> Dialog ( -title => 'Value error', + -text => "$@", + ) -> Show ; - $cw->reset_value ; + $cw->reset_value ; } else { - # trigger redraw of Tk Tree - $cw->{store_cb}->($cw->{leaf}) ; + # trigger redraw of Tk Tree + $cw->{store_cb}->($cw->{leaf}) ; } } @@ -241,10 +243,10 @@ my $cw = shift ; my $v = $cw->{value} ; if (defined $v) { - my $value_help = $cw->{leaf}->get_help($v); - my $w = $cw->{value_help_widget}; - $w->delete('0.0','end'); - $w->insert('end',$value_help) if defined $value_help ; + my $value_help = $cw->{leaf}->get_help($v); + my $w = $cw->{value_help_widget}; + $w->delete('0.0','end'); + $w->insert('end',$value_help) if defined $value_help ; } } @@ -252,8 +254,8 @@ my $cw = shift ; $cw->{value} = $cw->{leaf}->fetch ; if (defined $cw->{e_widget}) { - $cw->{e_widget}->delete('1.0','end') ; - $cw->{e_widget}->insert('end',$cw->{value},'value') ; + $cw->{e_widget}->delete('1.0','end') ; + $cw->{e_widget}->insert('end',$cw->{value},'value') ; } $cw->set_value_help if defined $cw->{value_help_widget}; } diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/LeafViewer.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/LeafViewer.pm --- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/LeafViewer.pm 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/LeafViewer.pm 2010-08-09 19:49:45.000000000 +0200 @@ -1,15 +1,15 @@ -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# package Config::Model::Tk::LeafViewer ; BEGIN { - $Config::Model::Tk::LeafViewer::VERSION = '1.308'; + $Config::Model::Tk::LeafViewer::VERSION = '1.309'; } use strict; diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/ListEditor.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/ListEditor.pm --- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/ListEditor.pm 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/ListEditor.pm 2010-08-09 19:49:45.000000000 +0200 @@ -1,15 +1,15 @@ -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# package Config::Model::Tk::ListEditor ; BEGIN { - $Config::Model::Tk::ListEditor::VERSION = '1.308'; + $Config::Model::Tk::ListEditor::VERSION = '1.309'; } use strict; diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/ListViewer.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/ListViewer.pm --- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/ListViewer.pm 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/ListViewer.pm 2010-08-09 19:49:45.000000000 +0200 @@ -1,15 +1,15 @@ -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# package Config::Model::Tk::ListViewer ; BEGIN { - $Config::Model::Tk::ListViewer::VERSION = '1.308'; + $Config::Model::Tk::ListViewer::VERSION = '1.309'; } use strict; diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/NodeEditor.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/NodeEditor.pm --- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/NodeEditor.pm 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/NodeEditor.pm 2010-08-09 19:49:45.000000000 +0200 @@ -1,15 +1,15 @@ -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# package Config::Model::Tk::NodeEditor ; BEGIN { - $Config::Model::Tk::NodeEditor::VERSION = '1.308'; + $Config::Model::Tk::NodeEditor::VERSION = '1.309'; } use strict; diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/NodeViewer.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/NodeViewer.pm --- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/NodeViewer.pm 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/NodeViewer.pm 2010-08-09 19:49:45.000000000 +0200 @@ -1,15 +1,15 @@ -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# package Config::Model::Tk::NodeViewer ; BEGIN { - $Config::Model::Tk::NodeViewer::VERSION = '1.308'; + $Config::Model::Tk::NodeViewer::VERSION = '1.309'; } use strict; diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/NoteEditor.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/NoteEditor.pm --- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/NoteEditor.pm 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/NoteEditor.pm 2010-08-09 19:49:45.000000000 +0200 @@ -1,15 +1,15 @@ -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# package Config::Model::Tk::NoteEditor ; BEGIN { - $Config::Model::Tk::NoteEditor::VERSION = '1.308'; + $Config::Model::Tk::NoteEditor::VERSION = '1.309'; } use strict; diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/Wizard.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/Wizard.pm --- libconfig-model-tkui-perl-1.308/lib/Config/Model/Tk/Wizard.pm 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/lib/Config/Model/Tk/Wizard.pm 2010-08-09 19:49:45.000000000 +0200 @@ -1,16 +1,16 @@ -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# package Config::Model::Tk::Wizard ; BEGIN { - $Config::Model::Tk::Wizard::VERSION = '1.308'; + $Config::Model::Tk::Wizard::VERSION = '1.309'; } use strict; diff -Nru libconfig-model-tkui-perl-1.308/lib/Config/Model/TkUI.pm libconfig-model-tkui-perl-1.309/lib/Config/Model/TkUI.pm --- libconfig-model-tkui-perl-1.308/lib/Config/Model/TkUI.pm 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/lib/Config/Model/TkUI.pm 2010-08-09 19:49:45.000000000 +0200 @@ -1,17 +1,17 @@ -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# # copyright at the end of the file in the pod section package Config::Model::TkUI ; BEGIN { - $Config::Model::TkUI::VERSION = '1.308'; + $Config::Model::TkUI::VERSION = '1.309'; } use strict; @@ -996,10 +996,6 @@ Config::Model::TkUI - Tk GUI to edit config data through Config::Model -=head1 VERSION - -version 1.308 - =head1 SYNOPSIS use Config::Model::TkUI; @@ -1170,4 +1166,7 @@ Config::Model mailing lists on http://sourceforge.net/mail/?group_id=155650 -=back \ No newline at end of file +=back + + + diff -Nru libconfig-model-tkui-perl-1.308/t/big_model.pm libconfig-model-tkui-perl-1.309/t/big_model.pm --- libconfig-model-tkui-perl-1.308/t/big_model.pm 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/t/big_model.pm 2010-08-09 19:49:45.000000000 +0200 @@ -1,12 +1,12 @@ -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# # -*- cperl -*- # this file is used by test script @@ -15,30 +15,30 @@ [ name => 'SubSlave2', element => [ - [qw/aa2 ab2 ac2 ad2 Z/] => - { type => 'leaf', value_type => 'string' } - ] + [qw/aa2 ab2 ac2 ad2 Z/] => + { type => 'leaf', value_type => 'string' } + ] ], [ name => 'SubSlave', element => [ - [qw/aa ab ac ad/] => - { type => 'leaf', value_type => 'uniline' }, - sub_slave => { type => 'node' , - config_class_name => 'SubSlave2', - } - ] + [qw/aa ab ac ad/] => + { type => 'leaf', value_type => 'uniline' }, + sub_slave => { type => 'node' , + config_class_name => 'SubSlave2', + } + ] ], [ name => 'X_base_class2', element => [ - X => { type => 'leaf', - value_type => 'enum', - choice => [qw/Av Bv Cv/] - }, - ], + X => { type => 'leaf', + value_type => 'enum', + choice => [qw/Av Bv Cv/] + }, + ], class_description => 'rather dummy class to check include feature', ], @@ -51,16 +51,16 @@ [ name => 'SlaveZ', element => [ - [qw/Z/] => { type => 'leaf', - value_type => 'enum', - choice => [qw/Av Bv Cv/] - }, - [qw/DX/] => { type => 'leaf', - value_type => 'enum', - default => 'Dv', - choice => [qw/Av Bv Cv Dv/] - }, - ], + [qw/Z/] => { type => 'leaf', + value_type => 'enum', + choice => [qw/Av Bv Cv/] + }, + [qw/DX/] => { type => 'leaf', + value_type => 'enum', + default => 'Dv', + choice => [qw/Av Bv Cv Dv/] + }, + ], include => 'X_base_class', include_after => 'Z', ], @@ -68,37 +68,37 @@ [ name => 'SlaveY', element => [ - std_id => { - type => 'hash', - index_type => 'string', - cargo => { - type => 'node', - config_class_name => 'SlaveZ' - } , - }, - sub_slave => { type => 'node' , - config_class_name => 'SubSlave', - }, - [qw/a_string a_long_string another_string/] + std_id => { + type => 'hash', + index_type => 'string', + cargo => { + type => 'node', + config_class_name => 'SlaveZ' + } , + }, + sub_slave => { type => 'node' , + config_class_name => 'SubSlave', + }, + [qw/a_string a_long_string another_string/] => { type => 'leaf', - mandatory => 1 , - value_type => 'string' - }, - warp2 => { - type => 'warped_node', - follow => '! tree_macro', - config_class_name => 'SubSlave', - morph => 1 , - rules => [ - mXY => { config_class_name => 'SubSlave2'}, - XZ => { config_class_name => 'SubSlave2'} - ] - }, - Y => { type => 'leaf', - value_type => 'enum', - choice => [qw/Av Bv Cv/] - }, - ], + mandatory => 1 , + value_type => 'string' + }, + warp2 => { + type => 'warped_node', + follow => '! tree_macro', + config_class_name => 'SubSlave', + morph => 1 , + rules => [ + mXY => { config_class_name => 'SubSlave2'}, + XZ => { config_class_name => 'SubSlave2'} + ] + }, + Y => { type => 'leaf', + value_type => 'enum', + choice => [qw/Av Bv Cv/] + }, + ], include => 'X_base_class', ], @@ -109,149 +109,150 @@ class_description => "Master description", level => [ [qw/lista hash_a tree_macro int_v/] => 'important' ], write_config => [ { backend => 'cds_file' , config_dir => '/foo', auto_create => 1}, - ], + ], element => [ - std_id => { type => 'hash', - index_type => 'string', - cargo => { type => 'node', - config_class_name => 'SlaveZ' - } , - }, - [qw/lista listb/] => { type => 'list', - cargo => { type => 'leaf', - value_type => 'uniline' - }, - }, - [qw/hash_a hash_b/] => { type => 'hash', - index_type => 'string', - cargo => { type => 'leaf', - value_type => 'uniline' - }, - }, - ordered_hash => { type => 'hash', - index_type => 'string', - ordered => 1 , - cargo => { type => 'leaf', - value_type => 'uniline' - }, - }, - ordered_hash_of_mandatory => { type => 'hash', - index_type => 'string', - ordered => 1 , - cargo => { type => 'leaf', - value_type => 'uniline', - mandatory => 1, - }, - }, - 'ordered_hash_of_nodes' - => { type => 'hash', - index_type => 'string', - ordered => 1 , - cargo => { type => 'node', - config_class_name => 'SlaveZ' - }, - }, - olist => { type => 'list', - cargo => { type => 'node', - config_class_name => 'SlaveZ' , - }, - }, - enum_list => { type => 'list', - cargo => { type => 'leaf', - value_type => 'enum', - choice => [qw/A B C/], - } - }, - tree_macro => { type => 'leaf', - value_type => 'enum', - choice => [qw/XY XZ mXY/], - help => { XY => 'XY help', - XZ => 'XZ help', - mXY => 'mXY help', - } - }, - warp => { - type => 'warped_node', - follow => '! tree_macro', - config_class_name => 'SlaveY', - morph => 1 , - rules => [ - #XY => { config_class_name => 'SlaveY'}, - mXY => { config_class_name => 'SlaveY'}, - XZ => { config_class_name => 'SlaveZ'} - ] - }, - - 'slave_y' => { type => 'node', - config_class_name => 'SlaveY' , - }, - - string_with_def => { type => 'leaf', - value_type => 'uniline', - default => 'yada yada' - }, - a_uniline => { type => 'leaf', - value_type => 'uniline', - default => 'yada yada' - }, - a_boolean => { type => 'leaf', - value_type => 'boolean', - }, - [qw/a_string a_long_string another_string/] + std_id => { type => 'hash', + index_type => 'string', + cargo => { type => 'node', + config_class_name => 'SlaveZ' + } , + }, + [qw/lista listb/] => { type => 'list', + cargo => { type => 'leaf', + value_type => 'uniline' + }, + summary => 'lista and listb are used to yada yada ', + }, + [qw/hash_a hash_b/] => { type => 'hash', + index_type => 'string', + cargo => { type => 'leaf', + value_type => 'uniline' + }, + }, + ordered_hash => { type => 'hash', + index_type => 'string', + ordered => 1 , + cargo => { type => 'leaf', + value_type => 'uniline' + }, + }, + ordered_hash_of_mandatory => { type => 'hash', + index_type => 'string', + ordered => 1 , + cargo => { type => 'leaf', + value_type => 'uniline', + mandatory => 1, + }, + }, + 'ordered_hash_of_nodes' + => { type => 'hash', + index_type => 'string', + ordered => 1 , + cargo => { type => 'node', + config_class_name => 'SlaveZ' + }, + }, + olist => { type => 'list', + cargo => { type => 'node', + config_class_name => 'SlaveZ' , + }, + }, + enum_list => { type => 'list', + cargo => { type => 'leaf', + value_type => 'enum', + choice => [qw/A B C/], + } + }, + tree_macro => { type => 'leaf', + value_type => 'enum', + choice => [qw/XY XZ mXY/], + help => { XY => 'XY help', + XZ => 'XZ help', + mXY => 'mXY help', + } + }, + warp => { + type => 'warped_node', + follow => '! tree_macro', + config_class_name => 'SlaveY', + morph => 1 , + rules => [ + #XY => { config_class_name => 'SlaveY'}, + mXY => { config_class_name => 'SlaveY'}, + XZ => { config_class_name => 'SlaveZ'} + ] + }, + + 'slave_y' => { type => 'node', + config_class_name => 'SlaveY' , + }, + + string_with_def => { type => 'leaf', + value_type => 'uniline', + default => 'yada yada' + }, + a_uniline => { type => 'leaf', + value_type => 'uniline', + default => 'yada yada' + }, + a_boolean => { type => 'leaf', + value_type => 'boolean', + }, + [qw/a_string a_long_string another_string/] => { type => 'leaf', - value_type => 'string' - }, - [qw/a_mandatory_string another_mandatory_string/] + value_type => 'string' + }, + [qw/a_mandatory_string another_mandatory_string/] => { type => 'leaf', - mandatory => 1 , - value_type => 'string' - }, - int_v => { type => 'leaf', - value_type => 'integer', - default => '10', - min => 5, - max => 15 - }, - upstream_default => { type => 'leaf', - value_type => 'integer', - upstream_default => '10', - }, - my_plain_check_list => { type => 'check_list', - choice => ['AA' .. 'AE'], - help => { AA => 'AA help', - AC => 'AC help', - AE => 'AE help', - }, - description => 'my_plain_check_list nto so helpfull description', - } , - my_ref_check_list => { type => 'check_list', - refer_to => '- hash_a + ! hash_b', - } , - 'ordered_checklist' - => { type => 'check_list', - choice => ['A' .. 'Z'], - ordered => 1 , - help => { A => 'A help', E => 'E help' } , - summary => 'will checklist be served ? ;-) ', - }, - - my_reference => { type => 'leaf', - value_type => 'reference', - refer_to => '- hash_a + ! hash_b', - summary => 'justify a long help ;-) ', - } - ], + mandatory => 1 , + value_type => 'string' + }, + int_v => { type => 'leaf', + value_type => 'integer', + default => '10', + min => 5, + max => 15 + }, + upstream_default => { type => 'leaf', + value_type => 'integer', + upstream_default => '10', + }, + my_plain_check_list => { type => 'check_list', + choice => ['AA' .. 'AE'], + help => { AA => 'AA help', + AC => 'AC help', + AE => 'AE help', + }, + description => 'my_plain_check_list nto so helpfull description', + } , + my_ref_check_list => { type => 'check_list', + refer_to => '- hash_a + ! hash_b', + } , + 'ordered_checklist' + => { type => 'check_list', + choice => ['A' .. 'Z'], + ordered => 1 , + help => { A => 'A help', E => 'E help' } , + summary => 'will checklist be served ? ;-) ', + }, + + my_reference => { type => 'leaf', + value_type => 'reference', + refer_to => '- hash_a + ! hash_b', + summary => 'justify a long help ;-) ', + } + ], description => [ - tree_macro => 'controls behavior of other elements', - a_long_string =>"long string with \\n in it", - my_reference => "very long help:\n" - ."Config::Model enables a project developer to provide an interactive configuration editor to his users. For this he must: + tree_macro => 'controls behavior of other elements', + a_long_string =>"long string with \\n in it", + my_reference => "very long help:\n" + ."Config::Model enables a project developer to provide an interactive configuration editor to his users. For this he must: - describe the structure and constraint of his project's configuration - if the configuration data is not stored in INI file or in Perl data file, he must provide some code to read and write configuration from configuration files. " - ] + ] ], ] ; diff -Nru libconfig-model-tkui-perl-1.308/t/release-pod-syntax.t libconfig-model-tkui-perl-1.309/t/release-pod-syntax.t --- libconfig-model-tkui-perl-1.308/t/release-pod-syntax.t 2010-07-22 11:01:19.000000000 +0200 +++ libconfig-model-tkui-perl-1.309/t/release-pod-syntax.t 2010-08-09 19:49:45.000000000 +0200 @@ -1,13 +1,13 @@ #!perl -# +# # This file is part of Config-Model-TkUI -# +# # This software is Copyright (c) 2010 by Dominique Dumont. -# +# # This is free software, licensed under: -# +# # The GNU Lesser General Public License, Version 2.1, February 1999 -# +# BEGIN { unless ($ENV{RELEASE_TESTING}) {