NAME

HTML::Menu::TreeView

SYNOPSIS

	use HTML::Menu::TreeView qw(Tree);

	my @tree =( {

	text => 'Folder',

	subtree => [

		{

                text => 'treeview Homepage',

                href => 'http://treeview.lindnerei.de',

		}

            ],

	},);

	Tree(\@tree);

OO Syntax

use HTML::Menu::TreeView qw(Tree);

use strict;

my @tree =(

	{

		image => 'tar.png',

		onclick => "alert('onclick');",

		text => 'Node',

	},

	{

		href => "http://www.lindnerei.de",

		text => 'Lindnerei.de',

	},

	{

		text => 'Folder',

		folderclass => 'folderMan', # only for Crystal styles

		subtree => [

			{

				text => 'subversion',

				href => 'http://treeview.tigris.org',

			},

		],

	},

);

my $Treeview = new HTML::Menu::TreeView();

print $Treeview->css("/srv/www/httpdocs");

print $Treeview->jscript();

print $Treeview->preload();

print $Treeview->Tree(\@tree);

FO Syntax

use HTML::Menu::TreeView qw(:all);

documentRoot("/srv/www/httpdocs");

print css();

print jscript();

print Tree(\@tree,"Crystal");

function sets

Here is a list of the function sets you can import:

:all

:recommend

Tree css jscript clasic preload folderFirst size style documentRoot loadTree saveTree sortTree orderBy prefix

:standart

Tree css jscript preload size style documentRoot

reserved attributes:

href

URI for linked resource.

accesskey

accessibility key character.

charset

char encoding of linked resource.

class

class name or set of class names to an element.

coords

for use with client-side image maps.

dir

the base direction of directionally neutral text.

hreflang

language code.

lang

the base language of an elements attribute values and text content.

onblur
the element lost the focus.
ondblclick

event occurs when the pointing device button is double clicked

onclick

event occurs when the pointing device button is clicked over an element.

onfocus

the element got the focus.

onkeydown

event occurs when a key is pressed down over an element.

onkeypress

event occurs when a key is pressed and released over an element.

onkeyup

event occurs when a key is released over an element.

onmousedown

event occurs when the pointing device button is pressed over an element.

onmousemove

event occurs when the pointing device is moved while it is over an element.

onmouseout

event occurs when the pointing device is moved away from an element.

onmouseover

event occurs when the pointing device is moved onto an element.

onmouseup

event occurs when the pointing device button is released over an element.

rel

forward link types.

rev

reverse link types.

shape

for use with client-side image maps.

style

specifies style information for the current element.

tabindex

position in tabbing order.

target

target frame information.

type

advisory content type.

title

element title.

id

This attribute assigns a name to an element. This name must be unique in a document.

addition

additional text behind the link

subtree
image.

a image name, must be placed into /style/mimetypes directory.

folderclass :

possible values:

folderMan, folderVideo,folderCrystal,

folderLocked , folderText, folderFavorite,

folderPrint,folderHtml,

folderImage,folderSound,folderImportant,

folderTar,folderYellow ,folderGray,

folderGreen and folderRed

see http://treeview.lindnerei.de/cgi-bin/crystal.pl for a complete list of possible values for folderclass.

DESCRIPTION

HTML::Menu::TreeView is a Modul to build an Html tree of an AoH.

Changes

0.7.1

some fixes.

new function columns()

new attribute coulmuns => {1,2,3,4,5,6,7,8]

Overwrought Documentation,Code,Examples, tests and Documentation.

Public

clasic()

enable clasic node decoration:

clasic(1);

disable clasic node decoration:

clasic(0);

return the status in void context.

$status = clasic();

columns()

set number of columns

columns(3);

return the count in void context.

$count = columns();

css()

return the necessary css part without <style></style> tag.

you can set the DocumentRoot if you pass a parameter

css('%PATH%');

You can also include it with

<link href="/style/Crystal/16/html-menu-treeview/Crystal.css" rel="stylesheet" type="text/css">

for example.

documentRoot()

set the Document Root in scalar context, or get it in void context.

value: %PATH%

folderFirst()

set or unset show folders first ?

default is false.

enable show folders first:

folderFirst(1);

disable show folders first:

folderFirst(0);

return the status of this property in void context.

$status = folderFirst();

getDocumentRoot()

for backward compatibility.

use documentRoot instead.

help()

help for link attributes.

return a hashref in void context,

my $hashref =  help();

foreach my $key (sort(keys %{$hashref})){

	print "$key : ", $hashref->{$key} ,$/;

}

or a help Message.

print help('href'),$/;

jscript()

return the necessary javascript without <script> tag.

You can also include it with:

<script language="JavaScript" type="text/javascript" src="/style/treeview.js"></script>

loadTree()

loadTree('filename') or loadTree()

default: ./TreeViewDump.pl

new()

if you use the oo interface you can say:

my $TreeView = new HTML::Menu::TreeView(\@tree, optional style);

and then call Tree without arguments.

print $TreeView->Tree();

orderBy()

set the attribute which is used by sortTree and folderFirst.

prefix()

prefix used by css.

set this if you want to build offline websites.

for example:

prefix('.');

return the prefix in void context.

preload()

return the necessary javascript for preloading images without <script> tag.

for example you can also include it with

<script language="JavaScript" type="text/javascript" src="/style/Crystal/16/html-menu-treeview/preload.js"></script>

or

<script language="JavaScript" type="text/javascript" src="/style/Crystal/preload.js"></script>

if you use different images sizes.

saveTree()

saveTree('filename',\@ref) or saveTree()

this prperty is set during make

value: %PATH%

setClasic()

use clasic instead.

for backward compatibility.

use a classic node decoration

setDocumentRoot()

for backward compatibility.

use documentRoot instead.

set the local path to the style folder.

should be the Document Root of your webserver.

example: setDocumentRoot('%PATH%');

value: %PATH%

setModern()

use clasic instead.

for backward compatibility.

use a modern node decoration

setSize()

for backward compatibility.

use size instead.

only for Crystal styles

16,32,48,64 and 128 are possible values.

setStyle()

for backward compatibility.

use style instead.

setStyle('style');

simple = redmond like style

Crystal = Crystal style

size()

only for Crystal styles

set the size in scalar context, or get in void context.

16,32,48,64 and 128 are possible values.

sortTree()

set or unset sorting treeview Items.

default is false.

enable sorting:

sortTree(1);

disable sorting:

sortTree(0);

return the status in void context.

$status = sortTree();

style()

set the style in scalar context, or get in void context.

setStyle('simple');

simple = redmond like style.

Crystal = Crystal style (default).

Tree()

Tree(\@tree,optional $style);

Returns the html part of the Treeview without javasript and css.

Private

initTree()

ffolderFirst()

getSelf()

HTML::Menu::TreeView Module use a Lincoln loader like class system.

if the first parameter is a HTML::Menu::TreeView object (oo syntax ) this function returns the given parameters.

or the first parameter it is not a object referenz (fo syntax) it create a new HTML::Menu::TreeView object,

return it as first value and @_ as the second value .

my ($self, @p) = getSelf(@_);

appendFolder()

appendLastFolder()

appendNode()

appendLastNode()

SEE ALSO

http://www.lindnerei.de, http://treeview.lindnerei.de,

AUTHOR

Dirk Lindner <lindnerei@o2online.de>

COPYRIGHT AND LICENSE

Copyright (C) 2007 by Hr. Dirk Lindner

This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.