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;
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
-
an array of TreeView Items
subtree => {{text => 'Fo'},{text => 'Bar'} ],
- image.
-
a image name, must be placed into /style/mimetypes directory.
- folderclass :
-
only for Crystal styles
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.
- columns
-
an array of columns
columns => [ 1,2,3,4,5]
DESCRIPTION
HTML::Menu::TreeView is a Modul to build an Html tree of an AoH.
Changes
0.7.4
style is renamed to Style you can import qw(:all style) explizit for backward compatibility.
new possible usage of columns, give a list of Captions instead of the columns count.
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();
or set the caption for the columns
columns("Column 1","Column 2","Column 3","Column 4");
css
return the necessary css part without <style></style> tag.
you can set the DocumentRoot if you pass a parameter
css('/document/root/');
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.
default: this variable is set during make.
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()
default: this property is set during make
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%');
default: this property is set during make
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).
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
this function is used within initTree for sorting the TreeView if folderFirst(1) is set.
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
called by initTree(), append a Folder to the treeView()
appendLastFolder
$self->appendLastFolder(\@tree);
called by initTree() if the last item of the (sub)Tree is a folder.
appendNode
$self->appendLastNode(\$node);
called by initTree() if the current item of the (sub)Tree is a node.
appendLastNode
$self->appendLastNode(\$node);
called by initTree() if the last item of the current (sub)Tree is a node.
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.