widgets
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 551
wxWidgets 2.8.4
wxWidgets is C++ cross-platform GUI library with native look and feel. more>>
wxWidgets is a cross-platform C++ GUI library, offering classes for all common GUI controls as well as a comprehensive set of helper classes for most common application tasks, ranging from networking to HTML display and image manipulation.
wxWidgets uses native widgets on all platforms whenever possible and fills missing gaps on some platforms using generic controls written with wxWidgets itself.
<<lesswxWidgets uses native widgets on all platforms whenever possible and fills missing gaps on some platforms using generic controls written with wxWidgets itself.
Download (MB)
Added: 2007-05-22 License: GPL (GNU General Public License) Price:
896 downloads
XWT Widgets 0.5-pre3
XWT Widgets provides a set of high quality widgets and themes for XWT. more>>
XWT Widgets provides a set of high quality widgets and themes for XWT.
XWT Widgets is a set of GUI widgets written for the XWT Project. The goals of these widgets are to be high quality, highly themeable, extensible, and very easy to use tools for XWT application developers.
XWT is a remote GUI platform that runs anywhere while being fast and responsive, and aims to be the future of Web services.
Themes that closely match (and in some cases improve upon) native widget sets are to be bundled with the XWT Widgets, although currently only a Monopoly theme is available.
<<lessXWT Widgets is a set of GUI widgets written for the XWT Project. The goals of these widgets are to be high quality, highly themeable, extensible, and very easy to use tools for XWT application developers.
XWT is a remote GUI platform that runs anywhere while being fast and responsive, and aims to be the future of Web services.
Themes that closely match (and in some cases improve upon) native widget sets are to be bundled with the XWT Widgets, although currently only a Monopoly theme is available.
Download (0.15MB)
Added: 2007-04-16 License: LGPL (GNU Lesser General Public License) Price:
551 downloads
Firefox Form Widgets 0.1
Firefox Form Widgets is a replacement for the default form widgets in Firefox. more>>
Firefox Form Widgets is a replacement for the default form widgets in Firefox. Its not dependent upon KDE, but I styled it with KDE in mind. The CSS is modified from the default one. I created all but the radio and checkbox images, which were created by the Pretty Widgets for OS X (readme included).
The style is such that everything can still be styled by a website. For the buttons, if only a background color is supplied, the gradient is still applied making it look better.
I made this for my personal use, but I decided to distribute it in case people want it. I would like to put some more work into it if there is interest.
To install, download and then:
sudo cp -r /usr/lib/firefox/res/ /usr/lib/firefox/res_original
tar -xvvzf KDEwidgets.tar.gz
sudo mv ./KDEwidgets/* /usr/lib/firefox/res/
<<lessThe style is such that everything can still be styled by a website. For the buttons, if only a background color is supplied, the gradient is still applied making it look better.
I made this for my personal use, but I decided to distribute it in case people want it. I would like to put some more work into it if there is interest.
To install, download and then:
sudo cp -r /usr/lib/firefox/res/ /usr/lib/firefox/res_original
tar -xvvzf KDEwidgets.tar.gz
sudo mv ./KDEwidgets/* /usr/lib/firefox/res/
Download (0.007MB)
Added: 2007-08-15 License: GPL (GNU General Public License) Price:
805 downloads
HTML::Widgets::Index 0.6
HTML::Widgets::Index is a Perl module for creating web indexes and menus. more>>
HTML::Widgets::Index is a Perl module for creating web indexes and menus.
This module renders the index of a document tree using the data stored in a MySQL database generated by anxova. It has a flexible set of render options that gives the webmaster many options on the menu item layout.
Table
The tree data must be in a table in a database. The fields of this table should be:
id: int identifies the entry
uri: varchar(150) link of the entry
text: varchar(150) text displayed in the screen
id_parent: int the parent of the current entry. The root is 0
ordern: int menu item position on the menu
Data
Say you have a document tree like this:
a
a1.html
a2.html
b
b1.html
b2
b21.html
b22.html
b3.html
c
c1.html
Then you must enter this in the table :
; First the directory A
INSERT INTO index_items (id,id_parent,uri,text)
VALUES (1,0,a,dir A);
; Now the docs of the a dir
INSERT INTO index_items (id,id_parent,uri,text)
VALUES (2,1,a1.html,A first);
INSERT INTO index_items (id,id_parent,uri,text)
VALUES (3,1,a2.html,A 2nd);
; Now the directory B INSERT INTO index_items (id,id_parent,uri,text) VALUES (4,0,b,dir B); INSERT INTO index_items (id,id_parent,uri,text) VALUES (5,4,b1.html,B first);
; The directory B has subdirs INSERT INTO index_items (id,id_parent,uri,text) VALUES (6,4,b2,B second section);
INSERT INTO index_items (id,id_parent,uri,text)
VALUES (7,6,b21.html,B 2 1 doc);
Notice the uri field is relative, not absolute. You dont need to specify all the path to a document. So you can move docs in the directory, then just change the parent in the table.
The items are sorted alphabetically, if you want to change the order displayed in the html, just add the field ordern when you do the insert:
INSERT INTO index_items (id,id_parent,uri,text,ordern)
VALUES (5,4,b1.html,B first,2);
INSERT INTO index_items (id,id_parent,uri,text)
VALUES (6,4,b2,B second section,1);
<<lessThis module renders the index of a document tree using the data stored in a MySQL database generated by anxova. It has a flexible set of render options that gives the webmaster many options on the menu item layout.
Table
The tree data must be in a table in a database. The fields of this table should be:
id: int identifies the entry
uri: varchar(150) link of the entry
text: varchar(150) text displayed in the screen
id_parent: int the parent of the current entry. The root is 0
ordern: int menu item position on the menu
Data
Say you have a document tree like this:
a
a1.html
a2.html
b
b1.html
b2
b21.html
b22.html
b3.html
c
c1.html
Then you must enter this in the table :
; First the directory A
INSERT INTO index_items (id,id_parent,uri,text)
VALUES (1,0,a,dir A);
; Now the docs of the a dir
INSERT INTO index_items (id,id_parent,uri,text)
VALUES (2,1,a1.html,A first);
INSERT INTO index_items (id,id_parent,uri,text)
VALUES (3,1,a2.html,A 2nd);
; Now the directory B INSERT INTO index_items (id,id_parent,uri,text) VALUES (4,0,b,dir B); INSERT INTO index_items (id,id_parent,uri,text) VALUES (5,4,b1.html,B first);
; The directory B has subdirs INSERT INTO index_items (id,id_parent,uri,text) VALUES (6,4,b2,B second section);
INSERT INTO index_items (id,id_parent,uri,text)
VALUES (7,6,b21.html,B 2 1 doc);
Notice the uri field is relative, not absolute. You dont need to specify all the path to a document. So you can move docs in the directory, then just change the parent in the table.
The items are sorted alphabetically, if you want to change the order displayed in the html, just add the field ordern when you do the insert:
INSERT INTO index_items (id,id_parent,uri,text,ordern)
VALUES (5,4,b1.html,B first,2);
INSERT INTO index_items (id,id_parent,uri,text)
VALUES (6,4,b2,B second section,1);
Download (0.064MB)
Added: 2007-08-15 License: Perl Artistic License Price:
800 downloads
Gaia Ajax Widgets 2007 Q3
Gaia Ajax Widgets is an Ajax library for ASP.NET and Mono. more>>
Gaia Ajax Widgets is an Ajax library for ASP.NET and Mono. The project is a "high-level library", meaning it abstracts away JavaScript 100%, and the developer doesnt have to write anything other than his favorite .Net language like C#, VB.NET, IronPython, or Boo (Mono).
Gaia is not your average "yet another Ajax Framework", with Gaia you can do things impossible in all other Ajax Libraries. Gaia is about letting you do Ajax and not Ajax do YOU! In fact were so certain about this that if youre not satisfied with Gaia Ajax Widgets within 3 months of purchasing well give you a total refund of all of your license costs! If you cant do it with any other Ajax Framework you can probably do it with Gaia!
<<lessGaia is not your average "yet another Ajax Framework", with Gaia you can do things impossible in all other Ajax Libraries. Gaia is about letting you do Ajax and not Ajax do YOU! In fact were so certain about this that if youre not satisfied with Gaia Ajax Widgets within 3 months of purchasing well give you a total refund of all of your license costs! If you cant do it with any other Ajax Framework you can probably do it with Gaia!
Download (0.72MB)
Added: 2007-08-16 License: GPL (GNU General Public License) Price:
509 downloads
HTML-Widgets-NavMenu 1.0001
HTML-Widgets-NavMenu is a Perl module to generate navigation menus and control site flow. more>>
HTML-Widgets-NavMenu is a Perl module to generate navigation menus and control site flow. HTML-Widgets-NavMenu has many advanced features, is extensively tested, and should be easily extensible and customizable.
<<less Download (0.041MB)
Added: 2006-09-13 License: MIT/X Consortium License Price:
1146 downloads
HTML::Widgets::NavMenu 1.0001
HTML::Widgets::NavMenu is a Perl Module for Generating HTML Navigation Menus. more>>
HTML::Widgets::NavMenu is a Perl module for Generating HTML Navigation Menus.
SYNOPSIS
use HTML::Widgets::NavMenu;
my $nav_menu =
HTML::Widgets::NavMenu->new(
path_info => "/me/",
current_host => "default",
hosts =>
{
default =>
{
base_url => "http://www.hello.com/"
},
},
tree_contents =>
{
host => "default",
text => "Top 1",
title => "T1 Title",
expand_re => "",
subs =>
[
{
text => "Home",
url => "",
},
{
text => "About Me",
title => "About Myself",
url => "me/",
},
],
},
);
my $results = $nav_menu->render();
my $nav_menu_html = join("n", @{$results->{html}});
<<lessSYNOPSIS
use HTML::Widgets::NavMenu;
my $nav_menu =
HTML::Widgets::NavMenu->new(
path_info => "/me/",
current_host => "default",
hosts =>
{
default =>
{
base_url => "http://www.hello.com/"
},
},
tree_contents =>
{
host => "default",
text => "Top 1",
title => "T1 Title",
expand_re => "",
subs =>
[
{
text => "Home",
url => "",
},
{
text => "About Me",
title => "About Myself",
url => "me/",
},
],
},
);
my $results = $nav_menu->render();
my $nav_menu_html = join("n", @{$results->{html}});
Download (0.041MB)
Added: 2007-08-06 License: Perl Artistic License Price:
811 downloads
HTML::Widgets::DateEntry 1.5
HTML::Widgets::DateEntry is a Perl module that creates date entry widgets for HTML forms. more>>
HTML::Widgets::DateEntry is a Perl module that creates date entry widgets for HTML forms.
SYNOPSIS
use HTML::Widgets::DateEntry;
$de = new HTML::Widgets::DateEntry(
year => [date_year, $date_year],
month => [date_month, $date_month],
day => [date_day, $date_day],
separator => /,
pre_year => 1,
post_year => 1,
-iso => 1,
);
print $de->render_widget;
HTML::Widgets::DateEntry is a simple module to generate HTML date entry widgets.
<<lessSYNOPSIS
use HTML::Widgets::DateEntry;
$de = new HTML::Widgets::DateEntry(
year => [date_year, $date_year],
month => [date_month, $date_month],
day => [date_day, $date_day],
separator => /,
pre_year => 1,
post_year => 1,
-iso => 1,
);
print $de->render_widget;
HTML::Widgets::DateEntry is a simple module to generate HTML date entry widgets.
Download (0.004MB)
Added: 2007-02-22 License: Perl Artistic License Price:
977 downloads
Network Transparent Widgets 0.3.2
Network Transparent Widgets is a protocol and application framework. more>>
Network Transparent Widgets short from NTW, is a protocol and application framework that allows a single server to serve thousands of remote GUI applications.
The client applications are nearly indistinguishable from local, native applications. The protocol is language and architecture neutral. Server language bindings for C and Java are in heavy development.
Main features:
Speed: Remote apps can run at a speed which is nearly indistinguishable from a locally running application. Since the client draws the widgets natively, its not necessary to transfer graphical data, only widget state data. This can be done asynchronously, so the responsiveness of the UI never suffers.
Persistence: Its just as easy to write the ntw protocol data to disk as it is to the network, so the state of the entire gui application can be easily saved. This also happens transparently, so the developer doesnt have to spend any time loading and saving data. Also, if a network connection dies or the client computer loses power, the application can be restarted from the point of failure at the next connection.
Portability: using the protocol, an ntw server application running on a Unix machine could talk to an ntw client for Windows, and vice versa. So a developer could write a program on Linux that could be run from any OS without any porting necessary. Any language or platform that can read and write data to a network can use the protocol to create gui apps.
Scalability: Since the ntw server does not store or draw widget graphics, the memory and computational overhead of running an ntw application is much less than a comparable X Window application. A low end machine could easily serve hundreds of remote clients.
Productivity: Users can run ntw apps without installing anything but the client. Developers can release new versions of their apps without the users having to do anything, much like a web page.
Reference Implementation:
The current reference implementation of the client implements most of the widgets in the Gtk toolkit, and is written in C using the GTK+ 2.0 toolkit for drawing the widgets and handling events. It compiles and runs on FreeBSD, Linux, and Windows, and likely other Unix variants also. Youll need the GTK+ toolkit installed to run the client, and the GTK+ development headers to compile it.
The source code also include a server reference implementation and a sample server application. The "server" is really a set of C language bindings to functions that create and send ntw widget data. The bindings can be used in much the same way as any other GUI toolkit. See the file "ntwtest.c" for the example application. Its been tested on FreeBSD, Linux, and Windows XP. The server library should compile and run on most systems with a C compiler and support for sockets, without the need for any additional libraries.
The protocol is defined by the two header files, ntw.h and ntw_signals.h. These are C header files that describe exactly the byte layout for each of the widgets and all of the opcodes and events that can be sent.
There are still some widgets missing, and some of the signals raised by GTK are not yet handled in the protocol. This will be fixed in the near future.
Note: Although the reference implementation is coded in GTK, the NTW protocol is designed to be independent of any particular widget toolkit. GTK was picked due to favorable design features and a favorable license.
Enhancements:
- 02JUL06 - Fixed bug in update.c where spin_button was switched with slider
- 02JUL06 - Removed status field from image_buffer widget protocol
<<lessThe client applications are nearly indistinguishable from local, native applications. The protocol is language and architecture neutral. Server language bindings for C and Java are in heavy development.
Main features:
Speed: Remote apps can run at a speed which is nearly indistinguishable from a locally running application. Since the client draws the widgets natively, its not necessary to transfer graphical data, only widget state data. This can be done asynchronously, so the responsiveness of the UI never suffers.
Persistence: Its just as easy to write the ntw protocol data to disk as it is to the network, so the state of the entire gui application can be easily saved. This also happens transparently, so the developer doesnt have to spend any time loading and saving data. Also, if a network connection dies or the client computer loses power, the application can be restarted from the point of failure at the next connection.
Portability: using the protocol, an ntw server application running on a Unix machine could talk to an ntw client for Windows, and vice versa. So a developer could write a program on Linux that could be run from any OS without any porting necessary. Any language or platform that can read and write data to a network can use the protocol to create gui apps.
Scalability: Since the ntw server does not store or draw widget graphics, the memory and computational overhead of running an ntw application is much less than a comparable X Window application. A low end machine could easily serve hundreds of remote clients.
Productivity: Users can run ntw apps without installing anything but the client. Developers can release new versions of their apps without the users having to do anything, much like a web page.
Reference Implementation:
The current reference implementation of the client implements most of the widgets in the Gtk toolkit, and is written in C using the GTK+ 2.0 toolkit for drawing the widgets and handling events. It compiles and runs on FreeBSD, Linux, and Windows, and likely other Unix variants also. Youll need the GTK+ toolkit installed to run the client, and the GTK+ development headers to compile it.
The source code also include a server reference implementation and a sample server application. The "server" is really a set of C language bindings to functions that create and send ntw widget data. The bindings can be used in much the same way as any other GUI toolkit. See the file "ntwtest.c" for the example application. Its been tested on FreeBSD, Linux, and Windows XP. The server library should compile and run on most systems with a C compiler and support for sockets, without the need for any additional libraries.
The protocol is defined by the two header files, ntw.h and ntw_signals.h. These are C header files that describe exactly the byte layout for each of the widgets and all of the opcodes and events that can be sent.
There are still some widgets missing, and some of the signals raised by GTK are not yet handled in the protocol. This will be fixed in the near future.
Note: Although the reference implementation is coded in GTK, the NTW protocol is designed to be independent of any particular widget toolkit. GTK was picked due to favorable design features and a favorable license.
Enhancements:
- 02JUL06 - Fixed bug in update.c where spin_button was switched with slider
- 02JUL06 - Removed status field from image_buffer widget protocol
Download (0.65MB)
Added: 2006-07-04 License: MIT/X Consortium License Price:
1209 downloads
OpenInteract2::Manual::Widgets 1.99_06
OpenInteract2::Manual::Widgets Perl module contains template widgets in OpenInteract. more>>
OpenInteract2::Manual::Widgets Perl module contains template widgets in OpenInteract.
OpenInteract2 supports using templates as a simple graphical widget. A widget is a common element into which you can just plug in text or parameters to customize it. For example, an INPUT element of type TEXT is a particular type of widget -- you can customize its size, name, and default value. (Some widget implementations will maintain state for you across requests, have validation, etc. These dont do that.)
Widgets can also include other widgets. Such as a row that uses the INPUT TEXT widget described above to create a labeled input field, with a label on the left and the input widget on the right.
One of the main benefits of using these over HTML is centralization -- a change in one place enacts changes throughout your site. All column headers can look a certain way and be changed easily, all textboxes can be consistent and you can create widgets specific to your site and needs -- such as for inputting dates or money, or displaying addresses-- for a consistent user interface.
Heres an example:
[%########################################
form_text( name, value, size, maxlength, field_label )
Generate a simple text field.
Defaults:
size = 20
maxlength = 50
########################################-%]
[%- DEFAULT size = 20;
DEFAULT maxlength = 50; -%]
[%- field_pre_label -%]
< input type="text" name="[% name %]" value="[% value %]"
size="[% size %]" maxlength="[% maxlength %]" >
[%- field_label -%]
And you would reference this like:
[% INCLUDE form_text( name = "batting_average",
value = ".389" size = 5 ) -%]
And when the template is processed, get in return:
< input type="text" name="batting_average" value=".389"
size="5" maxlength="50" >
Calling widgets from other widgets is just as simple:
[%########################################
label_form_text_row( label, count, name, value,
field_label )
Display a row to input text: label on left,
text input on right.
Defaults:
colspan = 2
########################################-%]
[%- DEFAULT colspan = 2; -%]
[%- INCLUDE label_row_begin( colspan = 1 ) -%]
[%- INCLUDE data_cell_begin %][% INCLUDE form_text %]
< /td >< /tr >
Here we call three separate items, two of which (label_row_begin and data_cell_begin) arent really widgets but rather just named areas for common code. This might be called:
[% INCLUDE label_form_text_row( label = Batting Average,
name = batting_average,
value = .389, size = 5 ) -%]
And result in:
< tr valign="middle" >
< td align="right" >< b >Batting Average< /b >< /td >
< td align="right" >
< input type="text" name="batting_average" value=".389"
size="5" maxlength="50" >
< /td >
< /tr >
And youre not restricted to simple fill-in elements either. You can represent a common data-oriented widget -- such as a drop-down box representing countries your company services -- in this manner as well. Heres how such a call might look:
[%# Use USA as default, antagonizing the rest of the world...-%]
[%- picked_country = user.country || United States -%]
[% INCLUDE label_form_country_select( label = Countries,
name = country,
picked = picked_country ) -%]
Using this, the page designer doesnt care how many countries the company services, whether a new one has been added to the list, etc. Just make the call and the graphic element will be created the same way every time.
Using these template widgets you can build a library of display elements very quickly.
<<lessOpenInteract2 supports using templates as a simple graphical widget. A widget is a common element into which you can just plug in text or parameters to customize it. For example, an INPUT element of type TEXT is a particular type of widget -- you can customize its size, name, and default value. (Some widget implementations will maintain state for you across requests, have validation, etc. These dont do that.)
Widgets can also include other widgets. Such as a row that uses the INPUT TEXT widget described above to create a labeled input field, with a label on the left and the input widget on the right.
One of the main benefits of using these over HTML is centralization -- a change in one place enacts changes throughout your site. All column headers can look a certain way and be changed easily, all textboxes can be consistent and you can create widgets specific to your site and needs -- such as for inputting dates or money, or displaying addresses-- for a consistent user interface.
Heres an example:
[%########################################
form_text( name, value, size, maxlength, field_label )
Generate a simple text field.
Defaults:
size = 20
maxlength = 50
########################################-%]
[%- DEFAULT size = 20;
DEFAULT maxlength = 50; -%]
[%- field_pre_label -%]
< input type="text" name="[% name %]" value="[% value %]"
size="[% size %]" maxlength="[% maxlength %]" >
[%- field_label -%]
And you would reference this like:
[% INCLUDE form_text( name = "batting_average",
value = ".389" size = 5 ) -%]
And when the template is processed, get in return:
< input type="text" name="batting_average" value=".389"
size="5" maxlength="50" >
Calling widgets from other widgets is just as simple:
[%########################################
label_form_text_row( label, count, name, value,
field_label )
Display a row to input text: label on left,
text input on right.
Defaults:
colspan = 2
########################################-%]
[%- DEFAULT colspan = 2; -%]
[%- INCLUDE label_row_begin( colspan = 1 ) -%]
[%- INCLUDE data_cell_begin %][% INCLUDE form_text %]
< /td >< /tr >
Here we call three separate items, two of which (label_row_begin and data_cell_begin) arent really widgets but rather just named areas for common code. This might be called:
[% INCLUDE label_form_text_row( label = Batting Average,
name = batting_average,
value = .389, size = 5 ) -%]
And result in:
< tr valign="middle" >
< td align="right" >< b >Batting Average< /b >< /td >
< td align="right" >
< input type="text" name="batting_average" value=".389"
size="5" maxlength="50" >
< /td >
< /tr >
And youre not restricted to simple fill-in elements either. You can represent a common data-oriented widget -- such as a drop-down box representing countries your company services -- in this manner as well. Heres how such a call might look:
[%# Use USA as default, antagonizing the rest of the world...-%]
[%- picked_country = user.country || United States -%]
[% INCLUDE label_form_country_select( label = Countries,
name = country,
picked = picked_country ) -%]
Using this, the page designer doesnt care how many countries the company services, whether a new one has been added to the list, etc. Just make the call and the graphic element will be created the same way every time.
Using these template widgets you can build a library of display elements very quickly.
Download (0.91MB)
Added: 2007-07-16 License: Perl Artistic License Price:
831 downloads
HTML::Widget 1.09
HTML::Widget is a Perl module with HTML Widget And Validation Framework. more>>
HTML::Widget is a Perl module with HTML Widget And Validation Framework.
SYNOPSIS
use HTML::Widget;
# Create a widget
my $w = HTML::Widget->new(widget)->method(get)->action(/);
# Add a fieldset to contain the elements
my $fs = $w->element( Fieldset, user )->legend(User Details);
# Add some elements
$fs->element( Textfield, age )->label(Age)->size(3);
$fs->element( Textfield, name )->label(Name)->size(60);
$fs->element( Submit, ok )->value(OK);
# Add some constraints
$w->constraint( Integer, age )->message(No integer.);
$w->constraint( Not_Integer, name )->message(Integer.);
$w->constraint( All, age, name )->message(Missing value.);
# Add some filters
$w->filter(Whitespace);
# Process
my $result = $w->process;
my $result = $w->process($query);
# Check validation results
my @valid_fields = $result->valid;
my $is_valid = $result->valid(foo);
my @invalid_fields = $result->have_errors;
my $is_invalid = $result->has_errors(foo);;
# CGI.pm-compatible! (read-only)
my $value = $result->param(foo);
my @params = $result->param;
# Catalyst::Request-compatible
my $value = $result->params->{foo};
my @params = keys %{ $result->params };
# Merge widgets (constraints and elements will be appended)
$widget->merge($other_widget);
# Embed widgets (as fieldset)
$widget->embed($other_widget);
# Get list of elements
my @elements = $widget->get_elements;
# Get list of constraints
my @constraints = $widget->get_constraints;
# Get list of filters
my @filters = $widget->get_filters;
Create easy to maintain HTML widgets!
Everything is optional, use validation only or just generate forms, you can embed and merge them later.
The API was designed similar to other popular modules like Data::FormValidator and FormValidator::Simple, HTML::FillInForm is also built in (and much faster).
This Module is very powerful, dont misuse it as a template system!
<<lessSYNOPSIS
use HTML::Widget;
# Create a widget
my $w = HTML::Widget->new(widget)->method(get)->action(/);
# Add a fieldset to contain the elements
my $fs = $w->element( Fieldset, user )->legend(User Details);
# Add some elements
$fs->element( Textfield, age )->label(Age)->size(3);
$fs->element( Textfield, name )->label(Name)->size(60);
$fs->element( Submit, ok )->value(OK);
# Add some constraints
$w->constraint( Integer, age )->message(No integer.);
$w->constraint( Not_Integer, name )->message(Integer.);
$w->constraint( All, age, name )->message(Missing value.);
# Add some filters
$w->filter(Whitespace);
# Process
my $result = $w->process;
my $result = $w->process($query);
# Check validation results
my @valid_fields = $result->valid;
my $is_valid = $result->valid(foo);
my @invalid_fields = $result->have_errors;
my $is_invalid = $result->has_errors(foo);;
# CGI.pm-compatible! (read-only)
my $value = $result->param(foo);
my @params = $result->param;
# Catalyst::Request-compatible
my $value = $result->params->{foo};
my @params = keys %{ $result->params };
# Merge widgets (constraints and elements will be appended)
$widget->merge($other_widget);
# Embed widgets (as fieldset)
$widget->embed($other_widget);
# Get list of elements
my @elements = $widget->get_elements;
# Get list of constraints
my @constraints = $widget->get_constraints;
# Get list of filters
my @filters = $widget->get_filters;
Create easy to maintain HTML widgets!
Everything is optional, use validation only or just generate forms, you can embed and merge them later.
The API was designed similar to other popular modules like Data::FormValidator and FormValidator::Simple, HTML::FillInForm is also built in (and much faster).
This Module is very powerful, dont misuse it as a template system!
Download (0.066MB)
Added: 2006-09-27 License: Perl Artistic License Price:
1122 downloads
CGI::Widget::DBI::Search
CGI::Widget::DBI::Search is a database search widget. more>>
CGI::Widget::DBI::Search is a database search widget.
SYNOPSIS
use CGI::Widget::DBI::Search;
$ws = CGI::Widget::DBI::Search->new(q => $self->{q}, -dbh => $self->{dbh});
# the following shows a configuration for a car parts database search
$ws->{-sql_table} = Cars2Diagram AS c, Diagram AS d, Parts AS p, DiagramScheme AS s;
$ws->{-where_clause} = WHERE c.CarCode=? AND c.DiagramCode=d.DiagramCode AND d.Category=? AND d.DiagramCode=s.DiagramCode AND s.PartCode=p.PartCode;
$ws->{-bind_params} = [$carcode, $category];
$ws->{-sql_retrieve_columns} =
[qw(p.PartCode p.PartName p.Description p.UnitPrice p.CoreCharge),
(p.UnitPrice + p.CoreCharge) AS TotalCharge];
$ws->{-display_columns} =
{ PartCode => "Code ", PartName => "Name", Description => "Description",
UnitPrice => "Price", CoreCharge => "Core Charge", TotalCharge => "Total Charge",
};
$ws->{-numeric_columns} = { PartCode => 1 };
$ws->{-currency_columns} = { UnitPrice => 1, CoreCharge => 1 };
#$ws->{-display_table_padding} = 4;
$ws->{-no_persistent_object} = 1;
$ws->{-show_total_numresults} = 1;
# execute database search
$ws->search();
# output search results to browser
print $q->header;
print $q->start_html;
print $ws->display_results();
print $q->end_html;
Encapsulates a DBI search in a Perl class, including all SQL statements required for performing the search, query results, HTML display methods, and multi-column, sortable result set displayed page-by-page (using HTML navigation links).
<<lessSYNOPSIS
use CGI::Widget::DBI::Search;
$ws = CGI::Widget::DBI::Search->new(q => $self->{q}, -dbh => $self->{dbh});
# the following shows a configuration for a car parts database search
$ws->{-sql_table} = Cars2Diagram AS c, Diagram AS d, Parts AS p, DiagramScheme AS s;
$ws->{-where_clause} = WHERE c.CarCode=? AND c.DiagramCode=d.DiagramCode AND d.Category=? AND d.DiagramCode=s.DiagramCode AND s.PartCode=p.PartCode;
$ws->{-bind_params} = [$carcode, $category];
$ws->{-sql_retrieve_columns} =
[qw(p.PartCode p.PartName p.Description p.UnitPrice p.CoreCharge),
(p.UnitPrice + p.CoreCharge) AS TotalCharge];
$ws->{-display_columns} =
{ PartCode => "Code ", PartName => "Name", Description => "Description",
UnitPrice => "Price", CoreCharge => "Core Charge", TotalCharge => "Total Charge",
};
$ws->{-numeric_columns} = { PartCode => 1 };
$ws->{-currency_columns} = { UnitPrice => 1, CoreCharge => 1 };
#$ws->{-display_table_padding} = 4;
$ws->{-no_persistent_object} = 1;
$ws->{-show_total_numresults} = 1;
# execute database search
$ws->search();
# output search results to browser
print $q->header;
print $q->start_html;
print $ws->display_results();
print $q->end_html;
Encapsulates a DBI search in a Perl class, including all SQL statements required for performing the search, query results, HTML display methods, and multi-column, sortable result set displayed page-by-page (using HTML navigation links).
Download (0.016MB)
Added: 2007-03-07 License: Perl Artistic License Price:
961 downloads
Curses::UI::Widget 0.95
Curses::UI::Widget is a base class for all widgets. more>>
Curses::UI::Widget is a base class for all widgets.
CLASS HIERARCHY
Curses::UI::Widget - base class
SYNOPSIS
This class is not used directly by somebody who is building an application using Curses::UI. Its a base class that is expanded by the Curses::UI widgets. See WIDGET STRUCTURE below for a basic widget framework.
use Curses::UI::Widget;
my $widget = new Curses::UI::Widget(
-width => 15,
-height => 5,
-border => 1,
);
<<lessCLASS HIERARCHY
Curses::UI::Widget - base class
SYNOPSIS
This class is not used directly by somebody who is building an application using Curses::UI. Its a base class that is expanded by the Curses::UI widgets. See WIDGET STRUCTURE below for a basic widget framework.
use Curses::UI::Widget;
my $widget = new Curses::UI::Widget(
-width => 15,
-height => 5,
-border => 1,
);
Download (0.14MB)
Added: 2006-10-04 License: Perl Artistic License Price:
1115 downloads
HTML::Widget::SideBar 1.02
HTML::Widget::SideBar can creates the HTML sidebar for a web page. more>>
HTML::Widget::SideBar can creates the HTML (and possibly some Javascript) for a navigational or otherwise active (hierarchical) sidebar for a web page.
SYNOPSYS
use HTML::Widget::SideBar;
use CGI; # Or something like that.
# We are going to create a sidebar in which only the active (clicked) branch
# is visible.
my $tree = HTML::Widget::SideBar->new;
$tree->setToggleAction;
foreach (1..3) {
my $list = $tree->append(value => "list$_");
$list->append(value => "aaa$_", URL => "http://localhost/$_");
$list->append(value => "bbb$_");
$list->append(value => "ccc$_");
}
$tree->getSubTree(3)->setActive;
print header, start_html(-style => $tree->buildCSS($tree->deepBlueCSS),
-script => $tree->baseJS);
print join "n", $tree->getHTML(styles => {bar => nav,
level0 => navlink,
level0Over => navover},
expand => 1
);
print end_html;
HTML::Widget::SideBar creates the HTML, and possibly some Javascript and CSS for a hirarchical side menu bar. It is very flexible, and allows you to create both simple navigational menus and complex dynamic sidebars with Javascript actions associated with items on the menu.
This module started as a hack on my Javascript::Menu, which makes them very similar, so if you got one of them, youll use the other with no sweat, I think.
The module supports the notion of an active item (usually the item denoting the page the user is viewing) and gives such item special treatment by marking it with a special CSS class and making it visible initially. It also has special support for selection menus where opening a branch closes all others.
What should you expect to see?
This depends greatly on your style definitions and action assignment (if you use that feature). Basically youll have a vertical bar (which will take up as much of the screen as your CSS will allow). Inside that bar youll have a tree of nested lists, and you can define the style for each level. When an item is clicked - its action is performed. A special predefined action allows you to show/hide child lists.
By default only the active branch (the branch containing the active item) and the top level list will be visible. You can override this (see getHTML).
Some naming rules
The sidebar will get an HTML id attribute. The default is sidebar but this is changeable through getHTML, as other naming rules.
Every list will be of class list unless another class is given through getHTML.
Every item in every list will be of the same class as all other items on the same level. The default is item for all items, but you can set each level separately through getHTML.
The active items class name is its levels class name, appended with Active.
Optionally, you may also set a mouseover style. For those of you who design for Mozilla, you really dont need that, just use the CSS pseudo-class :hover. For others, this will set the onMouseOver and onMouseOut attributes of an item to switch to and from that class.
Setting up the supporting code.
The sidebar created by this menu is formatted by CSS only. This means youll have to supply it. I included a class method called buildCSS which takes a datastructure (described below) and turns it into CSS, and an example of a sidebar design in such datastructure (I used this design in production).
You may also want to use the toggling support (described below), and in this case youll need some Javascript. This is given directly through baseJS. You can use it straight or dump to a file and tweak it to suit you best.
<<lessSYNOPSYS
use HTML::Widget::SideBar;
use CGI; # Or something like that.
# We are going to create a sidebar in which only the active (clicked) branch
# is visible.
my $tree = HTML::Widget::SideBar->new;
$tree->setToggleAction;
foreach (1..3) {
my $list = $tree->append(value => "list$_");
$list->append(value => "aaa$_", URL => "http://localhost/$_");
$list->append(value => "bbb$_");
$list->append(value => "ccc$_");
}
$tree->getSubTree(3)->setActive;
print header, start_html(-style => $tree->buildCSS($tree->deepBlueCSS),
-script => $tree->baseJS);
print join "n", $tree->getHTML(styles => {bar => nav,
level0 => navlink,
level0Over => navover},
expand => 1
);
print end_html;
HTML::Widget::SideBar creates the HTML, and possibly some Javascript and CSS for a hirarchical side menu bar. It is very flexible, and allows you to create both simple navigational menus and complex dynamic sidebars with Javascript actions associated with items on the menu.
This module started as a hack on my Javascript::Menu, which makes them very similar, so if you got one of them, youll use the other with no sweat, I think.
The module supports the notion of an active item (usually the item denoting the page the user is viewing) and gives such item special treatment by marking it with a special CSS class and making it visible initially. It also has special support for selection menus where opening a branch closes all others.
What should you expect to see?
This depends greatly on your style definitions and action assignment (if you use that feature). Basically youll have a vertical bar (which will take up as much of the screen as your CSS will allow). Inside that bar youll have a tree of nested lists, and you can define the style for each level. When an item is clicked - its action is performed. A special predefined action allows you to show/hide child lists.
By default only the active branch (the branch containing the active item) and the top level list will be visible. You can override this (see getHTML).
Some naming rules
The sidebar will get an HTML id attribute. The default is sidebar but this is changeable through getHTML, as other naming rules.
Every list will be of class list unless another class is given through getHTML.
Every item in every list will be of the same class as all other items on the same level. The default is item for all items, but you can set each level separately through getHTML.
The active items class name is its levels class name, appended with Active.
Optionally, you may also set a mouseover style. For those of you who design for Mozilla, you really dont need that, just use the CSS pseudo-class :hover. For others, this will set the onMouseOver and onMouseOut attributes of an item to switch to and from that class.
Setting up the supporting code.
The sidebar created by this menu is formatted by CSS only. This means youll have to supply it. I included a class method called buildCSS which takes a datastructure (described below) and turns it into CSS, and an example of a sidebar design in such datastructure (I used this design in production).
You may also want to use the toggling support (described below), and in this case youll need some Javascript. This is given directly through baseJS. You can use it straight or dump to a file and tweak it to suit you best.
Download (0.015MB)
Added: 2006-06-12 License: GPL (GNU General Public License) Price:
1230 downloads
QPVCalendarWidget 1.3
QPVCalendarWidget is an extremely useful widget. more>>
QPVCalendarWidget is an extremely useful widget. With dependancy only on Qt4 no other libraries are needed inorder to use this widget; no depenancies means totally crossplatform for you the developer.
Unlike other Mini-Calendar widgets seen in Qt software such as the clock widget in the KDE Desktop, QPVCalendarWidget does not depend and never will on external libraries such as kdelibs which is hard to keep cross-platform especially when developing for Win32.
QPVCalendarWidget depends only on Qt4.
The goal of this project is to allow you to have a mini calendar for allowing users to select dates. Originating from PracticeVisions own need of a mini calendar LimeSG has opensourced this part of PracticeVision so you to can enjoy the ease of a simple calendar/graphical date selector in your application. Since Trolltech only supplies text based widgets for date, QPVCalendarWidget is the perfect solution for graphical date selection.
<<lessUnlike other Mini-Calendar widgets seen in Qt software such as the clock widget in the KDE Desktop, QPVCalendarWidget does not depend and never will on external libraries such as kdelibs which is hard to keep cross-platform especially when developing for Win32.
QPVCalendarWidget depends only on Qt4.
The goal of this project is to allow you to have a mini calendar for allowing users to select dates. Originating from PracticeVisions own need of a mini calendar LimeSG has opensourced this part of PracticeVision so you to can enjoy the ease of a simple calendar/graphical date selector in your application. Since Trolltech only supplies text based widgets for date, QPVCalendarWidget is the perfect solution for graphical date selection.
Download (0.013MB)
Added: 2006-07-18 License: GPL (GNU General Public License) Price:
1193 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 widgets 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