view release on metacpan or search on metacpan
lib/App/Widget/AppFrame.pm view on Meta::CPAN
#my $target = $selector_widget->get_selected("target");
#if ($target) {
# $main::target = $target;
#}
#$self->{noframe} = $selector_widget->get_selected("noframe");
return 1;
}
else {
return $self->SUPER::handle_event($wname, $event, @args);
}
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
lib/App/Widget/Button.pm view on Meta::CPAN
This class is a <input type=submit> HTML element.
In the advanced configurations, it is rendered as an image button.
=cut
######################################################################
# INITIALIZATION
######################################################################
# uncomment this when I need to do more than just call SUPER::_init()
#sub _init {
# my $self = shift;
# $self->SUPER::_init(@_);
#}
######################################################################
# EVENTS
######################################################################
# Usage: $widget->handle_event($event, @args);
#sub handle_event {
# my $self = shift;
#
# if ($_[0] eq "click") {
# $self->click(@_);
# return 1;
# }
# else {
# return $self->SUPER::handle_event(@_);
# }
#}
#sub click {
# my $self = shift;
#}
######################################################################
# OUTPUT METHODS
######################################################################
lib/App/Widget/Compound.pm view on Meta::CPAN
call to split() in the code.
=cut
######################################################################
# CONSTRUCTOR
######################################################################
sub _init {
my $self = shift;
$self->SUPER::_init(@_);
my $name = $self->{name};
my $context = $self->{context};
my $component_widgets = $self->{components};
if ($component_widgets && $#$component_widgets > -1) {
foreach my $widget (@$component_widgets) {
$context->widget($widget);
}
}
}
lib/App/Widget/Compound.pm view on Meta::CPAN
}
elsif ($event eq "join") {
$self->join(@_);
return 1;
}
elsif ($event eq "change") { # i.e. onChange
$self->change(@_);
return 1;
}
else {
return $self->SUPER::handle_event(@_);
}
}
sub split {
my $self = shift;
my $context = $self->{context};
my $name = $self->{name};
my $value = $context->so_get($name);
return if (! defined $value || $value eq "");
lib/App/Widget/DataAnalysis.pm view on Meta::CPAN
=cut
######################################################################
# INITIALIZATION
######################################################################
sub _init {
&App::sub_entry if ($App::trace);
my $self = shift;
$self->SUPER::_init(@_);
my $context = $self->{context};
my $widget = $self->{widget} || {};
my $widget_names = $self->{widgets};
$widget_names = [ sort keys %$widget ] if (!$widget_names);
my ($args, $columns_widget, @columns, $columns);
foreach my $wname (@$widget_names) {
$args = $widget->{$wname} || {};
$context->widget($wname, %$args);
$columns = $args->{columns};
if ($columns && !ref($columns)) {
lib/App/Widget/DataTable.pm view on Meta::CPAN
=cut
######################################################################
# INITIALIZATION
######################################################################
sub _init {
&App::sub_entry if ($App::trace);
my $self = shift;
$self->SUPER::_init(@_);
$self->{table} = $self->{name} if (!$self->{table});
$self->{context}->dbgprint("DataTable->init()")
if ($App::DEBUG && $self->{context}->dbg(1));
}
######################################################################
# EVENTS
######################################################################
lib/App/Widget/DataTable.pm view on Meta::CPAN
$context = $self->{context};
$width = $context->widget($wname)->get("width");
if ($x <= $width/2) {
$handled = $self->handle_event($wname, "sort", $colnum, "UP");
}
else {
$handled = $self->handle_event($wname, "sort", $colnum, "DOWN");
}
}
else {
$handled = $self->SUPER::handle_event(@_);
}
&App::sub_exit($handled) if ($App::trace);
return($handled);
}
######################################################################
# METHODS
######################################################################
sub get_columns {
lib/App/Widget/DataTable2.pm view on Meta::CPAN
=cut
######################################################################
# INITIALIZATION
######################################################################
sub _init {
&App::sub_entry if ($App::trace);
my $self = shift;
$self->SUPER::_init(@_);
$self->{table} = $self->{name} if (!$self->{table});
if (!$self->{keycolidx}) {
my $context = $self->{context};
my $table = $self->{table};
my $rep = $self->{repository};
my $r = $context->repository($rep);
$r->_load_table_metadata($table);
my $primary_key = $r->{table}{$table}{primary_key};
if ($primary_key && ref($primary_key) eq "ARRAY" && $#$primary_key > -1) {
lib/App/Widget/DataTable2.pm view on Meta::CPAN
$context = $self->{context};
$width = $context->widget($wname)->{width} || 50;
if ($x <= $width/2) {
$handled = $self->handle_event($wname, "sort", $column, "asc");
}
else {
$handled = $self->handle_event($wname, "sort", $column, "desc");
}
}
else {
$handled = $self->SUPER::handle_event(@_);
}
&App::sub_exit($handled) if ($App::trace);
return($handled);
}
######################################################################
# METHODS
######################################################################
sub add_row {
lib/App/Widget/DateDropDowns.pm view on Meta::CPAN
This class is three dropdowns for a date widget.
=cut
######################################################################
# CONSTRUCTOR
######################################################################
sub _init {
my $self = shift;
$self->SUPER::_init(@_);
my $name = $self->{name};
my $context = $self->{context};
# NOTE: container is inferred by the naming convention
# otherwise, I should include "container => $name," line
$context->widget("${name}-day", # note: container is inferred
class => "App::Widget::Select",
values => \@dayvalues,
);
lib/App/Widget/DateDropDowns.pm view on Meta::CPAN
}
elsif ($event eq "join_date") {
$self->join_date(@_);
return 1;
}
elsif ($event eq "change") { # i.e. onChange
$self->change(@_);
return 1;
}
else {
return $self->SUPER::handle_event(@_);
}
}
# NOTE: internal format of dates is YYYY-MM-DD
# display is three drop-downs: DD Mon YYYY
sub split_date {
my $self = shift;
my ($date, $day, $month, $year);
$date = $self->get_value();
return if (!$date);
lib/App/Widget/DateDropDowns.pm view on Meta::CPAN
$day = $3;
$self->set("year", $year);
$self->set("month", $month);
$self->set("day", $day);
}
}
sub get_value {
my $self = shift;
my ($date, $day, $month, $year);
$date = $self->SUPER::get_value();
return ($date) if (!$date);
return ($date) if ($date =~ /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/);
if ($date =~ /([0-9]{4}-[0-9]{2}-[0-9]{2})/) {
$date = $1;
}
elsif ($date =~ /([0-9]{4})([0-9]{2})([0-9]{2})/) {
$date = "$1-$2-$3";
}
elsif ($date =~ /([0-9]{2})-(...)-([0-9]{4})/) {
$date = "$3-$monthnumbers{$2}-$1";
lib/App/Widget/DualListSelect.pm view on Meta::CPAN
image => "images/DualListSelect/dnarrow.gif",
height => "19",
width => "19",
label => "Down",
event => "move_down",
event_target => $name,
lightweight => 1,
);
}
my @curr_values = $self->get_values();
$self->SUPER::_init(@_);
}
######################################################################
# EVENTS
######################################################################
# Usage: $widget->handle_event($event, @args);
sub handle_event {
my ($self, $wname, $event, @args) = @_;
lib/App/Widget/DualListSelect.pm view on Meta::CPAN
elsif ($event eq "unselect") {
$success = $self->unselect();
}
elsif ($event eq "move_up") {
$success = $self->move_up();
}
elsif ($event eq "move_down") {
$success = $self->move_down();
}
else {
$success = $self->SUPER::handle_event($wname, $event, @args);
}
return($success);
}
######################################################################
# METHODS
######################################################################
sub select {
my ($self) = @_;
lib/App/Widget/Element.pm view on Meta::CPAN
This class is a generic HTML element which can be made into any single
element by proper configuration.
=cut
######################################################################
# CONSTRUCTOR
######################################################################
# uncomment this when I need to do more than just call SUPER::_init()
#sub _init {
# my $self = shift;
# $self->SUPER::_init(@_);
#}
######################################################################
# METHODS
######################################################################
######################################################################
# OUTPUT METHODS (standard to all true Widgets)
######################################################################
# must have: _type, config
lib/App/Widget/FileTreeSelector.pm view on Meta::CPAN
$self->{selected} = "1.1";
$self->{node} = {
1 => { open => 0, value => 'root', },
# 1.1 => { open => 1, value => 'Criteria', },
# 1.2 => { open => 0, value => 'Rate Comparison',},
# 1.3 => { open => 0, value => 'Rate Detail', },
# 1.4 => { open => 0, value => 'Profiles', },
# 1.5 => { open => 0, value => 'Request Queue', },
};
$self->SUPER::_init(@_);
}
1;
lib/App/Widget/HierSelector.pm view on Meta::CPAN
for a TreeSelector, a Menu, a ToolbarSet, or an IconPaneSelector.
The main function of a HierSelector is to display a hierarchical set of
data and allow the user to generate events based on that view.
=cut
######################################################################
# INITIALIZATION
######################################################################
# uncomment this when I need to do more than just call SUPER::_init()
sub _init {
&App::sub_entry if ($App::trace);
my $self = shift;
$self->SUPER::_init(@_);
&App::sub_exit() if ($App::trace);
}
######################################################################
# EVENTS
######################################################################
# Usage: $widget->handle_event($wname, $event, @args);
sub handle_event {
&App::sub_entry if ($App::trace);
lib/App/Widget/HierSelector.pm view on Meta::CPAN
($nodenumber, $x, $y) = @args;
$self->set("selected", $nodenumber); # save node number
# intentionally bubble "select" event to the container
if ($wname =~ /^(.*)-([^.]+)$/) {
my $parent = $1;
my $result = $self->{context}->widget($parent)->handle_event($wname, $event, @args);
return $result;
}
}
else {
return $self->SUPER::handle_event($wname, $event, @args);
}
&App::sub_exit() if ($App::trace);
return 1;
}
sub select_first {
&App::sub_entry if ($App::trace);
my $self = shift;
my $node = $self->node_list();
lib/App/Widget/IconPaneSelector.pm view on Meta::CPAN
M$ Outlook.
=cut
######################################################################
# INITIALIZATION
######################################################################
sub _init {
my $self = shift;
$self->SUPER::_init(@_);
if (! $self->get("selected")) {
$self->select_first();
}
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
lib/App/Widget/ImageBarSelector.pm view on Meta::CPAN
=cut
######################################################################
# INITIALIZATION
######################################################################
sub _init {
&App::sub_entry if ($App::trace);
my $self = shift;
$self->SUPER::_init(@_);
my $node = $self->{context}{"hotel-selector"}{auth_node}[1];
if (! $self->get("selected")) {
$self->select_first();
}
&App::sub_exit() if ($App::trace);
}
sub select {
&App::sub_entry if ($App::trace);
my ($self, $nodeattrib, $value) = @_;
my $success = $self->SUPER::select($nodeattrib, $value);
$self->open_selected_exclusively();
&App::sub_exit($success) if ($App::trace);
return($success);
}
sub open_exclusively {
&App::sub_entry if ($App::trace);
my ($self, $opennodenumber) = @_;
#$self->{debug} .= "open_exclusively($opennodenumber)<br>";
$self->SUPER::open_exclusively($opennodenumber);
$self->select_first_open_leaf($opennodenumber);
&App::sub_exit() if ($App::trace);
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
&App::sub_entry if ($App::trace);
lib/App/Widget/RadioButtonSet.pm view on Meta::CPAN
=head1 DESCRIPTION
This class is a <select> HTML element.
=cut
######################################################################
# CONSTRUCTOR
######################################################################
# uncomment this when I need to do more than just call SUPER::_init()
#sub _init {
# my $self = shift;
# $self->SUPER::_init(@_);
#}
######################################################################
# METHODS
######################################################################
######################################################################
# OUTPUT METHODS
######################################################################
lib/App/Widget/RepositoryEditor.pm view on Meta::CPAN
This class implements a widget.
=cut
######################################################################
# INITIALIZATION
######################################################################
sub _init {
my $self = shift;
$self->SUPER::_init(@_);
my ($context, $name, $rep, $repname, $table, $table_names);
$context = $self->{context};
$name = $self->{name};
$repname = $self->get("repository");
$rep = $context->repository($repname);
$table = $self->get("table");
if (! $table) {
lib/App/Widget/RepositoryEditor.pm view on Meta::CPAN
$self->set("table", $table);
$self->set("columns", []);
$self->set("ordercols", []);
$self->set("directions", []);
$self->set("param",[]);
$self->set("param_min",[]);
$self->set("param_max",[]);
$self->set("param_contains",[]);
}
else {
return $self->SUPER::handle_event($wname, $event, @args);
}
return 1;
}
sub set_mode {
my ($self, $mode, $editable) = @_;
my ($context, $name, $w);
lib/App/Widget/Select.pm view on Meta::CPAN
=head1 DESCRIPTION
This class is a <select> HTML element.
=cut
######################################################################
# CONSTRUCTOR
######################################################################
# uncomment this when I need to do more than just call SUPER::_init()
sub _init {
my $self = shift;
my $context = $self->{context};
my $name = $self->{name};
my $value = $context->so_get($name);
my ($values, $labels);
if (! defined $value && $self->{init_default}) {
($values, $labels) = $self->values_labels();
if ($#$values > -1) {
$value = $values->[0];
$context->so_set($name, undef, $value);
}
}
elsif (defined $value && $value eq "EACH") {
($values, $labels) = $self->values_labels();
$value = join(",", @$values);
$context->so_set($name, undef, $value);
}
$self->SUPER::_init(@_);
}
######################################################################
# METHODS
######################################################################
######################################################################
# OUTPUT METHODS
######################################################################
lib/App/Widget/SelectSaveAs.pm view on Meta::CPAN
This class is a select element, followed by four buttons.
=cut
######################################################################
# CONSTRUCTOR
######################################################################
sub _init {
my $self = shift;
$self->SUPER::_init(@_);
my $name = $self->{name};
my $context = $self->{context};
# NOTE: container is inferred by the naming convention
# otherwise, I should include "container => $name," line
$context->widget("${name}-selected", # note: container is inferred
class => "App::Widget::Select",
#lightweight => 1,
);
lib/App/Widget/SelectSaveAs.pm view on Meta::CPAN
# Usage: $widget->handle_event($name, $event, @args);
sub handle_event {
my ($self, $name, $event, @args) = @_;
if ($event eq "change") {
$self->change();
return 1;
}
else {
return $self->SUPER::handle_event($name, $event, @args);
}
}
sub change {
my ($self) = @_;
my $context = $self->{context};
my $name = $self->{name};
my $value = $context->so_get("${name}-selected");
if ($value) {
$context->so_set($name, undef, $value);
lib/App/Widget/Stylizable.pm view on Meta::CPAN
=head1 DESCRIPTION
This class is an HTML element which can take the STYLE attribute.
=cut
######################################################################
# CONSTRUCTOR
######################################################################
# uncomment this when I need to do more than just call SUPER::_init()
#sub _init {
# my $self = shift;
# $self->SUPER::_init(@_);
#}
######################################################################
# METHODS
######################################################################
# NOTE: This is a *static* method.
# It doesn't require an instance of the class to call it.
sub absorbable_attribs {
\@absorbable_attrib;
lib/App/Widget/TabSet.pm view on Meta::CPAN
my $target = $selector_widget->get_selected("target");
if ($target) {
$main::target = $target;
}
$self->{noframe} = $selector_widget->get_selected("noframe");
return 1;
}
else {
return $self->SUPER::handle_event($wname, $event, @args);
}
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
lib/App/Widget/TabbedAppFrame.pm view on Meta::CPAN
my $target = $selector_widget->get_selected("target");
if ($target) {
$main::target = $target;
}
$self->{noframe} = $selector_widget->get_selected("noframe");
return 1;
}
else {
return $self->SUPER::handle_event($wname, $event, @args);
}
&App::sub_exit() if ($App::trace);
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
lib/App/Widget/TabbedSelector.pm view on Meta::CPAN
=cut
######################################################################
# INITIALIZATION
######################################################################
sub _init {
&App::sub_entry if ($App::trace);
my $self = shift;
$self->SUPER::_init(@_);
if (! $self->{selected}) {
my $context = $self->{context};
my $screen = $context->so_get("default","screen");
if ($screen) {
$self->select("wname", $screen);
}
else {
$self->select_first();
}
}
&App::sub_exit() if ($App::trace);
}
sub select {
my ($self, $nodeattrib, $value) = @_;
my $success = $self->SUPER::select($nodeattrib, $value);
$self->open_selected_exclusively();
return($success);
}
sub open_exclusively {
my ($self, $opennodenumber) = @_;
#$self->{debug} .= "open_exclusively($opennodenumber)<br>";
$self->SUPER::open_exclusively($opennodenumber);
$self->select_first_open_leaf($opennodenumber);
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my ($html, $label, $icon);
lib/App/Widget/TablessSelector.pm view on Meta::CPAN
This class implements a screen selector.
=cut
######################################################################
# INITIALIZATION
######################################################################
sub _init {
my $self = shift;
$self->SUPER::_init(@_);
if (! $self->{selected}) {
$self->select_first();
}
}
sub select {
my ($self, $nodeattrib, $value) = @_;
my $success = $self->SUPER::select($nodeattrib, $value);
$self->open_selected_exclusively();
return($success);
}
sub open_exclusively {
my ($self, $opennodenumber) = @_;
#$self->{debug} .= "open_exclusively($opennodenumber)<br>";
$self->SUPER::open_exclusively($opennodenumber);
$self->select_first_open_leaf($opennodenumber);
}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my ($html, $label, $icon);
lib/App/Widget/TreeSelector.pm view on Meta::CPAN
This class implements a graphical tree view such as is used in
Windows Explorer.
=cut
######################################################################
# INITIALIZATION
######################################################################
# uncomment this when I need to do more than just call SUPER::_init()
#sub _init {
# my $self = shift;
# $self->SUPER::_init(@_);
#}
######################################################################
# OUTPUT METHODS
######################################################################
sub html {
my $self = shift;
my $context = $self->{context};
my $name = $self->{name};
lib/App/Widget/WizardSelector.pm view on Meta::CPAN
This class implements a simple wizard screen selector.
=cut
######################################################################
# INITIALIZATION
######################################################################
sub _init {
my $self = shift;
$self->SUPER::_init(@_);
if (! $self->{selected}) {
$self->select_first();
}
}
sub select {
my ($self, $nodeattrib, $value) = @_;
my $success = $self->SUPER::select($nodeattrib, $value);
$self->open_selected_exclusively();
return($success);
}
sub open_exclusively {
my ($self, $opennodenumber) = @_;
#$self->{debug} .= "open_exclusively($opennodenumber)<br>";
$self->SUPER::open_exclusively($opennodenumber);
$self->select_first_open_leaf($opennodenumber);
}
# return the next enabled page in sequence.
sub next {
&App::sub_entry if ($App::trace);
my ($self) = @_;
my $context = $self->{context};