Gtk2::Ex::PodViewer man page on Mandriva

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

Gtk2::Ex::PodViewer(3)User Contributed Perl DocumentatioGtk2::Ex::PodViewer(3)

NAME
       Gtk2::Ex::PodViewer - a Gtk2 widget for displaying Plain old
       Documentation (POD).

       NB: This module used to be called Gtk2::PodViewer. That module is now a
       stub that points to this module.

SYNOPSIS
	       use Gtk2 -init;
	       use Gtk2::Ex::PodViewer;

	       my $viewer = Gtk2::Ex::PodViewer->new;

	       $viewer->load('/path/to/file.pod');     # load a file
	       $viewer->load('IO::Scalar');	       # load a module
	       $viewer->load('perlvar');	       # load a perldoc
	       $viewer->load('bless');		       # load a function

	       $viewer->show;			       # see, it's a widget!

	       my $window = Gtk2::Window->new;
	       $window->add($viewer);

	       $window->show;

	       Gtk2->main;

DESCRIPTION
       Gtk2::Ex::PodViewer is a widget for rendering Perl POD documents. It is
       based on the Gtk2::TextView widget and uses Pod::Parser for
       manipulating POD data.

       Gtk2::Ex::PodViewer widgets inherit all the methods and properties of
       Gtk2::TextView widgets. Full information about text buffers can be
       found in the Gtk+ documentation at
       <http://developer.gnome.org/doc/API/2.0/gtk/GtkTextView.html>.

OBJECT HIERARCHY
	       L<Glib::Object>
	       +--- L<Gtk2::Object>
		    +--- L<Gtk2::Widget>
			 +--- L<Gtk2::Editable>
			      +--- L<Gtk2::TextView>
				   +--- L<Gtk2::Ex::PodViewer>

CONSTRUCTOR
	       my $view = Gtk2::Ex::PodViewer->new;

       creates and returns a new Gtk2::Ex::PodViewer widget.

ADDITIONAL METHODS
	       $viewer->clear;

       This clears the viewer's buffer and resets the iter. You should never
       need to use this method since the loader methods (see "Document
       Loaders" below) will do it for you.

	       my $db = $viewer->get_db;

       This method returns a hashref that contains the POD document database
       used internally by Gtk2::Ex::PodViewer. If you want to improve startup
       performance, you can cache this database using a module like
       "Storable". To load a cached database into a viewer object, call

	       $viewer->set_db($db);

       before making a call to any of the document loader methods below
       (otherwise, Gtk2::Ex::PodViewer will create a new database for itself).
       If you want to tell Gtk2::Ex::PodViewer to create a new document
       database (for example, after a new module has been installed), use

	       $viewer->reinitialize_db;

	       @marks = $view->get_marks;

       This returns an array of section headers. So for example, a POD
       document of the form

	       =pod

	       =head1 NAME

	       =head1 SYNOPSIS

	       =cut

       would result in

	       @marks = ('NAME', 'SYNOPSIS');

       You can then use the contents of this array to create a document index.

	       $name = 'SYNOPSIS';

	       $mark = $view->get_mark($name);

       returns the GtkTextMark object referred to by $name.

	       $name = 'SYNOPSIS';

	       $view->jump_to($name);

       this scrolls the PodViewer window to the selected mark.

	       $viewer->load($document);

       Loads a given document. $document can be a perldoc name (eg.,
       'perlvar'), a module (eg. 'IO::Scalar'), a filename or the name of a
       Perl builtin function from perlfunc. Documents are searched for in that
       order, that is, the perlvar document will be loaded before a file
       called "perlvar" in the current directory.

DOCUMENT LOADERS
       The "load()" method is a wrapper to a number of specialised document
       loaders. You can call one of these loaders directly to override the
       order in which Gtk2::Ex::PodViewer searches for documents:

	       $viewer->load_doc($perldoc);

       loads a perldoc file or Perl module documentation, or undef on failure.

	       $viewer->load_file($file);

       loads POD from a file, or returns undef on failure.

	       $viewer->load_function($function);

       This method scans the perlfunc POD document for the documentation for a
       given function. The algorithm for this is lifted from the Pod::Perldoc
       module, so it should work identically to "perldoc -f [function]".

	       $viewer->load_string($string);

       This method renders the POD data in the $string variable.

       DEPRECATED DOCUMENT LOADERS

       The following document loads are now deprecated, and are now just
       wrapper of the "load_doc" method:

	       $viewer->load_perldoc($perldoc);
	       $viewer->load_module($module);

	       $parser = $view->parser;

       returns the "Gtk2::Ex::PodViewer::Parser" object used to render the POD
       data.

SIGNALS
       Gtk2::Ex::PodViewer inherits all of Gtk2::TextView's signals, and has
       the following:

       The 'link_clicked' signal

	       $viewer->signal_connect('link_clicked', \&clicked);

	       sub clicked {
		       my ($viewer, $link_text) = @_;
		       print "user clicked on '$link_text'\n";
	       }

       Emitted when the user clicks on a hyperlink within the POD. This may be
       a section title, a document name, or a URL. The receiving function will
       be giving two arguments: a reference to the Gtk2::Ex::PodViewer object,
       and a scalar containing the link text.

       The 'link_enter' signal

	       $viewer->signal_connect('link_enter', \&enter);

	       sub enter {
		       my ($viewer, $link_text) = @_;
		       print "user moused over '$link_text'\n";
	       }

       Emitted when the user moves the mouse pointer over a hyperlink within
       the POD. This may be a section title, a document name, or a URL. The
       receiving function will be giving two arguments: a reference to the
       Gtk2::Ex::PodViewer object, and a scalar containing the link text.

       The 'link_leave' signal

	       $viewer->signal_connect('link_leave', \&leave);

	       sub clicked {
		       my $viewer = shift;
		       print "user moused out\n";
	       }

       Emitted when the user moves the mouse pointer out from a hyperlink
       within the POD.

Getting and Setting Font preferences
       You can set the font used to render text in a Gtk2::Ex::PodViewer
       widget like so:

	       $viewer->modify_font(Gtk2::Pango::FontDescription->from_string($FONT_NAME);

       To modify the appearance of the various elements of the page, you need
       to extract the Gtk2::TextTag from the viewer's buffer:

	       my $tag = $viewer->get_buffer->get_tag_table->lookup('monospace');
	       $tag->set('font' => $FONT_NAME);

       The tags used by Gtk2::Ex::PodViewer are:

       "bold"
	   Used to format bold text.

       "italic"
	   Used to format italic text.

       "head1" ... "head4"
	   Used to format headers.

       "monospace"
	   Used to format preformatted text.

       "typewriter"
	   Used to format inline preformatted text.

       "link"
	   Used to format hyperlinks.

THE podviewer PROGRAM
       "podviewer" is installed with Gtk2::Ex::PodViewer. It is a simple Pod
       viewing program. It is pretty minimal, but does do the job quite well.
       Those looking for a more feature-complete documentation browser should
       try PodBrowser, available from
       <http://jodrell.net/projects/podbrowser>.

BUGS AND TASKS
       Gtk2::Ex::PodViewer is a work in progress. All comments, complaints,
       offers of help and patches are welcomed.

       We currently know about these issues:

       ·   When rendering long documents the UI freezes for too long.

       ·   Some strangeness with Unicode.

PREREQUISITES
       ·   Gtk2 (obviously). The most recent version will be from
	   <http://gtk2-perl.sf.net/>.

       ·   Pod::Parser

       ·   IO::Scalar

       ·   Pod::Simple::Search

       Gtk2::Ex::PodViewer::Parser, which is part of the Gtk2::Ex::PodViewer
       distribution, also requires Locale::gettext.

SEE ALSO
       ·   Gtk2 or <http://gtk2-perl.sf.net/>

       ·   <http://developer.gnome.org/doc/API/2.0/gtk/GtkTextView.html>

       ·   Gtk2::Ex::PodViewer::Parser

AUTHORS
       Gavin Brown, Torsten Schoenfeld and Scott Arrington.

COPYRIGHT
       (c) 2003-2005 Gavin Brown (gavin.brown@uk.com). All rights reserved.
       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.10.0			  2008-10-04		Gtk2::Ex::PodViewer(3)
[top]

List of man pages available for Mandriva

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