r51351 - in /trunk/libconfig-model-tkui-perl: ./ debian/ examples/ lib/Config/Model/ lib/Config/Model/Tk/ t/

ddumont-guest at users.alioth.debian.org ddumont-guest at users.alioth.debian.org
Sat Jan 23 13:24:30 UTC 2010


Author: ddumont-guest
Date: Sat Jan 23 13:24:19 2010
New Revision: 51351

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=51351
Log:
ready for upload

Added:
    trunk/libconfig-model-tkui-perl/examples/
      - copied from r51350, branches/upstream/libconfig-model-tkui-perl/current/examples/
Modified:
    trunk/libconfig-model-tkui-perl/ChangeLog
    trunk/libconfig-model-tkui-perl/MANIFEST
    trunk/libconfig-model-tkui-perl/META.yml
    trunk/libconfig-model-tkui-perl/debian/changelog
    trunk/libconfig-model-tkui-perl/debian/libconfig-model-tkui-perl.docs
    trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/HashEditor.pm
    trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/LeafEditor.pm
    trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/NodeViewer.pm
    trunk/libconfig-model-tkui-perl/lib/Config/Model/TkUI.pm
    trunk/libconfig-model-tkui-perl/t/big_model.pm

Modified: trunk/libconfig-model-tkui-perl/ChangeLog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/ChangeLog?rev=51351&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/ChangeLog (original)
+++ trunk/libconfig-model-tkui-perl/ChangeLog Sat Jan 23 13:24:19 2010
@@ -1,3 +1,21 @@
+2010-01-21  Dominique Dumont  <dominique.dumont at hp.com> 1.302
+
+	* lib/Config/Model/Tk/NodeViewer.pm (reload): Correctly update
+	value column when called
+
+	* lib/Config/Model/Tk/HashEditor.pm (Populate): Mark data as
+	modified when deleting all items of a hash.
+
+2009-09-25  Dominique Dumont  <domi.dumont at free.fr>
+
+	* examples/model.pl: Simple model and graphical interface
+	example. Thanks to Alexander Becker. (RT 49999)
+
+	* lib/Config/Model/Tk/LeafEditor.pm (try): Avoid warnings
+	(RT 49999)
+
+	* lib/Config/Model/TkUI.pm (save): trap write_back error.
+
 2009-09-04  Dominique Dumont  <dominique.dumont at hp.com> 1.301
 
 	* lib/Config/Model/Tk/NodeEditor.pm: New widget to edit several

Modified: trunk/libconfig-model-tkui-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/MANIFEST?rev=51351&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/MANIFEST (original)
+++ trunk/libconfig-model-tkui-perl/MANIFEST Sat Jan 23 13:24:19 2010
@@ -1,5 +1,6 @@
 Build.PL
 ChangeLog
+examples/model.pl
 lib/Config/Model/Tk/AnyViewer.pm
 lib/Config/Model/Tk/CheckListEditor.pm
 lib/Config/Model/Tk/CheckListViewer.pm

Modified: trunk/libconfig-model-tkui-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/META.yml?rev=51351&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/META.yml (original)
+++ trunk/libconfig-model-tkui-perl/META.yml Sat Jan 23 13:24:19 2010
@@ -1,23 +1,15 @@
 ---
+abstract: 'Tk GUI to edit config data through Config::Model'
+author:
+  - 'Dominique Dumont (ddumont at cpan dot org)'
+configure_requires:
+  Module::Build: 0.36
+generated_by: 'Module::Build version 0.3601'
+license: lgpl
+meta-spec:
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: 1.4
 name: Config-Model-TkUI
-version: 1.301
-author:
-  - Dominique Dumont (ddumont at cpan dot org)
-abstract: Tk GUI to edit config data through Config::Model
-license: lgpl
-resources:
-  license: http://opensource.org/licenses/lgpl-license.php
-requires:
-  Config::Model: 0.638
-  Exception::Class: 0
-  Log::Log4perl: 1.11
-  Tk: 0
-  Tk::DirSelect: 0
-  Tk::Tree: 0
-recommends:
-  Tk::ObjScanner: 0
-configure_requires:
-  Module::Build: 0.35
 provides:
   Config::Model::Tk::AnyViewer:
     file: lib/Config/Model/Tk/AnyViewer.pm
@@ -30,13 +22,13 @@
     version: 1.0910
   Config::Model::Tk::HashEditor:
     file: lib/Config/Model/Tk/HashEditor.pm
-    version: 1.1015
+    version: 1.1050
   Config::Model::Tk::HashViewer:
     file: lib/Config/Model/Tk/HashViewer.pm
     version: 1.0910
   Config::Model::Tk::LeafEditor:
     file: lib/Config/Model/Tk/LeafEditor.pm
-    version: 1.1009
+    version: 1.1034
   Config::Model::Tk::LeafViewer:
     file: lib/Config/Model/Tk/LeafViewer.pm
     version: 1.1021
@@ -51,13 +43,21 @@
     version: 1.1013
   Config::Model::Tk::NodeViewer:
     file: lib/Config/Model/Tk/NodeViewer.pm
-    version: 1.1022
+    version: 1.1050
   Config::Model::Tk::Wizard:
     file: lib/Config/Model/Tk/Wizard.pm
   Config::Model::TkUI:
     file: lib/Config/Model/TkUI.pm
-    version: 1.301
-generated_by: Module::Build version 0.35
-meta-spec:
-  url: http://module-build.sourceforge.net/META-spec-v1.4.html
-  version: 1.4
+    version: 1.302
+recommends:
+  Tk::ObjScanner: 0
+requires:
+  Config::Model: 0.638
+  Exception::Class: 0
+  Log::Log4perl: 1.11
+  Tk: 0
+  Tk::DirSelect: 0
+  Tk::Tree: 0
+resources:
+  license: http://opensource.org/licenses/lgpl-license.php
+version: 1.302

Modified: trunk/libconfig-model-tkui-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/debian/changelog?rev=51351&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/debian/changelog (original)
+++ trunk/libconfig-model-tkui-perl/debian/changelog Sat Jan 23 13:24:19 2010
@@ -1,9 +1,14 @@
-libconfig-model-tkui-perl (1.301-2) UNRELEASED; urgency=low
+libconfig-model-tkui-perl (1.302-1) unstable; urgency=low
 
+  [ Dominique Dumont ]
+  * New upstream release (bug fixes)
+  * Added examples directory. (Thanks Alexander Becker)
+
+  [ gregor herrmann ]
   * debian/control: Changed: (build-)depend on perl instead of perl-
     modules.
 
- -- gregor herrmann <gregoa at debian.org>  Fri, 23 Oct 2009 02:24:23 +0200
+ -- Dominique Dumont <dominique.dumont at hp.com>  Sat, 23 Jan 2010 14:23:22 +0100
 
 libconfig-model-tkui-perl (1.301-1) unstable; urgency=low
 

Modified: trunk/libconfig-model-tkui-perl/debian/libconfig-model-tkui-perl.docs
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/debian/libconfig-model-tkui-perl.docs?rev=51351&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/debian/libconfig-model-tkui-perl.docs (original)
+++ trunk/libconfig-model-tkui-perl/debian/libconfig-model-tkui-perl.docs Sat Jan 23 13:24:19 2010
@@ -1,1 +1,2 @@
 README
+examples

Modified: trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/HashEditor.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/HashEditor.pm?rev=51351&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/HashEditor.pm (original)
+++ trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/HashEditor.pm Sat Jan 23 13:24:19 2010
@@ -1,8 +1,8 @@
 # $Author: ddumont $
-# $Date: 2009-09-04 17:59:46 +0200 (Fri, 04 Sep 2009) $
-# $Revision: 1015 $
-
-#    Copyright (c) 2008 Dominique Dumont.
+# $Date: 2010-01-21 14:20:47 +0100 (Thu, 21 Jan 2010) $
+# $Revision: 1050 $
+
+#    Copyright (c) 2008-2010 Dominique Dumont.
 #
 #    This file is part of Config-Model-TkUI.
 #
@@ -34,7 +34,7 @@
 use Tk::Photo ;
 use Tk::Balloon ;
 
-$VERSION = sprintf "1.%04d", q$Revision: 1015 $ =~ /(\d+)/;
+$VERSION = sprintf "1.%04d", q$Revision: 1050 $ =~ /(\d+)/;
 
 Construct Tk::Widget 'ConfigModelHashEditor';
 
@@ -171,7 +171,7 @@
     $del_rm_frame -> Button ( -text => 'Remove all',
 			      -command => sub { $hash->clear ; 
 						$tklist->delete(0,'end');
-						$cw->reload_tree;
+						$cw->reload_tree(1);
 						$item = '';
 					    },
 			    ) -> pack(-side => 'left', @fxe1) ;

Modified: trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/LeafEditor.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/LeafEditor.pm?rev=51351&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/LeafEditor.pm (original)
+++ trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/LeafEditor.pm Sat Jan 23 13:24:19 2010
@@ -1,6 +1,6 @@
 # $Author: ddumont $
-# $Date: 2009-07-31 16:37:39 +0200 (Fri, 31 Jul 2009) $
-# $Revision: 1009 $
+# $Date: 2009-09-25 15:18:13 +0200 (Fri, 25 Sep 2009) $
+# $Revision: 1034 $
 
 #    Copyright (c) 2008-2009 Dominique Dumont.
 #
@@ -30,7 +30,7 @@
 use base qw/Config::Model::Tk::LeafViewer/;
 use vars qw/$VERSION/ ;
 
-$VERSION = sprintf "1.%04d", q$Revision: 1009 $ =~ /(\d+)/;
+$VERSION = sprintf "1.%04d", q$Revision: 1034 $ =~ /(\d+)/;
 
 Construct Tk::Widget 'ConfigModelLeafEditor';
 
@@ -63,7 +63,7 @@
 
     $cw->add_header(Edit => $leaf) ;
 
-    $cw->{value} = $leaf->fetch || '';
+    $cw->{value} = $leaf->fetch ;
     my $vref = \$cw->{value};
 
     my @pack_args = @fx ;
@@ -109,7 +109,9 @@
 	my @choice = $leaf->get_choice ;
 	$lb->insert('end',$leaf->get_choice) ;
 	my $idx = 0;
-	map { $lb->selectionSet($idx) if $_ eq $$vref; $idx ++}  @choice;
+	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) ;
 
@@ -179,6 +181,8 @@
 	$v = defined  $e_w ? $e_w->get('1.0','end')
            :                 $cw->{value} ;
     }
+
+    return unless defined $v;
     chomp $v ;
 
     $logger->debug( "try: value $v") ;
@@ -192,7 +196,7 @@
 		      )
             -> Show ;
 	$cw->reset_value ;
-	return undef ;
+	return ;
     }
     else {
 	$cw->set_value_help($v) ;

Modified: trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/NodeViewer.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/NodeViewer.pm?rev=51351&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/NodeViewer.pm (original)
+++ trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/NodeViewer.pm Sat Jan 23 13:24:19 2010
@@ -1,6 +1,6 @@
 # $Author: ddumont $
-# $Date: 2009-09-06 17:08:25 +0200 (Sun, 06 Sep 2009) $
-# $Revision: 1022 $
+# $Date: 2010-01-21 14:20:47 +0100 (Thu, 21 Jan 2010) $
+# $Revision: 1050 $
 
 #    Copyright (c) 2008-2009 Dominique Dumont.
 #
@@ -30,7 +30,7 @@
 use vars qw/$VERSION/ ;
 use subs qw/menu_struct/ ;
 
-$VERSION = sprintf "1.%04d", q$Revision: 1022 $ =~ /(\d+)/;
+$VERSION = sprintf "1.%04d", q$Revision: 1050 $ =~ /(\d+)/;
 
 Construct Tk::Widget 'ConfigModelNodeViewer';
 
@@ -105,25 +105,37 @@
     my %old_elt = %{$cw->{elt_path}|| {} } ;
 
     foreach my $c ($node->get_element_name(for => $exp)) {
-	next if delete $old_elt{$c} ;
+	my $type = $node->element_type($c) ;
 
-	$hl->add($c) ;
-	$cw->{elt_path}{$c} = 1 ;
+	unless (delete $old_elt{$c}) {
+	    # create item
+	    $hl->add($c) ;
+	    $cw->{elt_path}{$c} = 1 ;
 
-	$hl->itemCreate($c,0, -text => $c) ;
-	my $type = $node->element_type($c) ;
-	$hl->itemCreate($c,1, -text => $type) ;
+	    $hl->itemCreate($c,0, -text => $c) ;
+	    $hl->itemCreate($c,1, -text => $type) ;
+	    $hl->itemCreate($c,2, 
+			    -itemtype => 'imagetext' ,
+			    -text => '', 
+			    -showimage => 0,
+			    -image => $Config::Model::TkUI::warn_img) ;
+	}
 
 	if ($type eq 'leaf') {
+	    # update displayed value
 	    my $v = eval {$node->fetch_element_value($c)} ;
 	    if ($@) {
-		$hl->itemCreate($c,2, 
-				-itemtype => 'image' , 
-				-image => $Config::Model::TkUI::warn_img) ;
+		$hl->itemConfigure($c,2, 
+				   -showtext => 0 ,
+				   -showimage => 1,
+				   ) ;
 	    }
 	    elsif (defined $v) {
 		substr ($v,15) = '...' if length($v) > 15;
-		$hl->itemCreate($c,2, -text => $v) ;
+		$hl->itemConfigure($c,2,  
+				   -showtext => 1 ,
+				   -showimage => 0,
+				   -text => $v) ;
 	    }
 	}
     }

Modified: trunk/libconfig-model-tkui-perl/lib/Config/Model/TkUI.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/lib/Config/Model/TkUI.pm?rev=51351&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/lib/Config/Model/TkUI.pm (original)
+++ trunk/libconfig-model-tkui-perl/lib/Config/Model/TkUI.pm Sat Jan 23 13:24:19 2010
@@ -1,6 +1,6 @@
 # $Author: ddumont $
-# $Date: 2009-09-07 14:05:34 +0200 (Mon, 07 Sep 2009) $
-# $Revision: 1024 $
+# $Date: 2010-01-21 18:17:54 +0100 (Thu, 21 Jan 2010) $
+# $Revision: 1053 $
 
 package Config::Model::TkUI ;
 
@@ -38,7 +38,7 @@
 use Config::Model::Tk::Wizard ;
 
 
-$VERSION = '1.301' ;
+$VERSION = '1.302' ;
 
 Construct Tk::Widget 'ConfigModelUI';
 
@@ -380,7 +380,13 @@
     }
     else {
 	$logger->info( "Saving data in $trace_dir directory with instance write_back" );
-	$cw->{root}->instance->write_back(@wb_args);
+	eval { $cw->{root}->instance->write_back(@wb_args); } ;
+	if ($@) {
+	  $cw -> Dialog ( -title => 'Save error',
+			  -text  => "$@",
+			)
+            -> Show ;
+	}
     }
     $cw->{modified_data} = 0 ;
 }
@@ -870,6 +876,7 @@
 
     my @selected = @_ ? @_ : $tkt -> info('selection');
 
+    return unless @selected ;
     #print "edit_paste in @selected\n";
     my @res ;
 
@@ -1002,7 +1009,7 @@
 
 =head1 LICENSE
 
-    Copyright (c) 2008-2009 Dominique Dumont.
+    Copyright (c) 2008-2010 Dominique Dumont.
 
     This file is part of Config-Model.
 

Modified: trunk/libconfig-model-tkui-perl/t/big_model.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/t/big_model.pm?rev=51351&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/t/big_model.pm (original)
+++ trunk/libconfig-model-tkui-perl/t/big_model.pm Sat Jan 23 13:24:19 2010
@@ -1,7 +1,7 @@
 # -*- cperl -*-
 # $Author: ddumont $
-# $Date: 2009-06-29 14:41:07 +0200 (Mon, 29 Jun 2009) $
-# $Revision: 994 $
+# $Date: 2009-09-15 14:00:19 +0200 (Tue, 15 Sep 2009) $
+# $Revision: 1028 $
 
 # this file is used by test script
 
@@ -101,7 +101,7 @@
    name => 'Master',
    experience => [ [qw/tree_macro warp/] => 'advanced'] ,
    class_description => "Master description",
-   level      => [ [qw/hash_a tree_macro int_v/] => 'important' ],
+   level      => [ [qw/lista hash_a tree_macro int_v/] => 'important' ],
    write_config  => [ { backend => 'cds_file' , config_dir => '/foo', auto_create => 1},
 		    ],
    element => [




More information about the Pkg-perl-cvs-commits mailing list