Config::Model::TermUI man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Config::Model::TermUI(User Contributed Perl DocumentatConfig::Model::TermUI(3)

NAME
       Config::Model::TermUI - Provides Config::Model UI a la Term::ReadLine

VERSION
       version 1.235

SYNOPSIS
	use Config::Model;
	use Config::Model::TermUI ;
	use Log::Log4perl qw(:easy);
	Log::Log4perl->easy_init($WARN);

	# define configuration tree object
	my $model = Config::Model->new;
	 $model->create_config_class(
	   name	   => "Foo",
	   element => [
	       [qw/foo bar/] => {
		   type	      => 'leaf',
		   value_type => 'string'
	       },
	   ]
	);
	$model ->create_config_class (
	   name => "MyClass",

	   element => [

	       [qw/foo bar/] => {
		   type	      => 'leaf',
		   value_type => 'string'
	       },
	       hash_of_nodes => {
		   type	      => 'hash',     # hash id
		   index_type => 'string',
		   cargo      => {
		       type		 => 'node',
		       config_class_name => 'Foo'
		   },
	       },
	   ],
	) ;

	my $inst = $model->instance(root_class_name => 'MyClass' );

	my $root = $inst->config_root ;

	# put data
	my $step = 'foo=FOO hash_of_nodes:fr foo=bonjour -
	  hash_of_nodes:en foo=hello ';
	$root->load( step => $step );

	my $ui = Config::Model::TermUI->new( root => $root ,
					     title => 'My class ui',
					     prompt => 'class ui',
					     );

	# engage in user interaction
	$ui -> run_loop ;

	print $root->dump_tree ;

       Once the synopsis above has been saved in "my_test.pl", you can achieve
       the same interactions as with "Config::Model::SimpleUI". Except that
       you can use TAB completion:

	class ui:$ ls
	foo  bar  hash_of_nodes
	class ui:$ ll hash_of_nodes
	name	     value	  type	       comment
	hash_of_nodes <Foo>	   node hash	keys: "en" "fr"

	class ui:$ cd hash_of_nodes:en
	class ui: hash_of_nodes:en $ ll
	name	     value	  type	       comment
	foo	     hello	  string
	bar	     [undef]	  string

	class ui: hash_of_nodes:en $ set bar=bonjour
	class ui: hash_of_nodes:en $ ll
	name	     value	  type	       comment
	foo	     hello	  string
	bar	     bonjour	  string

	class ui: hash_of_nodes:en $ ^D

       At the end, the test script will dump the configuration tree. The
       modified "bar" value can be found in there:

	foo=FOO
	hash_of_nodes:en
	  foo=hello
	  bar=bonjour -
	hash_of_nodes:fr
	  foo=bonjour - -

DESCRIPTION
       This module provides a helper to construct pure ASCII user interface on
       top of Term::ReadLine. To get better interaction you must install
       either Term::ReadLine::Gnu or Term::ReadLine::Perl.

       Depending on your installation, either Term::ReadLine::Gnu or
       Term::ReadLine::Perl. See Term::ReadLine to override default choice.

USER COMMAND SYNTAX
       See "USER COMMAND SYNTAX" in Config::Model::SimpleUI.

CONSTRUCTOR
   parameters
       root
	   Root node of the configuration tree

       title
	   UI title

       prompt
	   UI prompt. The prompt will be completed with the location of the
	   current node.

Methods
   run_loop()
       Engage in user interaction until user enters '^D' (CTRL-D).

BUGS
       ·   Auto-completion is not complete.

       ·   Auto-completion provides wrong choice when you try to "cd" in a
	   hash where the index contains a white space. I.e. the correct
	   command is "cd foo:"a b"" instead of "cd foo: "a b"" as proposed by
	   auto completion.

       ·   UI should take into account experience.

AUTHOR
       Dominique Dumont, (ddumont at cpan dot org)

SEE ALSO
       Config::Model, Config::Model::Instance, Config::Model::Node,

perl v5.14.1			  2011-07-22	      Config::Model::TermUI(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net