The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

HTML::Menu::Hierarchical::ItemInfo - Used by HTML::Menu::Hierarchical. Provides information about the menu item being processed.

SYNOPSIS

Created by HTML::Menu::Hierarchical objects.

DESCRIPTION

Information holder/gatherer representing one menu item.

METHODS

Getting back information

hasChildren()

Returns true if the current item has child items in the configuration. False otherwise.

isSelected()

Returns true if the current item is the selected one.

isInSelectedPath()

Returns true if the current item is in the path from the root of the hierarchy to the selected item.

getSelectedItem()

Returns the ItemInfo object corresponding to the selected menu item.

getSelectedLevel()

Returns the level in the hierarchy where the selected menu item is located. Levels start at zero.

getMaxDisplayedLevel()

Returns the maximum level in the hierarchy to currently be displayed.

isOpen()

Returns true if the current menu item is open, i.e., the current item has child items and is also in the open path. Return false otherwise.

isFirstDisplayed()

Returns true if the current menu item is the first one to be displayed.

isLastDisplayed()

Returns true if the current menu item is the last to be displayed.

getInfo()

Returns the value of the 'info' field for the current menu item in the navigation configuration.

Instead of getting the 'info' hash and then accessing a field within it, you may call a method to get that field directly. This is implemented with AUTOLOAD, so if you do something like

    my $text = $info_obj->getText;
    my $image_src = $info_obj->getImageSrc;

        or

    my $text = $info_obj->getText;
    my $image_src = $info_obj->get_image_src;

you will be given back the corresponding values in the 'info' hash.

getName()

Returns the 'name' field for the current menu item in the navigation configuration. This is used to determine which menu item has been selected.

getNextItem()

Returns the ItemInfo object corresponding to the next displayed menu item.

getPreviousItem()

Returns the ItemInfo object corrsponding to the previously displayed menu item.

getLevel()

Returns the level in the menu hierarchy where the current menu item is located. Levels start at zero.

getParent()

Returns the info object for the current item's parent.

Utilities

my $encoded = $info->urlEncode($plain_text)

URL encodes the given string. This does full url-encoding, so a space is %20, not a '+'.

my $query = $info->urlEncodeVars($var_hash)

Takes a hash containing key/value pairs and returns a url-encoded query string appropriate for adding to the end of a url. If a value is an array, it is assumed to be a multivalued input field and is added to the query string as such.

my $plain_text = $info->urlDecode($url_enc_str)

Decodes the given url-encoded string.

my $var_hash = $info->urlDecodeVars($url_enc_str)

Decodes the url-encoded query string and returns a hash contain key/value pairs from the query string. If a field appears more than once in the query string, it's value will be returned as a reference to an array of values.

my $modified_url = $info->addArgsToUrl($url, $var_hash)

Takes the key/value pairs in $var_hash and tacks them onto the end of $url as a query string.

my $html = $info->escapeHtml($text)

Escapes the given text so that it is not interpreted as HTML.

my $text = $info->unescapeHtml($html)

Unescape the escaped text.

There are also underscore_separated versions of these methods.

    E.g., unescapeHtml($html) becomes unescape_html($html)

BUGS

    Please send bug reports/feature requests to don@owensnet.com.

AUTHOR

    Don Owens <don@owensnet.com>

COPYRIGHT

    Copyright (c) 2003 Don Owens

    All rights reserved. This program is free software; you can
    redistribute it and/or modify it under the same terms as Perl
    itself.

VERSION

$Id: ItemInfo.pm,v 1.18 2003/04/12 06:23:55 don Exp $