ai menu 0.01
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 1721
AI::Menu 0.01
AI::Menu is a Perl object that generates Tree::Nary objects from directed graphs or a description of the function set. more>>
AI::Menu is a Perl object that generates Tree::Nary objects from directed graphs or a description of the function set.
The algorithm is not very efficient (approximately O(F^6), F being the number of functions). It is also not quite as intelligent as it should be. You should cache the results instead of repeatedly calculating them.
As the algorithm is optimized or more efficient algorithms are found, they will be incorporated. The interface for generating the trees should not change too much. The resulting object might become a Tree::Nary object encased in an AI::Menu object.
SYNOPSIS
use AI::Menu;
my $factory = new AI::Menu::Factory;
my $menu = $factory->generate($hash_of_functions);
my $menu = $factory->generate($hash_of_functions, $hash_of_categories);
my $menu = $factory->generate($graph);
METHODS
All of the following methods (except generate) are available in the new function when creating the AI::Menu::Factory object.
generate
This function does some housekeeping before calling a configurable module to generate the tree.
If called with a single hash reference, the hash is assumed to be a list of functions mapping to array references containing a list of categories. It is further assumed that the sets of function names and category names are disjoint. A closure is created for the leaf_q function which returns true if its argument is a key in the hash reference. The complete graph is created from this single hash reference: if a category can reach another category through a function, then an edge is inserted between the two categories. This edge is bidirectional.
If called with two hash references, the first hash is treated as before, but the second hash reference is considered a mapping of categories to categories. This second hash is used instead of automatically generating the information from the first hash.
If called with a single object that is not a hash reference, then the argument is considered a graph object (usually of Graph::Directed). The leaf_q function will need to be defined.
leaf_q
This function returns true if the argument represents a function (leaf in the graph). It returns false if the argument represents a category. This may be set either when the AI::Menu::Factory object is created or through a method call. The method call with no argument returns the current function.
maker
This is the package used to create the menu from the graph. The following call is made:
my $menu = $self -> {maker} -> new(
width => $self->{width},
weight_f => $self -> {weight_f},
leaf_q => $leafq,
);
return $menu -> generate_tree($g, $optscore);
The $optscore value is the score for the optimum tree. Once a tree is found with this score, searching should stop.
new
Creates an AI::Menu::Factory object. Optional arguments are key/value pairs taken from this list of methods except for generate and new.
weight_f
This function is used to calculate the edge weights in the graph. It is called with four arguments: the object generating the tree, the graph object, the originating vertex, the destination vertex. The function should return undef for an infinite weight.
width
This is the desired number of children per node. The optimal number (and default) is three.
<<lessThe algorithm is not very efficient (approximately O(F^6), F being the number of functions). It is also not quite as intelligent as it should be. You should cache the results instead of repeatedly calculating them.
As the algorithm is optimized or more efficient algorithms are found, they will be incorporated. The interface for generating the trees should not change too much. The resulting object might become a Tree::Nary object encased in an AI::Menu object.
SYNOPSIS
use AI::Menu;
my $factory = new AI::Menu::Factory;
my $menu = $factory->generate($hash_of_functions);
my $menu = $factory->generate($hash_of_functions, $hash_of_categories);
my $menu = $factory->generate($graph);
METHODS
All of the following methods (except generate) are available in the new function when creating the AI::Menu::Factory object.
generate
This function does some housekeeping before calling a configurable module to generate the tree.
If called with a single hash reference, the hash is assumed to be a list of functions mapping to array references containing a list of categories. It is further assumed that the sets of function names and category names are disjoint. A closure is created for the leaf_q function which returns true if its argument is a key in the hash reference. The complete graph is created from this single hash reference: if a category can reach another category through a function, then an edge is inserted between the two categories. This edge is bidirectional.
If called with two hash references, the first hash is treated as before, but the second hash reference is considered a mapping of categories to categories. This second hash is used instead of automatically generating the information from the first hash.
If called with a single object that is not a hash reference, then the argument is considered a graph object (usually of Graph::Directed). The leaf_q function will need to be defined.
leaf_q
This function returns true if the argument represents a function (leaf in the graph). It returns false if the argument represents a category. This may be set either when the AI::Menu::Factory object is created or through a method call. The method call with no argument returns the current function.
maker
This is the package used to create the menu from the graph. The following call is made:
my $menu = $self -> {maker} -> new(
width => $self->{width},
weight_f => $self -> {weight_f},
leaf_q => $leafq,
);
return $menu -> generate_tree($g, $optscore);
The $optscore value is the score for the optimum tree. Once a tree is found with this score, searching should stop.
new
Creates an AI::Menu::Factory object. Optional arguments are key/value pairs taken from this list of methods except for generate and new.
weight_f
This function is used to calculate the edge weights in the graph. It is called with four arguments: the object generating the tree, the graph object, the originating vertex, the destination vertex. The function should return undef for an infinite weight.
width
This is the desired number of children per node. The optimal number (and default) is three.
Download (0.006MB)
Added: 2007-07-14 License: Perl Artistic License Price:
833 downloads
Global Menu 0.7.6
Global Menu Bar for GNOME more>>
Global Menu 0.7.6 offers you an excellent and useful product which is the globally-shared menu bar of all applications launched in your desktop session (A replacement of the old Mac-Menu package). This project introduces document-oriented concepts into GNOME, and improves GNOMEs respect for Fittss law. Most GTK applications work just fine with Global Menu. Global Menu replaces Mac Menubar for GNOME and Xfce.
Major Features:
- It works better with narrow windows, because the width of the menus isn't limited to the width of the window. (This is a problem for Gimp and Inkscape especially.)
- It's less confusing -- when two menu bars are visible on-screen at once, sometimes people choose the wrong one.
- Global Menu is the first step to move toward a Document Centric Desktop Environment ( ThoughtsOnADocumentCentricGnome ) which is a long-term trend in DEs.
Enhancements: Features many bug fixes.
Requirements: gtk+
<<less Added: 2009-06-27 License: GPL Price: FREE
33 downloads
AI::Fuzzy 0.01
AI::Fuzzy is a Perl extension for Fuzzy Logic. more>>
AI::Fuzzy is a Perl extension for Fuzzy Logic.
SYNOPSIS
use AI::Fuzzy;
my $f = new AI::Fuzzy::Label;
$f->addlabel("baby", -1, 1, 2.5);
$f->addlabel("toddler", 1, 1.5, 3.5);
$f->addlabel("little kid", 2, 7, 12);
$f->addlabel("kid", 6, 10, 14);
$f->addlabel("teenager", 12, 16, 20);
$f->addlabel("young adult", 18, 27, 35);
$f->addlabel("adult", 25, 50, 75);
$f->addlabel("senior", 60, 80, 110);
$f->addlabel("relic", 100, 150, 200);
for (my $x = 0; $xlabel($x) . "n";
}
<<lessSYNOPSIS
use AI::Fuzzy;
my $f = new AI::Fuzzy::Label;
$f->addlabel("baby", -1, 1, 2.5);
$f->addlabel("toddler", 1, 1.5, 3.5);
$f->addlabel("little kid", 2, 7, 12);
$f->addlabel("kid", 6, 10, 14);
$f->addlabel("teenager", 12, 16, 20);
$f->addlabel("young adult", 18, 27, 35);
$f->addlabel("adult", 25, 50, 75);
$f->addlabel("senior", 60, 80, 110);
$f->addlabel("relic", 100, 150, 200);
for (my $x = 0; $xlabel($x) . "n";
}
Download (0.004MB)
Added: 2007-08-02 License: Perl Artistic License Price:
815 downloads
DOM Menu 0.3.2
DOM Menu is a hierarchical JavaScript popup menus. more>>
DOM Menu allows developers to add dynamic, hierarchical popup menus on their web pages. The direction of the menu can either be horizontal or vertical and the menu can open (or popout) in either direction. It has both screen edge detection and < select > element detection (for browsers that cannot hide these form elements).
The styles for the menu items are contr olled almost entirely through CSS and the menus are created/hidden using the DOM (Document Object M odel).
Menu configuration is done using a custom Hash() class and is very portable from a PHP type array structure. The menus attempt to follow the look and feel of well known GUI toolkit menus.
Version restrictions:
- cannot use opposite direction to open
- opera 7 having difficulty with table (need to work around)
Enhancements:
- added support for IE 5.0
- fixed problem when submenu was deactivated and parent would highlight
- added a converter from phplayersmenu
<<lessThe styles for the menu items are contr olled almost entirely through CSS and the menus are created/hidden using the DOM (Document Object M odel).
Menu configuration is done using a custom Hash() class and is very portable from a PHP type array structure. The menus attempt to follow the look and feel of well known GUI toolkit menus.
Version restrictions:
- cannot use opposite direction to open
- opera 7 having difficulty with table (need to work around)
Enhancements:
- added support for IE 5.0
- fixed problem when submenu was deactivated and parent would highlight
- added a converter from phplayersmenu
Download (0.045MB)
Added: 2005-05-05 License: LGPL (GNU Lesser General Public License) Price:
1633 downloads
Acme::RTB 0.01
Acme::RTB is a Perl extension for building realtimebattle bots. more>>
Acme::RTB is a Perl extension for building realtimebattle bots.
SYNOPSIS
use Acme::RTB;
my $robot = Acme::RTB->new({ Name => Anarion PerlBot 1.0,
Colour => ff0000 ff0000,
Log => /home/anarion/perl/rtb/robot.log} );
$robot->Start;
This module will allow you to create bots for battling with realtimebattle. http://realtimebattle.sourceforge.net/
<<lessSYNOPSIS
use Acme::RTB;
my $robot = Acme::RTB->new({ Name => Anarion PerlBot 1.0,
Colour => ff0000 ff0000,
Log => /home/anarion/perl/rtb/robot.log} );
$robot->Start;
This module will allow you to create bots for battling with realtimebattle. http://realtimebattle.sourceforge.net/
Download (0.006MB)
Added: 2006-09-02 License: Perl Artistic License Price:
1151 downloads
GamesForum Menu 0.1.3
GamesForum Menu provides a Menu Bar to allow the navigation in the different subforums. more>>
GamesForum Menu provides a Menu Bar to allow the navigation in the different subforums.
The GamesForum Menu Button Add-On adds a new button in the Menu Bar to allow the navigation in the different subforums of the Gamesforum.it community.
<<lessThe GamesForum Menu Button Add-On adds a new button in the Menu Bar to allow the navigation in the different subforums of the Gamesforum.it community.
Download (0.15MB)
Added: 2007-04-11 License: MPL (Mozilla Public License) Price:
931 downloads
Personal Menu 3.0.8
Personal Menu allows your menus to look more compact and personal. more>>
Personal Menu allows your menus to look more compact and personal.
Feel tired of the conservative menus, and have tried many extensions to make them look more compact and personal?
With the Personal Menu, you can hide the menus in Menus Toolbar (even the Menus Toolbar), and design your own menu with just few settings.
It also offers a History Button and a Bookmarks Button. You can set how many hitory items show in the menu, and what will happen when you middle/right click the buttons.
Version restrictions:
- The current version 2.3 has a known bug, which makes the option panel hangs when using Firefox 1.5.
- Itll be fixed in the new version 2.5.1, or you can use the previous version 2.1.3 temporarily.
<<lessFeel tired of the conservative menus, and have tried many extensions to make them look more compact and personal?
With the Personal Menu, you can hide the menus in Menus Toolbar (even the Menus Toolbar), and design your own menu with just few settings.
It also offers a History Button and a Bookmarks Button. You can set how many hitory items show in the menu, and what will happen when you middle/right click the buttons.
Version restrictions:
- The current version 2.3 has a known bug, which makes the option panel hangs when using Firefox 1.5.
- Itll be fixed in the new version 2.5.1, or you can use the previous version 2.1.3 temporarily.
Download (0.053MB)
Added: 2007-07-30 License: MPL (Mozilla Public License) Price:
1347 downloads
Fedora Package Menu 0.1
Fedora Package Menu is a service menu for easy installation of downloaded RPMs. more>>
Fedora Package Menu is a service menu for easy installation of downloaded RPMs.
Requires sudo and good configuration of sudo.
<<lessRequires sudo and good configuration of sudo.
Download (MB)
Added: 2006-09-20 License: LGPL (GNU Lesser General Public License) Price:
1133 downloads
blah 0.01
blah project consists of a utility for maintaining a list of frequently copy-and-pasted text. more>>
blah project consists of a utility for maintaining a list of frequently copy-and-pasted text.
When an item is selected from the menu the corresponding text is automatically placed into the clipboard.
You can then use the paste feature in another application to transfer the text.
The current version is functional and usable. However, my goal is to re-design/re-write the code as a GNOME panel app.
Enhancements:
- added rpm bult from archive.
<<lessWhen an item is selected from the menu the corresponding text is automatically placed into the clipboard.
You can then use the paste feature in another application to transfer the text.
The current version is functional and usable. However, my goal is to re-design/re-write the code as a GNOME panel app.
Enhancements:
- added rpm bult from archive.
Download (0.009MB)
Added: 2007-02-07 License: GPL (GNU General Public License) Price:
990 downloads
Lexi 0.01
Lexi project is a dict client and vocabulary builder. more>>
Lexi project is a dict client and vocabulary builder.
Lexi is a dict client that also serves as a personalized vocabulary builder.
It caches definitions and has a persistent word list.
The interface is structured to be quick and easy and features synonym clicking, drag and drop word queries, and spelling suggestions.
<<lessLexi is a dict client that also serves as a personalized vocabulary builder.
It caches definitions and has a persistent word list.
The interface is structured to be quick and easy and features synonym clicking, drag and drop word queries, and spelling suggestions.
Download (0.025MB)
Added: 2006-10-31 License: GPL (GNU General Public License) Price:
1089 downloads
mod_include 0.01
mod_include is a post processing of SSI variables, Apache module. more>>
mod_include is a post processing of SSI variables, Apache module.
Doesnt sound too helpful ? Well, maybe not, but I found that during construction of this site that I was frequently replicating 5 lines of text with only a single word altered (the left menu). This was both inefficient and awkward to debug, and didnt lend itself to keeping a common look and feel for the site as a whole. This extension allows large blocks of text to be stored as a variable, and for the small changable part to be altered just before the result is displayed.
Whats wrong with set anyway ?
When a variable is used in the value entry of a set command the system searches for the current value of the variable and substitutes it immediately. This fixes the value of the variable created so that it never changes, which is good for some applications, but lousy for dynamic content.
Usage
This module is an extension of the normal Apache behaviour, and should be read as an addendum to the basic mod_include commands.
define
This command sets up a variable in the same way as the set directive, except that any variable names used are not parsed at this time, but stored as names until displayed with the macro directive.
var
The name of the variable (macro) to define.
value
The value of the variable (macro).
macro
This command will expand a previously defined variable and replace any instances of the variable named in var in the variable def with the value given in value. Note that like other mod_include commands, the order of the variables is important, and should be declared in the sequence shown below:
var
The name of the variable to replace inside the macro.
value
The value to replace the variable with.
def
The previously defined macro to seach through.
<<lessDoesnt sound too helpful ? Well, maybe not, but I found that during construction of this site that I was frequently replicating 5 lines of text with only a single word altered (the left menu). This was both inefficient and awkward to debug, and didnt lend itself to keeping a common look and feel for the site as a whole. This extension allows large blocks of text to be stored as a variable, and for the small changable part to be altered just before the result is displayed.
Whats wrong with set anyway ?
When a variable is used in the value entry of a set command the system searches for the current value of the variable and substitutes it immediately. This fixes the value of the variable created so that it never changes, which is good for some applications, but lousy for dynamic content.
Usage
This module is an extension of the normal Apache behaviour, and should be read as an addendum to the basic mod_include commands.
define
This command sets up a variable in the same way as the set directive, except that any variable names used are not parsed at this time, but stored as names until displayed with the macro directive.
var
The name of the variable (macro) to define.
value
The value of the variable (macro).
macro
This command will expand a previously defined variable and replace any instances of the variable named in var in the variable def with the value given in value. Note that like other mod_include commands, the order of the variables is important, and should be declared in the sequence shown below:
var
The name of the variable to replace inside the macro.
value
The value to replace the variable with.
def
The previously defined macro to seach through.
Download (0.017MB)
Added: 2006-05-12 License: The Apache License Price:
1264 downloads
Crystal Core 0.01
Crystal Core is the main Crystal Space demo game. more>>
Crystal Core is the main Crystal Space demo game. The project makes heavy use of CEL and CELstart. It is going to be a first person shooter with many quests and puzzle elements. The three main purposes of Crystal Core are:
- Be a good and playable game.
- Be a good tutorial on how to make games using Crystal Space, CEL, and CELstart.
- Spawn a modding community. Crystal Core is heavily modular and extensible.
Main features:
- A game menu where you can start the game and change a few options.
- Two levels out of the game.
- Two creatures that will try to follow and attack you.
- A small quest that you have to solve in order to get access to some part of the level.
- Nice music and sound effects.
- Working inventory system, health, and ammo system.
<<less- Be a good and playable game.
- Be a good tutorial on how to make games using Crystal Space, CEL, and CELstart.
- Spawn a modding community. Crystal Core is heavily modular and extensible.
Main features:
- A game menu where you can start the game and change a few options.
- Two levels out of the game.
- Two creatures that will try to follow and attack you.
- A small quest that you have to solve in order to get access to some part of the level.
- Nice music and sound effects.
- Working inventory system, health, and ammo system.
Download (15.8MB)
Added: 2007-04-25 License: LGPL (GNU Lesser General Public License) Price:
918 downloads
Qubit 0.01
Qubit (Qmail Ultimate Backend Integration Tool) is a fully Web-based qmail server configuration and administration suite. more>>
Qubit (Qmail Ultimate Backend Integration Tool) is a fully Web-based qmail server configuration and administration suite.
Qubit project is based on the qmailrules qmail server installation style. It has the same features as other similar tools (like vqadmin and qmailadmin), and it also gives you full control to administer your server with all sorts of features and applications.
<<lessQubit project is based on the qmailrules qmail server installation style. It has the same features as other similar tools (like vqadmin and qmailadmin), and it also gives you full control to administer your server with all sorts of features and applications.
Download (0.038MB)
Added: 2006-02-22 License: GPL (GNU General Public License) Price:
1341 downloads
Javascript::Menu 2.02
Javascript::Menu is a NumberedTree that generates HTML and Javascript code for a menu. more>>
Javascript::Menu is a NumberedTree that generates HTML and Javascript code for
a menu.
SYNOPSIS
use Javascript::Menu;
# Give it something to do (example changes the menus caption):
my $action = sub {
my $self = shift;
my ($level, $unique) = @_;
my $value = $self->getValue;
return "getElementById(caption_$unique).innerHTML=$value";
};
# Build the tree:
my $menu = Javascript::Menu->convert(tree => $otherTree, action => $action);
my $menu = Javascript::Menu->readDB(source_name => $table, source => $dbh,
action => $action);
my $menu = Javascript::Menu->new(value => Please select a parrot,
action => $action);
my $blue = $menu->append(value => Norwegian Blue);
$blue->append(value => Pushing up the daisies);
$menu->append(value => A Snail);
# Or maybe you just want a navigational menu?
my $menu = Javascript::Menu->new(value => Please select a prime minister);
$menu->append(value => Ariel Sharon,
URL => www.corruption.org/ariel_sharon.htm);
$menu->append(value => Benjamin Netanyahu,
URL => www.corruption.org/bibi.htm);
$menu->append(value => Shaul Mofaz, URL => www.martial_law.org);
# Print it out as a right-to-left menu:
my $css = $menu->buildCSS($menu->reasonableCSS);
print $cgi->start_html(-script => $menu->baseJS(rtl),
-style => $css); #CSS plays an important role.
print $tree->getHTML;
Javascript::Menu is an object that helps in creating the HTML, Javascript, and some of the CSS required for a table-based menu. There are a few other modules that deal with menus, But as I browsed through them, I found that none of them exactly fitted my needs. So I designed this module, with the following goals in mind:
Flexibility
The main feature of this module is the ability to supply all nodes or any specific node with a subroutine that is activated in time of the code generation to help decide what the item will do when it is clicked. This allows customisation far beyond associating a link with every item. Multy-level selection menus become very easy to do (and this is, in fact, what I needed when I started writing this).
I18n
Working with i18n (internationalization) can be a big headache. Working with Hebrew (or Arabic) forces you not only to change your charachters, but also to change your direction of writing. I incorporated into this module the ability to produce right-to-left menus and tested it using a legacy ASCII-based encoding (iso-8859-8).
Object Hierarchy
I designed the module to work with two other modules of mine, Tree::Numbered and Tree::Numbered::DB, which simplify the task of building the menu and allow for construction of a menu from database information.
The current version adds support for highlighting the item thats hovered over. Youll find that having made some preliminary steps, like tweaking the CSS to look the way you like it to, the rest is fairly easy.
<<lessa menu.
SYNOPSIS
use Javascript::Menu;
# Give it something to do (example changes the menus caption):
my $action = sub {
my $self = shift;
my ($level, $unique) = @_;
my $value = $self->getValue;
return "getElementById(caption_$unique).innerHTML=$value";
};
# Build the tree:
my $menu = Javascript::Menu->convert(tree => $otherTree, action => $action);
my $menu = Javascript::Menu->readDB(source_name => $table, source => $dbh,
action => $action);
my $menu = Javascript::Menu->new(value => Please select a parrot,
action => $action);
my $blue = $menu->append(value => Norwegian Blue);
$blue->append(value => Pushing up the daisies);
$menu->append(value => A Snail);
# Or maybe you just want a navigational menu?
my $menu = Javascript::Menu->new(value => Please select a prime minister);
$menu->append(value => Ariel Sharon,
URL => www.corruption.org/ariel_sharon.htm);
$menu->append(value => Benjamin Netanyahu,
URL => www.corruption.org/bibi.htm);
$menu->append(value => Shaul Mofaz, URL => www.martial_law.org);
# Print it out as a right-to-left menu:
my $css = $menu->buildCSS($menu->reasonableCSS);
print $cgi->start_html(-script => $menu->baseJS(rtl),
-style => $css); #CSS plays an important role.
print $tree->getHTML;
Javascript::Menu is an object that helps in creating the HTML, Javascript, and some of the CSS required for a table-based menu. There are a few other modules that deal with menus, But as I browsed through them, I found that none of them exactly fitted my needs. So I designed this module, with the following goals in mind:
Flexibility
The main feature of this module is the ability to supply all nodes or any specific node with a subroutine that is activated in time of the code generation to help decide what the item will do when it is clicked. This allows customisation far beyond associating a link with every item. Multy-level selection menus become very easy to do (and this is, in fact, what I needed when I started writing this).
I18n
Working with i18n (internationalization) can be a big headache. Working with Hebrew (or Arabic) forces you not only to change your charachters, but also to change your direction of writing. I incorporated into this module the ability to produce right-to-left menus and tested it using a legacy ASCII-based encoding (iso-8859-8).
Object Hierarchy
I designed the module to work with two other modules of mine, Tree::Numbered and Tree::Numbered::DB, which simplify the task of building the menu and allow for construction of a menu from database information.
The current version adds support for highlighting the item thats hovered over. Youll find that having made some preliminary steps, like tweaking the CSS to look the way you like it to, the rest is fairly easy.
Download (0.025MB)
Added: 2006-06-12 License: Perl Artistic License Price:
1235 downloads
epstools service menu 0.1
epstools service menu is used to create a tiff preview inside an eps file. more>>
epstools service menu is used to create a tiff preview inside an eps file.
If a preview exists, it is replaced by the created one.
<<lessIf a preview exists, it is replaced by the created one.
Download (MB)
Added: 2007-02-09 License: GPL (GNU General Public License) Price:
988 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above ai menu 0.01 search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed