diff -Nru libconfig-model-tkui-perl-1.329/Build.PL libconfig-model-tkui-perl-1.331/Build.PL --- libconfig-model-tkui-perl-1.329/Build.PL 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/Build.PL 2011-11-30 07:55:03.000000000 +0000 @@ -51,13 +51,14 @@ 'Tk::ObjScanner' => '0' }, 'requires' => { - 'Config::Model' => '1.253', + 'Config::Model' => '1.263', 'Exception::Class' => '0', 'File::Slurp' => '0', 'Log::Log4perl' => '1.11', 'Pod::POM' => '0', 'Tk' => '0', 'Tk::DirSelect' => '0', + 'Tk::Pod' => '0', 'Tk::Tree' => '0' }, diff -Nru libconfig-model-tkui-perl-1.329/ChangeLog libconfig-model-tkui-perl-1.331/ChangeLog --- libconfig-model-tkui-perl-1.329/ChangeLog 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/ChangeLog 2011-11-30 07:55:03.000000000 +0000 @@ -1,3 +1,18 @@ +2011-11-30 Dominique Dumont 1.331 + + * dist.ini (hence Build.PL): Depends on Config::Model 1.263 + (Fixes a bug triggered by new NodeEditor widget) + +2011-11-29 Dominique Dumont 1.330 + + * dist.ini (hence Build.PL): added Tk::Pod dependency + (Fix RT# 72229) + + NodeEditor: Added widget to add element when node has + an accept clause + * TkUI: trim also default value displayed in tk tree + * ListEditor: do not update list widget when modif was + refused by Config::Model + 2011-10-10 Dominique Dumont 1.329 * ListEditor: signal TKUI that data needs to be saved when list is diff -Nru libconfig-model-tkui-perl-1.329/debian/changelog libconfig-model-tkui-perl-1.331/debian/changelog --- libconfig-model-tkui-perl-1.329/debian/changelog 2011-10-22 16:43:30.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/debian/changelog 2011-12-01 16:48:17.000000000 +0000 @@ -1,3 +1,12 @@ +libconfig-model-tkui-perl (1.331-1) unstable; urgency=low + + * Imported Upstream version 1.331: + + NodeEditor: Added widget to add new element when node + has an accept clause + * control: depends on libconfig-model-perl 1.263 + + -- Dominique Dumont Thu, 01 Dec 2011 17:47:17 +0100 + libconfig-model-tkui-perl (1.329-1) unstable; urgency=low * new upstream release: diff -Nru libconfig-model-tkui-perl-1.329/debian/control libconfig-model-tkui-perl-1.331/debian/control --- libconfig-model-tkui-perl-1.329/debian/control 2011-10-22 16:43:30.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/debian/control 2011-12-01 16:48:17.000000000 +0000 @@ -8,7 +8,7 @@ Priority: optional Build-Depends: debhelper (>= 8), perl -Build-Depends-Indep: libconfig-model-perl (>= 1.253), +Build-Depends-Indep: libconfig-model-perl (>= 1.263), libexception-class-perl, libfile-slurp-perl, liblog-log4perl-perl, @@ -28,7 +28,7 @@ Architecture: all Depends: ${perl:Depends}, ${misc:Depends}, - libconfig-model-perl (>= 1.253), + libconfig-model-perl (>= 1.263), libexception-class-perl, libfile-slurp-perl, liblog-log4perl-perl, diff -Nru libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/AnyViewer.pm libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/AnyViewer.pm --- libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/AnyViewer.pm 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/AnyViewer.pm 2011-11-30 07:55:03.000000000 +0000 @@ -27,7 +27,7 @@ package Config::Model::Tk::AnyViewer ; { - $Config::Model::Tk::AnyViewer::VERSION = '1.329'; + $Config::Model::Tk::AnyViewer::VERSION = '1.331'; } use strict; diff -Nru libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/CheckListEditor.pm libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/CheckListEditor.pm --- libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/CheckListEditor.pm 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/CheckListEditor.pm 2011-11-30 07:55:03.000000000 +0000 @@ -9,7 +9,7 @@ # package Config::Model::Tk::CheckListEditor ; { - $Config::Model::Tk::CheckListEditor::VERSION = '1.329'; + $Config::Model::Tk::CheckListEditor::VERSION = '1.331'; } use strict; @@ -22,11 +22,13 @@ use Tk::NoteBook; use Config::Model::Tk::NoteEditor ; +use Log::Log4perl; Construct Tk::Widget 'ConfigModelCheckListEditor'; my $up_img; my $down_img; +my $logger = Log::Log4perl::get_logger("Tk::CheckListEditor"); *icon_path = *Config::Model::TkUI::icon_path; @@ -183,6 +185,7 @@ return unless @idx and $idx[0] < $#h_idx; my $name = $order_list->get(@idx); + $logger->debug("move_selected_down: $name (@idx)"); $order_list -> delete(@idx) ; my $new_idx = $idx[0] + 1 ; diff -Nru libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/CheckListViewer.pm libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/CheckListViewer.pm --- libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/CheckListViewer.pm 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/CheckListViewer.pm 2011-11-30 07:55:03.000000000 +0000 @@ -9,7 +9,7 @@ # package Config::Model::Tk::CheckListViewer ; { - $Config::Model::Tk::CheckListViewer::VERSION = '1.329'; + $Config::Model::Tk::CheckListViewer::VERSION = '1.331'; } use strict; diff -Nru libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/HashEditor.pm libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/HashEditor.pm --- libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/HashEditor.pm 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/HashEditor.pm 2011-11-30 07:55:03.000000000 +0000 @@ -9,7 +9,7 @@ # package Config::Model::Tk::HashEditor; { - $Config::Model::Tk::HashEditor::VERSION = '1.329'; + $Config::Model::Tk::HashEditor::VERSION = '1.331'; } use strict; @@ -30,7 +30,7 @@ my @fbe1 = qw/-fill both -expand 1/; my @fxe1 = qw/-fill x -expand 1/; my @fx = qw/-fill x /; -my $logger = Log::Log4perl::get_logger(")Tk::HashEditor"); +my $logger = Log::Log4perl::get_logger("Tk::HashEditor"); my $entry_width = 15; diff -Nru libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/HashViewer.pm libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/HashViewer.pm --- libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/HashViewer.pm 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/HashViewer.pm 2011-11-30 07:55:03.000000000 +0000 @@ -9,7 +9,7 @@ # package Config::Model::Tk::HashViewer ; { - $Config::Model::Tk::HashViewer::VERSION = '1.329'; + $Config::Model::Tk::HashViewer::VERSION = '1.331'; } use strict; diff -Nru libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/LeafEditor.pm libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/LeafEditor.pm --- libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/LeafEditor.pm 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/LeafEditor.pm 2011-11-30 07:55:03.000000000 +0000 @@ -9,7 +9,7 @@ # package Config::Model::Tk::LeafEditor ; { - $Config::Model::Tk::LeafEditor::VERSION = '1.329'; + $Config::Model::Tk::LeafEditor::VERSION = '1.331'; } use strict; diff -Nru libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/LeafViewer.pm libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/LeafViewer.pm --- libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/LeafViewer.pm 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/LeafViewer.pm 2011-11-30 07:55:03.000000000 +0000 @@ -9,7 +9,7 @@ # package Config::Model::Tk::LeafViewer ; { - $Config::Model::Tk::LeafViewer::VERSION = '1.329'; + $Config::Model::Tk::LeafViewer::VERSION = '1.331'; } use strict; diff -Nru libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/ListEditor.pm libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/ListEditor.pm --- libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/ListEditor.pm 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/ListEditor.pm 2011-11-30 07:55:03.000000000 +0000 @@ -9,7 +9,7 @@ # package Config::Model::Tk::ListEditor ; { - $Config::Model::Tk::ListEditor::VERSION = '1.329'; + $Config::Model::Tk::ListEditor::VERSION = '1.331'; } use strict; @@ -266,13 +266,13 @@ else { # trigger redraw of Tk Tree $cw->{store_cb}->(1); - } - my @new_idx = $list->get_all_indexes ; - $logger->debug("new list idx: ". join(',',@new_idx)); + my @new_idx = $list->get_all_indexes ; + $logger->debug("new list idx: ". join(',',@new_idx)); - my $insert = length($add) ? $add : $#new_idx ; - $tklist->insert('end',$insert); + my $insert = length($add) ? $add : $#new_idx ; + $tklist->insert('end',$insert); + } return 1 ; } diff -Nru libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/ListViewer.pm libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/ListViewer.pm --- libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/ListViewer.pm 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/ListViewer.pm 2011-11-30 07:55:03.000000000 +0000 @@ -9,7 +9,7 @@ # package Config::Model::Tk::ListViewer ; { - $Config::Model::Tk::ListViewer::VERSION = '1.329'; + $Config::Model::Tk::ListViewer::VERSION = '1.331'; } use strict; diff -Nru libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/NodeEditor.pm libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/NodeEditor.pm --- libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/NodeEditor.pm 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/NodeEditor.pm 2011-11-30 07:55:03.000000000 +0000 @@ -9,7 +9,7 @@ # package Config::Model::Tk::NodeEditor ; { - $Config::Model::Tk::NodeEditor::VERSION = '1.329'; + $Config::Model::Tk::NodeEditor::VERSION = '1.331'; } use strict; @@ -21,7 +21,7 @@ use Text::Wrap; use Config::Model::Tk::NoteEditor ; -use base qw/Tk::Frame Config::Model::Tk::AnyViewer/; +use base qw/Config::Model::Tk::NodeViewer/; use subs qw/menu_struct/ ; @@ -57,6 +57,12 @@ $cw->fill_pane ; + # insert a widget for "accepted" elements + my @rexp = $node->accept_regexp ; + if (@rexp) { + $cw-> add_accept_entry(@rexp) ; + } + # add adjuster #require Tk::Adjuster; #$cw -> Adjuster()->pack(-fill => 'x' , -side => 'top') ; @@ -71,7 +77,8 @@ else { $cw->add_help(class => $node->get_help)->pack(@fx) ; } - $cw->SUPER::Populate($args) ; + # don't call directly SUPER::Populate as it's LeafViewer's populate + $cw->Tk::Frame::Populate($args) ; } sub reload { @@ -168,17 +175,32 @@ map {my $w = delete $cw->{elt_widgets}{$_};$w->destroy } keys %is_elt_drawn ; } -sub get_info { - my $cw = shift ; +sub add_accept_entry { + my ($cw,@rexp) = @_ ; my $node = $cw->{node} ; + my $f = $cw->Frame(-relief=> 'groove', -borderwidth => 1); + $f ->pack(-side =>'top',@fx) ; - my @items = ('type : '. $node->get_type , - 'class name : '.$node->config_class_name , - ); + my $accepted = '' ; + $f -> Label(-text => 'accept : /'.join('/, /',@rexp).'/') -> pack ; - return $node->element_name,@items ; + my $e = $f->Entry(-textvariable => \$accepted) + ->pack(qw/-side left -anchor w/,@fxe1) ; + my $sub = sub { + return unless $accepted ; + my $ok = 0 ; + map { $ok ++ if $accepted =~ /^$_$/ } @rexp ; + if (not $ok) { + die "Cannot accept $accepted, it does not match any accepted regexp\n"; + } + $node->fetch_element($accepted); + $cw->{store_cb}->(); + $cw->fill_pane; + $cw->{pane}->yview(moveto => 1); + }; + + $e->bind("" => $sub) ; } - 1; diff -Nru libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/NodeViewer.pm libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/NodeViewer.pm --- libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/NodeViewer.pm 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/NodeViewer.pm 2011-11-30 07:55:03.000000000 +0000 @@ -9,7 +9,7 @@ # package Config::Model::Tk::NodeViewer ; { - $Config::Model::Tk::NodeViewer::VERSION = '1.329'; + $Config::Model::Tk::NodeViewer::VERSION = '1.331'; } use strict; @@ -144,6 +144,11 @@ 'class name : '.$node->config_class_name , ); + my @rexp = $node->accept_regexp ; + if (@rexp) { + push @items, 'accept : /^'.join('$/, /^',@rexp).'$/'; + } + return $node->element_name,@items ; } diff -Nru libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/NoteEditor.pm libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/NoteEditor.pm --- libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/NoteEditor.pm 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/NoteEditor.pm 2011-11-30 07:55:03.000000000 +0000 @@ -9,7 +9,7 @@ # package Config::Model::Tk::NoteEditor ; { - $Config::Model::Tk::NoteEditor::VERSION = '1.329'; + $Config::Model::Tk::NoteEditor::VERSION = '1.331'; } use strict; diff -Nru libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/Wizard.pm libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/Wizard.pm --- libconfig-model-tkui-perl-1.329/lib/Config/Model/Tk/Wizard.pm 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/lib/Config/Model/Tk/Wizard.pm 2011-11-30 07:55:03.000000000 +0000 @@ -10,7 +10,7 @@ package Config::Model::Tk::Wizard ; { - $Config::Model::Tk::Wizard::VERSION = '1.329'; + $Config::Model::Tk::Wizard::VERSION = '1.331'; } use strict; diff -Nru libconfig-model-tkui-perl-1.329/lib/Config/Model/TkUI.pm libconfig-model-tkui-perl-1.331/lib/Config/Model/TkUI.pm --- libconfig-model-tkui-perl-1.329/lib/Config/Model/TkUI.pm 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/lib/Config/Model/TkUI.pm 2011-11-30 07:55:03.000000000 +0000 @@ -11,7 +11,7 @@ package Config::Model::TkUI ; { - $Config::Model::TkUI::VERSION = '1.329'; + $Config::Model::TkUI::VERSION = '1.331'; } use strict; @@ -823,7 +823,7 @@ $tkt->itemCreate($path,2, -text => $cw->trim_value($value)) ; - $tkt->itemCreate($path,3, -text => $std_v) ; + $tkt->itemCreate($path,3, -text => $cw->trim_value($std_v)) ; } sub disp_node { diff -Nru libconfig-model-tkui-perl-1.329/LICENSE libconfig-model-tkui-perl-1.331/LICENSE --- libconfig-model-tkui-perl-1.329/LICENSE 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/LICENSE 2011-11-30 07:55:03.000000000 +0000 @@ -10,7 +10,8 @@ (The master copy of this license lives on the GNU website.) Copyright (C) 1991, 1999 Free Software Foundation, Inc. 59 -Temple Place, Suite 330, Boston, MA 02111-1307 USA +51 Franklin St, Suite 500, Boston, MA 02110-1335 USA + Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. diff -Nru libconfig-model-tkui-perl-1.329/META.yml libconfig-model-tkui-perl-1.331/META.yml --- libconfig-model-tkui-perl-1.329/META.yml 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/META.yml 2011-11-30 07:55:03.000000000 +0000 @@ -9,7 +9,7 @@ configure_requires: Module::Build: 0.3601 dynamic_config: 0 -generated_by: 'Dist::Zilla version 4.300002, CPAN::Meta::Converter version 2.112621' +generated_by: 'Dist::Zilla version 4.300003, CPAN::Meta::Converter version 2.112621' license: lgpl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -18,12 +18,13 @@ recommends: Tk::ObjScanner: 0 requires: - Config::Model: 1.253 + Config::Model: 1.263 Exception::Class: 0 File::Slurp: 0 Log::Log4perl: 1.11 Pod::POM: 0 Tk: 0 Tk::DirSelect: 0 + Tk::Pod: 0 Tk::Tree: 0 -version: 1.329 +version: 1.331 diff -Nru libconfig-model-tkui-perl-1.329/t/big_model.pm libconfig-model-tkui-perl-1.331/t/big_model.pm --- libconfig-model-tkui-perl-1.329/t/big_model.pm 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/t/big_model.pm 2011-11-30 07:55:03.000000000 +0000 @@ -144,6 +144,9 @@ auto_create => 1 }, ], + accept => [ + 'foo.*' => { type => 'leaf', value_type => 'uniline'} + ], element => [ tree_macro => { type => 'leaf', diff -Nru libconfig-model-tkui-perl-1.329/t/config-model-ui.t libconfig-model-tkui-perl-1.331/t/config-model-ui.t --- libconfig-model-tkui-perl-1.329/t/config-model-ui.t 2011-10-15 17:29:19.000000000 +0000 +++ libconfig-model-tkui-perl-1.331/t/config-model-ui.t 2011-11-30 07:55:03.000000000 +0000 @@ -162,8 +162,8 @@ sub { $widget = $cmu->create_element_widget('edit','test1.ordered_checklist'); ok(1,"test ".$idx++)}, sub { $widget->Subwidget('notebook')->raise('order') ;; ok(1,"test notebook raise 1 ".$idx++)}, sub { $widget->Subwidget('notebook')->raise('order') ;; ok(1,"test notebook raise 2 ".$idx++)}, - sub { $widget->{order_list}->selectionSet(1,1) ;; ok(1,"test ".$idx++)}, # Z - sub { $widget->move_selected_down ;; ok(1,"test ".$idx++)}, + sub { $widget->{order_list}->selectionSet(1,1) ;; ok(1,"test selectionSet ".$idx++)}, # Z + sub { $widget->move_selected_down ; ok(1,"test move_selected_down ".$idx++)}, # cannot save with pernding errors sub { $cmu->save(); ok(1,"test save 1 ".$idx++)}, sub { #for ($cmu->children) { $_->destroy if $_->name =~ /dialog/i; } ;