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

gregoa at users.alioth.debian.org gregoa at users.alioth.debian.org
Mon Mar 29 19:56:58 UTC 2010


Author: gregoa
Date: Mon Mar 29 19:56:53 2010
New Revision: 55054

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=55054
Log:
New upstream release.

Modified:
    trunk/libconfig-model-tkui-perl/Build.PL
    trunk/libconfig-model-tkui-perl/ChangeLog
    trunk/libconfig-model-tkui-perl/META.yml
    trunk/libconfig-model-tkui-perl/README
    trunk/libconfig-model-tkui-perl/debian/changelog
    trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/AnyViewer.pm
    trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/CheckListEditor.pm
    trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/CheckListViewer.pm
    trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/HashEditor.pm
    trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/HashViewer.pm
    trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/LeafEditor.pm
    trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/LeafViewer.pm
    trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/ListEditor.pm
    trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/ListViewer.pm
    trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/NodeEditor.pm
    trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/NodeViewer.pm
    trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/Wizard.pm
    trunk/libconfig-model-tkui-perl/lib/Config/Model/TkUI.pm
    trunk/libconfig-model-tkui-perl/t/big_model.pm
    trunk/libconfig-model-tkui-perl/t/config-model-ui.t
    trunk/libconfig-model-tkui-perl/t/config-model-wizard.t

Modified: trunk/libconfig-model-tkui-perl/Build.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/Build.PL?rev=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/Build.PL (original)
+++ trunk/libconfig-model-tkui-perl/Build.PL Mon Mar 29 19:56:53 2010
@@ -1,8 +1,4 @@
-# $Author: ddumont $
-# $Date: 2010-02-26 14:08:10 +0100 (Fri, 26 Feb 2010) $
-# $Revision: 1098 $
-
-#    Copyright (c) 2007-2009 Dominique Dumont.
+#    Copyright (c) 2007-2010 Dominique Dumont.
 #
 #    This file is part of Config-Model-TkUI.
 #
@@ -32,12 +28,13 @@
    dist_abstract => "Tk GUI to edit config data through Config::Model",
    dist_author  => "Dominique Dumont (ddumont at cpan dot org)",
    requires => {
-		'Config::Model'    => '0.643',
+		'Config::Model'    => '1.001',
 		'Exception::Class' => 0,
 		'Tk'               => 0,
 		'Tk::DirSelect'    => 0,
 		'Tk::Tree'         => 0,
 		'Log::Log4perl'    => '1.11', # for TRACE log level
+		'Pod::POM'         => 0,
 	       },
    recommends => {
 		  'Tk::ObjScanner' => 0, # for TkUI debug menu

Modified: trunk/libconfig-model-tkui-perl/ChangeLog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/ChangeLog?rev=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/ChangeLog (original)
+++ trunk/libconfig-model-tkui-perl/ChangeLog Mon Mar 29 19:56:53 2010
@@ -1,3 +1,37 @@
+2010-03-29  Dominique Dumont  <dominique.dumont at hp.com> 1.306
+
+	* Build.PL: Depends on Config::Model 1.001
+
+	* lib/Config/Model/Tk/*.pm: Put back VERSION number and bumped
+	them all to 1.305 to make CPAN indexer happy
+
+2010-03-27  Dominique Dumont  <domi.dumont at free.fr> 1.305
+
+	* Build.PL: depends on Pod::POM
+
+	* lib/Config/Model/TkUI.pm (Populate): bound Ctrl-C and Ctrl-V to
+	copy and paste in configuration tree widget.
+	(Populate): use Pod::POM to display help from pod documentation
+
+2010-03-22  Dominique Dumont  <domi.dumont at free.fr>
+
+	* lib/Config/Model/Tk/Wizard.pm: Force tree to show item to edit
+	when displaying the wizard page for the item.
+
+2010-03-16  Dominique Dumont  <dominique.dumont at hp.com>
+
+	* lib/Config/Model/TkUI.pm (on_cut_buffer_dump): When button-2 is
+	pressed above a lead, store cut buffer content in the leaf. When
+	pressed above a hash, creates a new hash key for each line in the
+	cut buffer.
+
+	* lib/Config/Model/Tk/AnyViewer.pm (add_info_frame): display
+	config parameter location in the tree on the top of all editor and
+	viewer widgets. This will make the wizard easier to use.
+
+	* lib/Config/Model/Tk/NodeEditor.pm (fill_pane): Stored entered
+	data when widget looses keyboard focus
+
 2010-03-12  Dominique Dumont  <dominique.dumont at hp.com> 1.304
 
 	* lib/Config/Model/TkUI.pm (disp_hash): Fix bug that messed tk

Modified: trunk/libconfig-model-tkui-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/META.yml?rev=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/META.yml (original)
+++ trunk/libconfig-model-tkui-perl/META.yml Mon Mar 29 19:56:53 2010
@@ -13,51 +13,53 @@
 provides:
   Config::Model::Tk::AnyViewer:
     file: lib/Config/Model/Tk/AnyViewer.pm
-    version: 1.1061
+    version: 1.305
   Config::Model::Tk::CheckListEditor:
     file: lib/Config/Model/Tk/CheckListEditor.pm
-    version: 1.1009
+    version: 1.305
   Config::Model::Tk::CheckListViewer:
     file: lib/Config/Model/Tk/CheckListViewer.pm
-    version: 1.0910
+    version: 1.305
   Config::Model::Tk::HashEditor:
     file: lib/Config/Model/Tk/HashEditor.pm
-    version: 1.1050
+    version: 1.305
   Config::Model::Tk::HashViewer:
     file: lib/Config/Model/Tk/HashViewer.pm
-    version: 1.1086
+    version: 1.305
   Config::Model::Tk::LeafEditor:
     file: lib/Config/Model/Tk/LeafEditor.pm
-    version: 1.1061
+    version: 1.305
   Config::Model::Tk::LeafViewer:
     file: lib/Config/Model/Tk/LeafViewer.pm
-    version: 1.1061
+    version: 1.305
   Config::Model::Tk::ListEditor:
     file: lib/Config/Model/Tk/ListEditor.pm
-    version: 1.1009
+    version: 1.305
   Config::Model::Tk::ListViewer:
     file: lib/Config/Model/Tk/ListViewer.pm
-    version: 1.1086
+    version: 1.305
   Config::Model::Tk::NodeEditor:
     file: lib/Config/Model/Tk/NodeEditor.pm
-    version: 1.1013
+    version: 1.305
   Config::Model::Tk::NodeViewer:
     file: lib/Config/Model/Tk/NodeViewer.pm
-    version: 1.1050
+    version: 1.305
   Config::Model::Tk::Wizard:
     file: lib/Config/Model/Tk/Wizard.pm
+    version: 1.305
   Config::Model::TkUI:
     file: lib/Config/Model/TkUI.pm
-    version: 1.304
+    version: 1.306
 recommends:
   Tk::ObjScanner: 0
 requires:
-  Config::Model: 0.643
+  Config::Model: 1.001
   Exception::Class: 0
   Log::Log4perl: 1.11
+  Pod::POM: 0
   Tk: 0
   Tk::DirSelect: 0
   Tk::Tree: 0
 resources:
-  license: http://opensource.org/licenses/lgpl-license.php
-version: 1.304
+  license: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt
+version: 1.306

Modified: trunk/libconfig-model-tkui-perl/README
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/README?rev=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/README (original)
+++ trunk/libconfig-model-tkui-perl/README Mon Mar 29 19:56:53 2010
@@ -25,7 +25,7 @@
 
 
 This projects also needs help to improve its user interfaces:
-- Look and fell of Perl/Tk interface can be improved
+- Look and feel of Perl/Tk interface can be improved
 - A nice logo (a penguin with a wrench maybe ) would be welcomed
 - Config::Model could use a web interface
 - May be also an interface based on Gtk or Wx for better integration
@@ -40,7 +40,7 @@
 Legalese:
 
 
-    Copyright (c) 2008-2009 Dominique Dumont.
+    Copyright (c) 2008-2010 Dominique Dumont.
 
     This file is part of Config-Model-TkUI.
 

Modified: trunk/libconfig-model-tkui-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/debian/changelog?rev=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/debian/changelog (original)
+++ trunk/libconfig-model-tkui-perl/debian/changelog Mon Mar 29 19:56:53 2010
@@ -1,3 +1,9 @@
+libconfig-model-tkui-perl (1.306-1) UNRELEASED; urgency=low
+
+  * New upstream release.
+
+ -- gregor herrmann <gregoa at debian.org>  Mon, 29 Mar 2010 21:55:10 +0200
+
 libconfig-model-tkui-perl (1.304-1) unstable; urgency=low
 
   * New upstream release

Modified: trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/AnyViewer.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/AnyViewer.pm?rev=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/AnyViewer.pm (original)
+++ trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/AnyViewer.pm Mon Mar 29 19:56:53 2010
@@ -1,6 +1,3 @@
-# $Author: ddumont $
-# $Date: 2010-01-29 14:22:45 +0100 (Fri, 29 Jan 2010) $
-# $Revision: 1061 $
 
 #    Copyright (c) 2008-2009 Dominique Dumont.
 #
@@ -23,6 +20,7 @@
 package Config::Model::Tk::AnyViewer ;
 
 use strict;
+our $VERSION="1.305";
 use warnings ;
 use Carp ;
 
@@ -30,9 +28,8 @@
 use Tk::ROText;
 use Config::Model::TkUI ;
 
-use vars qw/$VERSION $icon_path/ ;
+use vars qw/$icon_path/ ;
 
-$VERSION = sprintf "1.%04d", q$Revision: 1061 $ =~ /(\d+)/;
 
 my @fbe1 = qw/-fill both -expand 1/ ;
 my @fxe1 = qw/-fill x    -expand 1/ ;
@@ -59,8 +56,10 @@
     my $class = defined $parent ? $item->parent->config_class_name 
               :                   $item->config_class_name ;
 
-    my $label = "$type: Class $class";
-    $label .= "- Element $elt_name" if defined $parent ;
+    $cw->{config_class_name} = $class ;
+
+    my $label = "$type: ";
+    $label .= $item->location || "Class $class" ;
     my $f = $cw -> Frame -> pack (@fx);
 
     $f -> Label (-image => $img{lc($type)} , -anchor => 'w') 
@@ -77,7 +76,7 @@
 
 sub add_info_frame {
     my $cw = shift;
-    my @items = @_;
+    my @items = ( "Config class: ". $cw->{config_class_name}, @_ );
 
     my $frame = $cw->Frame()->pack(@fx) ;
     $frame -> Label(-text => 'Info', -anchor => 'w' ) ->pack(qw/-fill x/) ;

Modified: trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/CheckListEditor.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/CheckListEditor.pm?rev=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/CheckListEditor.pm (original)
+++ trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/CheckListEditor.pm Mon Mar 29 19:56:53 2010
@@ -1,6 +1,3 @@
-# $Author: ddumont $
-# $Date: 2009-07-31 16:37:39 +0200 (Fri, 31 Jul 2009) $
-# $Revision: 1009 $
 
 #    Copyright (c) 2008 Dominique Dumont.
 #
@@ -23,16 +20,16 @@
 package Config::Model::Tk::CheckListEditor ;
 
 use strict;
+our $VERSION="1.305";
 use warnings ;
 use Carp ;
 
 use base qw/ Tk::Frame Config::Model::Tk::CheckListViewer/;
-use vars qw/$VERSION $icon_path/ ;
+use vars qw/$icon_path/ ;
 use subs qw/menu_struct/ ;
 
 use Tk::NoteBook;
 
-$VERSION = sprintf "1.%04d", q$Revision: 1009 $ =~ /(\d+)/;
 
 Construct Tk::Widget 'ConfigModelCheckListEditor';
 

Modified: trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/CheckListViewer.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/CheckListViewer.pm?rev=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/CheckListViewer.pm (original)
+++ trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/CheckListViewer.pm Mon Mar 29 19:56:53 2010
@@ -1,6 +1,3 @@
-# $Author: ddumont $
-# $Date: 2009-03-31 13:41:21 +0200 (Tue, 31 Mar 2009) $
-# $Revision: 910 $
 
 #    Copyright (c) 2008-2009 Dominique Dumont.
 #
@@ -23,15 +20,14 @@
 package Config::Model::Tk::CheckListViewer ;
 
 use strict;
+our $VERSION="1.305";
 use warnings ;
 use Carp ;
 
 use base qw/Tk::Frame Config::Model::Tk::AnyViewer/;
-use vars qw/$VERSION/ ;
 use subs qw/menu_struct/ ;
 use Tk::ROText ;
 
-$VERSION = sprintf "1.%04d", q$Revision: 910 $ =~ /(\d+)/;
 
 Construct Tk::Widget 'ConfigModelCheckListViewer';
 

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=55054&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 Mon Mar 29 19:56:53 2010
@@ -1,6 +1,3 @@
-# $Author: ddumont $
-# $Date: 2010-01-21 14:20:47 +0100 (Thu, 21 Jan 2010) $
-# $Revision: 1050 $
 
 #    Copyright (c) 2008-2010 Dominique Dumont.
 #
@@ -23,18 +20,18 @@
 package Config::Model::Tk::HashEditor ;
 
 use strict;
+our $VERSION="1.305";
 use warnings ;
 use Carp ;
 use Log::Log4perl ;
 
 use base qw/Config::Model::Tk::HashViewer/;
-use vars qw/$VERSION $icon_path/ ;
+use vars qw/$icon_path/ ;
 use subs qw/menu_struct/ ;
 use Tk::Dialog ;
 use Tk::Photo ;
 use Tk::Balloon ;
 
-$VERSION = sprintf "1.%04d", q$Revision: 1050 $ =~ /(\d+)/;
 
 Construct Tk::Widget 'ConfigModelHashEditor';
 

Modified: trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/HashViewer.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/HashViewer.pm?rev=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/HashViewer.pm (original)
+++ trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/HashViewer.pm Mon Mar 29 19:56:53 2010
@@ -1,6 +1,3 @@
-# $Author: ddumont $
-# $Date: 2010-02-18 18:29:48 +0100 (Thu, 18 Feb 2010) $
-# $Revision: 1086 $
 
 #    Copyright (c) 2008 Dominique Dumont.
 #
@@ -23,14 +20,13 @@
 package Config::Model::Tk::HashViewer ;
 
 use strict;
+our $VERSION="1.305";
 use warnings ;
 use Carp ;
 
 use base qw/Tk::Frame Config::Model::Tk::AnyViewer/;
-use vars qw/$VERSION/ ;
 use subs qw/menu_struct/ ;
 
-$VERSION = sprintf "1.%04d", q$Revision: 1086 $ =~ /(\d+)/;
 
 Construct Tk::Widget 'ConfigModelHashViewer';
 

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=55054&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 Mon Mar 29 19:56:53 2010
@@ -1,6 +1,3 @@
-# $Author: ddumont $
-# $Date: 2010-01-29 14:22:45 +0100 (Fri, 29 Jan 2010) $
-# $Revision: 1061 $
 
 #    Copyright (c) 2008-2009 Dominique Dumont.
 #
@@ -23,14 +20,13 @@
 package Config::Model::Tk::LeafEditor ;
 
 use strict;
+our $VERSION="1.305";
 use warnings ;
 use Carp ;
 use Log::Log4perl;
 
 use base qw/Config::Model::Tk::LeafViewer/;
-use vars qw/$VERSION/ ;
-
-$VERSION = sprintf "1.%04d", q$Revision: 1061 $ =~ /(\d+)/;
+
 
 Construct Tk::Widget 'ConfigModelLeafEditor';
 

Modified: trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/LeafViewer.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/LeafViewer.pm?rev=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/LeafViewer.pm (original)
+++ trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/LeafViewer.pm Mon Mar 29 19:56:53 2010
@@ -1,6 +1,3 @@
-# $Author: ddumont $
-# $Date: 2010-01-29 14:22:45 +0100 (Fri, 29 Jan 2010) $
-# $Revision: 1061 $
 
 #    Copyright (c) 2008 Dominique Dumont.
 #
@@ -23,14 +20,12 @@
 package Config::Model::Tk::LeafViewer ;
 
 use strict;
+our $VERSION="1.305";
 use warnings ;
 use Carp ;
 use Log::Log4perl ;
 
 use base qw/Tk::Frame Config::Model::Tk::AnyViewer/;
-use vars qw/$VERSION/ ;
-
-$VERSION = sprintf "1.%04d", q$Revision: 1061 $ =~ /(\d+)/;
 
 Construct Tk::Widget 'ConfigModelLeafViewer';
 
@@ -92,7 +87,7 @@
 
     $cw->add_info() ;
     $cw->add_summary_and_description($leaf) ;
-    $cw->add_help(value   => $leaf->get_help($cw->{value})) ;
+    $cw->add_help('value help'   => $leaf->get_help($cw->{value})) ;
     $cw->add_editor_button($path) ;
 
     $cw->ConfigSpecs(

Modified: trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/ListEditor.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/ListEditor.pm?rev=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/ListEditor.pm (original)
+++ trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/ListEditor.pm Mon Mar 29 19:56:53 2010
@@ -1,6 +1,3 @@
-# $Author: ddumont $
-# $Date: 2009-07-31 16:37:39 +0200 (Fri, 31 Jul 2009) $
-# $Revision: 1009 $
 
 #    Copyright (c) 2008 Dominique Dumont.
 #
@@ -23,16 +20,15 @@
 package Config::Model::Tk::ListEditor ;
 
 use strict;
+our $VERSION="1.305";
 use warnings ;
 use Carp ;
 use Log::Log4perl ;
 
 use base qw/Config::Model::Tk::ListViewer/;
-use vars qw/$VERSION/ ;
 use subs qw/menu_struct/ ;
 use Tk::Dialog ;
 
-$VERSION = sprintf "1.%04d", q$Revision: 1009 $ =~ /(\d+)/;
 
 Construct Tk::Widget 'ConfigModelListEditor';
 

Modified: trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/ListViewer.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/ListViewer.pm?rev=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/ListViewer.pm (original)
+++ trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/ListViewer.pm Mon Mar 29 19:56:53 2010
@@ -1,6 +1,3 @@
-# $Author: ddumont $
-# $Date: 2010-02-18 18:29:48 +0100 (Thu, 18 Feb 2010) $
-# $Revision: 1086 $
 
 #    Copyright (c) 2008 Dominique Dumont.
 #
@@ -23,14 +20,13 @@
 package Config::Model::Tk::ListViewer ;
 
 use strict;
+our $VERSION="1.305";
 use warnings ;
 use Carp ;
 
 use base qw/Tk::Frame Config::Model::Tk::AnyViewer/;
-use vars qw/$VERSION/ ;
 use subs qw/menu_struct/ ;
 
-$VERSION = sprintf "1.%04d", q$Revision: 1086 $ =~ /(\d+)/;
 
 Construct Tk::Widget 'ConfigModelListViewer';
 

Modified: trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/NodeEditor.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/NodeEditor.pm?rev=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/NodeEditor.pm (original)
+++ trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/NodeEditor.pm Mon Mar 29 19:56:53 2010
@@ -1,8 +1,5 @@
-# $Author: ddumont $
-# $Date: 2009-09-03 14:05:31 +0200 (Thu, 03 Sep 2009) $
-# $Revision: 1013 $
 
-#    Copyright (c) 2009 Dominique Dumont.
+#    Copyright (c) 2009-2010 Dominique Dumont.
 #
 #    This file is part of Config-Model-TkUi.
 #
@@ -23,6 +20,7 @@
 package Config::Model::Tk::NodeEditor ;
 
 use strict;
+our $VERSION="1.305";
 use warnings ;
 use Carp ;
 
@@ -31,15 +29,14 @@
 use Text::Wrap;
 
 use base qw/Tk::Frame Config::Model::Tk::AnyViewer/;
-use vars qw/$VERSION/ ;
 use subs qw/menu_struct/ ;
 
-$VERSION = sprintf "1.%04d", q$Revision: 1013 $ =~ /(\d+)/;
 
 Construct Tk::Widget 'ConfigModelNodeEditor';
 
 my @fbe1 = qw/-fill both -expand 1/ ;
 my @fxe1 = qw/-fill x    -expand 1/ ;
+my @fx   = qw/-fill x    -expand 0/ ;
 
 my $logger = Log::Log4perl::get_logger(__PACKAGE__);
 
@@ -108,7 +105,7 @@
 
 	my @after = $old_f ? ( -after => $old_f ) : () ;
 	my $f = $elt_pane->Frame(-relief=> 'groove', -borderwidth => 1)
-	  ->pack(-side =>'top', at fxe1, at after) ;
+	  ->pack(-side =>'top', at fx, at after) ;
 	$old_f = $f ;
 
 	$cw->{elt_widgets}{$c} = $f ;
@@ -131,6 +128,7 @@
 		my $e = $f->Entry(-textvariable => \$v)
 		  ->pack(qw/-side left -anchor w/, at fxe1) ;
 		$e->bind("<Return>" => $store_sub) ;
+		$e->bind("<FocusOut>" => $store_sub) ;
 		next ;
 	    }
 

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=55054&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 Mon Mar 29 19:56:53 2010
@@ -1,6 +1,3 @@
-# $Author: ddumont $
-# $Date: 2010-01-21 14:20:47 +0100 (Thu, 21 Jan 2010) $
-# $Revision: 1050 $
 
 #    Copyright (c) 2008-2009 Dominique Dumont.
 #
@@ -23,14 +20,13 @@
 package Config::Model::Tk::NodeViewer ;
 
 use strict;
+our $VERSION="1.305";
 use warnings ;
 use Carp ;
 
 use base qw/Tk::Frame Config::Model::Tk::AnyViewer/;
-use vars qw/$VERSION/ ;
 use subs qw/menu_struct/ ;
 
-$VERSION = sprintf "1.%04d", q$Revision: 1050 $ =~ /(\d+)/;
 
 Construct Tk::Widget 'ConfigModelNodeViewer';
 

Modified: trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/Wizard.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/Wizard.pm?rev=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/Wizard.pm (original)
+++ trunk/libconfig-model-tkui-perl/lib/Config/Model/Tk/Wizard.pm Mon Mar 29 19:56:53 2010
@@ -1,15 +1,13 @@
-# $Author: ddumont $
-# $Date: 2009-06-24 12:48:54 +0200 (Wed, 24 Jun 2009) $
-# $Revision: 987 $
 
 package Config::Model::Tk::Wizard ;
 
 use strict;
+our $VERSION="1.305";
 use warnings ;
 use Carp ;
 
 use base qw/Tk::Toplevel/;
-use vars qw/$VERSION $icon_path/ ;
+use vars qw/$icon_path/ ;
 use Log::Log4perl;
 
 use Config::Model::Tk::LeafEditor ;
@@ -44,13 +42,14 @@
 	  or croak "Missing $parm arg\n";
     }
 
-    foreach my $parm (qw/-from_widget -stop_on_important -store_cb/) {
+    foreach my $parm (qw/-from_widget -stop_on_important -store_cb -show_cb/) {
 	my $attr = $parm ;
 	$attr =~ s/^-//;
 	$cw->{$attr} = delete $args->{$parm} ;
     }
 
     $logger->info("Creating wizard widget");
+    $cw->{show_cb} ||= sub {} ;
 
     my $title = delete $args->{'-title'} 
               || "config wizard ".$cw->{root}->config_class_name ;
@@ -94,6 +93,7 @@
 sub leaf_cb {
     my ($cw,$scanner, $data_ref,$node,$element_name,$index, $leaf_object) = @_ ;
     # cleanup existing widget contained in this frame
+    $cw->{show_cb}->($leaf_object) ;
     $cw->{ed_frame}->ConfigModelLeafEditor(-item => $leaf_object, 
 					   -store_cb => $cw->{store_cb},
 					  )->pack(@fbe1) ;
@@ -103,6 +103,7 @@
     my ($cw,$scanner, $data_ref,$node,$element_name, at indexes) = @_ ;
     # cleanup existing widget contained in this frame
     my $obj = $node->fetch_element($element_name) ;
+    $cw->{show_cb}->($obj) ;
     $cw->{ed_frame}->ConfigModelListEditor(-item => $obj, 
 					   -store_cb => $cw->{store_cb},
 					  )->pack(@fbe1) ;
@@ -112,6 +113,7 @@
     my ($cw,$scanner, $data_ref,$node,$element_name, at keys) = @_ ;
     # cleanup existing widget contained in this frame
     my $obj = $node->fetch_element($element_name) ;
+    $cw->{show_cb}->($obj) ;
     $cw->{ed_frame}->ConfigModelHashEditor(-item => $obj, 
 					   -store_cb => $cw->{store_cb},
 					  )->pack(@fbe1) ;
@@ -120,6 +122,7 @@
     my ($cw,$scanner, $data_ref,$node,$element_name, at items) = @_ ;
     # cleanup existing widget contained in this frame
     my $obj = $node->fetch_element($element_name) ;
+    $cw->{show_cb}->($obj) ;
     $cw->{ed_frame}->ConfigModelCheckListEditor(-item => $obj, 
 						-store_cb => $cw->{store_cb},
 					       )->pack(@fbe1) ;

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=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/lib/Config/Model/TkUI.pm (original)
+++ trunk/libconfig-model-tkui-perl/lib/Config/Model/TkUI.pm Mon Mar 29 19:56:53 2010
@@ -1,6 +1,4 @@
-# $Author: ddumont $
-# $Date: 2010-02-26 14:08:10 +0100 (Fri, 26 Feb 2010) $
-# $Revision: 1098 $
+# copyright at the end of the file in the pod section
 
 package Config::Model::TkUI ;
 
@@ -9,11 +7,14 @@
 use Carp ;
 
 use base qw/Tk::Toplevel/;
-use vars qw/$VERSION $icon_path $warn_img/ ;
+use vars qw/$icon_path $warn_img/ ;
 use subs qw/menu_struct/ ;
 use Scalar::Util qw/weaken/;
 use Log::Log4perl;
 
+use Pod::POM;
+use Pod::POM::View::Text ;
+
 use Tk::Photo ;
 use Tk::PNG ; # required for Tk::Photo to be able to load pngs
 use Tk::DialogBox ;
@@ -37,8 +38,7 @@
 
 use Config::Model::Tk::Wizard ;
 
-
-$VERSION = '1.304' ;
+our $VERSION = '1.306' ;
 
 Construct Tk::Widget 'ConfigModelUI';
 
@@ -121,11 +121,12 @@
 
     $cw->add_help_menu($menubar) ;
 
-    my $edit_items = [
-		      # [ qw/command cut   -command/, sub{ $cw->edit_cut }],
-		      [ qw/command copy  -command/, sub{ $cw->edit_copy }],
-		      [ qw/command paste -command/, sub{ $cw->edit_paste }],
-		     ];
+    my $edit_items 
+      = [
+	 # [ qw/command cut   -command/, sub{ $cw->edit_cut }],
+	 [ command => 'copy (Ctrl-C)', '-command', sub{ $cw->edit_copy }],
+	 [ command => 'paste (Ctrl-V)','-command', sub{ $cw->edit_paste }],
+	];
     $menubar->cascade( -label => 'Edit', -menuitems => $edit_items ) ; 
 
     my $exp_ref = $cw->{scanner}->get_experience_ref ;
@@ -198,6 +199,19 @@
 		     $cw->on_select($item)} ;
     $tree->bind('<Button-3>', $b3_sub) ;
 
+    # bind button2 to get cut buffer content and try to store cut buffer content
+    my $b2_sub = sub{my $item = $tree->nearest($tree->pointery - $tree->rooty) ;
+		     $cw->on_cut_buffer_dump($item)} ;
+    $tree->bind('<Button-2>', $b2_sub) ;
+
+    $tree->bind('<Control-c>',  sub{ $cw->edit_copy }) ;
+    $tree->bind('<Control-v>',  sub{ $cw->edit_paste }) ;
+
+    # bind button2 to get cut buffer content and try to store cut buffer content
+    #my $key_sub = sub{my $item = $tree->nearest($tree->pointery - $tree->rooty) ;
+    #$cw->on_key_press($item)} ;
+    #$tree->bind('<KeyPress>', $key_sub) ;
+
     $args->{-title} = $title;
     $cw->SUPER::Populate($args) ;
 
@@ -220,37 +234,20 @@
 
 }
 
-my $help_text = << 'EOF' ;
-
-Tree usage (left hand side of widget)
-
-* Click on '+' and '-' boxes to open or close content
-* Left-click on item to open a viewer widget.
-* Right-click on any item to open an editor widget
-
-Editor widget usage
-
-When clicking on store, the new data is stored in the tree represented
-on the left side of TkUI. The new data will be stored in the
-configuration file only when "File->save" menu is invoked.
-
-Copy'n'paste
-
-You copy and paste content from one part of the tree to
-another. Beware, there's no "undo" operation.
-
-EOF
-
-my $todo_text = << 'EOF' ;
-- add better navigation
-- add tabular view ?
-- improve look and feel
-- add search element or search value
-- expand the whole tree at once
-- add plug-in mechanism so that dedicated widget
-  can be used for some config Class (Could be handy for 
-  Xorg::ServerLayout)
-EOF
+
+my $parser = Pod::POM->new();
+
+# parse from my documentation
+my $pom = $parser->parse_file(__FILE__) 
+  || die $parser->error();
+
+my $help_text;
+my $todo_text;
+foreach my $head1 ($pom->head1()) {
+    $help_text = Pod::POM::View::Text->view_head1($head1)
+      if $head1->title eq 'USAGE';
+    $todo_text = $head1->content if $head1->title eq 'TODO';
+}
 
 sub add_help_menu {
     my ($cw,$menubar) = @_ ;
@@ -258,7 +255,7 @@
     my $about_sub = sub {
 	$cw->Dialog(-title => 'About',
 		    -text => "Config::Model::TkUI \n"
-		    ."(c) 2008-2009 Dominique Dumont \n"
+		    ."(c) 2008-2010 Dominique Dumont \n"
 		    ."Licensed under LGPLv2\n"
 		   ) -> Show ;
     };
@@ -272,7 +269,7 @@
 
     my $help_sub = sub{
 	my $db = $cw->DialogBox( -title => 'help');
-	my $text = $db -> add('ROText')->pack ;
+	my $text = $db -> add('Scrolled','ROText')->pack ;
 	$text ->insert('end',$help_text) ;
 	$db-> Show ;
     };
@@ -475,6 +472,32 @@
     $cw->create_element_widget('edit') ;
 }
 
+sub on_cut_buffer_dump {
+    my ($cw,$tree_path) = @_ ;
+    $cw->update_loc_bar($tree_path) ;
+
+    # get cut buffer content, See Perl/Tk book p297
+    my $sel = eval { $cw->SelectionGet ;} ;
+
+    return if $@ ; # no selection
+
+    my $obj = $cw->{tktree}->infoData($tree_path)->[1];
+
+    if ($obj->isa('Config::Model::Value')) {
+	# if leaf store content 
+	$obj->store($sel)
+    }
+    elsif ($obj->isa('Config::Model::HashId')) {
+	# if hash create keys
+	my @keys = ($sel =~ /\n/m) ? split(/\n/,$sel) : ($sel) ;
+	map{ $obj->fetch_with_id($_) } @keys ;
+    }
+    # else ignore
+
+    # display result
+    $cw->reload ;
+    $cw->create_element_widget('view') ;
+}
 
 # replace dot in str by _|_
 sub to_path   { my $str  = shift ; $str  =~ s/\./_|_/g; return $str ;}
@@ -865,7 +888,8 @@
 		      $cfg_elt->composite_name,
 		      $type,
 		      $cfg_class ,
-		      $cfg_elt->dump_as_data()] ;
+		      $cfg_elt->dump_as_data() 
+		    ] ;
     }
 
     $cw->{cut_buffer} = \@res ;
@@ -923,10 +947,13 @@
     my $cw = shift ;
     my $tree = $cw->{tktree} ;
 
-    my $wiz = $cw->ConfigModelWizard (
-				      -root => $cw->{root}, 
-				      -store_cb => sub{ $cw->force_element_display(@_)},
-				     ) ;
+    my $wiz = $cw->ConfigModelWizard 
+      (
+       -root => $cw->{root}, 
+       -store_cb => sub{ $cw->force_element_display(@_)},
+       -show_cb => sub{ $cw->force_element_display(@_)},
+      ) ;
+
     $wiz->start_wizard($cw->{experience}) ;
 }
 
@@ -987,13 +1014,29 @@
 
 Right-click on any item to open an editor widget
 
+=item *
+
+Use Ctrl-C to copy configuration data in an internal buffer 
+
+=item *
+
+Use Ctrl-V to copy configuration data from the internal buffer to the
+configuration tree. Beware, there's no "undo" operation.
+
+=item *
+
+Pasting cut buffer into a leaf element will store the content of the
+buffer into the element. This should be used with C<string> or
+C<uniline> elements.
+
 =back
 
 =head2 Editor widget
 
-When clicking on store, the new data is stored in the tree represented
-on the left side of TkUI. The new data will be stored in the
-configuration file only when C<File->save> menu is invoked.
+The right side of the widget is either a viewer or an editor. When
+clicking on store in the editor, the new data is stored in the tree
+represented on the left side of TkUI. The new data will be stored in
+the configuration file only when C<File->save> menu is invoked.
 
 =head2 Wizard
 
@@ -1004,9 +1047,17 @@
 flagged as important in the model. It will also stop on all erroneous
 items (mostly missing mandatory values).
 
-=head2 TODO
-
-Document widget options. (-root_model and -store_sub, -quit)
+=head1 TODO
+
+- Document widget options. (-root_model and -store_sub, -quit)
+- add better navigation
+- add tabular view ?
+- improve look and feel
+- add search element or search value
+- expand the whole tree at once
+- add plug-in mechanism so that dedicated widget
+  can be used for some config Class (Could be handy for 
+  Xorg::ServerLayout)
 
 =head1 AUTHOR
 

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=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/t/big_model.pm (original)
+++ trunk/libconfig-model-tkui-perl/t/big_model.pm Mon Mar 29 19:56:53 2010
@@ -1,7 +1,4 @@
 # -*- cperl -*-
-# $Author: ddumont $
-# $Date: 2009-09-15 14:00:19 +0200 (Tue, 15 Sep 2009) $
-# $Revision: 1028 $
 
 # this file is used by test script
 

Modified: trunk/libconfig-model-tkui-perl/t/config-model-ui.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/t/config-model-ui.t?rev=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/t/config-model-ui.t (original)
+++ trunk/libconfig-model-tkui-perl/t/config-model-ui.t Mon Mar 29 19:56:53 2010
@@ -1,7 +1,7 @@
 # -*- cperl -*-
-# $Author: ddumont $
-# $Date: 2009-09-04 14:29:16 +0200 (Fri, 04 Sep 2009) $
-# $Revision: 1014 $
+# $Author$
+# $Date$
+# $Revision$
 use warnings FATAL => qw(all);
 
 use ExtUtils::testlib;
@@ -19,7 +19,6 @@
 my ($log,$show) = (0) x 2 ;
 
 my $trace = $arg =~ /t/ ? 1 : 0 ;
-$::verbose          = 1 if $arg =~ /v/;
 $::debug            = 1 if $arg =~ /d/;
 $log                = 1 if $arg =~ /l/;
 $show               = 1 if $arg =~ /s|i/;

Modified: trunk/libconfig-model-tkui-perl/t/config-model-wizard.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libconfig-model-tkui-perl/t/config-model-wizard.t?rev=55054&op=diff
==============================================================================
--- trunk/libconfig-model-tkui-perl/t/config-model-wizard.t (original)
+++ trunk/libconfig-model-tkui-perl/t/config-model-wizard.t Mon Mar 29 19:56:53 2010
@@ -19,7 +19,6 @@
 my ($log,$show) = (0) x 2 ;
 
 my $trace = $arg =~ /t/ ? 1 : 0 ;
-$::verbose          = 1 if $arg =~ /v/;
 $::debug            = 1 if $arg =~ /d/;
 $log                = 1 if $arg =~ /l/;
 $show               = 1 if $arg =~ /s|i/;




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