view release on metacpan or search on metacpan
lib/Gtk2/Ex/FormFactory.pm view on Meta::CPAN
#-- And finally connect the changed signals - this need to be
#-- done *after* showing the widgets. For containers ->show()
#-- could trigger updates which cause object updates. Since
#-- ->update() isn't called yet, this would invalidate the
#-- object's state.
$self->connect_signals;
1;
}
sub update {
my $self = shift;
$self->update_all;
}
sub ok {
my $self = shift;
$self->apply;
$self->close;
lib/Gtk2/Ex/FormFactory/CheckButtonGroup.pm view on Meta::CPAN
$hbox->show_all;
$self->set_gtk_check_buttons(\%gtk_check_buttons);
$self->set_gtk_table($gtk_table);
$self->connect_changed_signal_for_all_buttons;
1;
}
sub update_selection {
my $self = shift;
$self->set_in_selection_update(1);
my $selected_href = $self->get_object_value;
my $gtk_check_buttons = $self->get_gtk_check_buttons;
while ( my ($value, $gtk_check_button) = each %{$gtk_check_buttons} ) {
$gtk_check_button->set_active( $selected_href->{$value} );
}
lib/Gtk2/Ex/FormFactory/Container.pm view on Meta::CPAN
my $child_gtk_widget = $child->get_gtk_parent_widget;
my $gtk_widget = $self->get_gtk_widget;
$gtk_widget->remove($child_gtk_widget);
$child->cleanup;
1;
}
sub update_all {
my $self = shift;
$self->SUPER::update(@_);
foreach my $c ( @{$self->get_content} ) {
$c->update_all;
}
1;
}
lib/Gtk2/Ex/FormFactory/Context.pm view on Meta::CPAN
qq[ get_object_attr("object","attr")];
}
my $proxy = $self->get_proxies_by_name->{$object_name}
or die "Object '$object_name' not registered";
return $proxy->get_attr($attr_name);
}
sub update_object_attr_widgets {
my $self = shift;
my ($object, $attr) = @_;
my $object_attr = $self->norm_object_attr($object, $attr);
$Gtk2::Ex::FormFactory::DEBUG &&
print "update_object_attr_widgets($object, $attr)\n";
my $widgets_by_attr = $self->get_widgets_by_attr;
my $depend_trigger_href = $self->get_depend_trigger_href;
lib/Gtk2/Ex/FormFactory/Context.pm view on Meta::CPAN
$w->update;
}
foreach my $name ( keys %{$self->get_aggregated_by_href->{$update_object_attr}} ) {
$self->get_proxy($name)->update_by_aggregation;
}
}
1;
}
sub update_object_widgets {
my $self = shift;
my ($name) = @_;
$Gtk2::Ex::FormFactory::DEBUG &&
print "update_object_widgets($name)\n";
$name = $self->norm_object_attr($name);
my $object = $self->get_object($name);
my $change_state = defined $object ? '' : 'empty,inactive';
lib/Gtk2/Ex/FormFactory/Context.pm view on Meta::CPAN
foreach my $w ( values %{$widget_activity_href->{$name}} ) {
$w->update($change_state);
}
my $update_hook = $self->get_update_hooks_by_object->{$name};
&$update_hook($object) if $update_hook;
1;
}
sub update_object_widgets_activity {
my $self = shift;
my ($name, $activity) = @_;
warn "activity !(empty|inactive|active)"
unless $activity =~ /^empty|inactive|active$/;
$Gtk2::Ex::FormFactory::DEBUG &&
print "update_object_activity($name)\n";
my $widgets_by_object = $self->get_widgets_by_object;
lib/Gtk2/Ex/FormFactory/ExecFlow.pm view on Meta::CPAN
if ( $job->get_type eq 'group' ) {
foreach my $child_job ( @{$job->get_jobs} ) {
$self->add_job_to_model($child_job, $iter);
}
}
1;
}
sub update_job {
my $self = shift;
my ($job) = @_;
my $path = $self->get_path_by_id_href->{$job->get_id};
return if !$path;
my $model = $self->get_gtk_widget->get_model;
my $iter = $model->get_iter($path);
lib/Gtk2/Ex/FormFactory/Proxy.pm view on Meta::CPAN
return $self;
}
sub get_object {
my $self = shift;
my $object = $self->{object};
ref $object eq 'CODE' ? &$object() : $object;
}
sub update_by_aggregation {
my $self = shift;
my $aggregated_by = $self->get_aggregated_by;
my $object = $self->get_attr($aggregated_by);
$self->set_object($object);
1;
}
lib/Gtk2/Ex/FormFactory/ToggleButton.pm view on Meta::CPAN
$self->get_gtk_widget->signal_connect_after (
toggled => sub {
$self->update_button_label;
$self->widget_value_changed;
},
);
1;
}
sub update_button_label {
my $self = shift;
return if $self->get_true_label eq $self->get_false_label;
my $gtk_widget;
if ( $self->get_stock ) {
my $gtk_align = ($self->get_gtk_parent_widget->get_children)[0];
my $gtk_hbox = ($gtk_align->get_children)[0];
$gtk_widget = ($gtk_hbox->get_children)[1];
}
lib/Gtk2/Ex/FormFactory/Widget.pm view on Meta::CPAN
die "Can't find sibling($sibling_idx)" unless $sibling;
return $sibling;
} else {
return $self->get_form_factory->get_widget($name);
}
}
#========================================================================
# Update this widgets resp. transfer the object's value to the Widget
#========================================================================
sub update {
my $self = shift;
my ($change_state) = @_;
$change_state = '' if not defined $change_state;
$Gtk2::Ex::FormFactory::DEBUG &&
print "update_widget(".$self->get_name.", $change_state)\n";
#-- Check if widget updating is temoprarily disabled
#-- (refer to widget_value_changed() for this)
lib/Gtk2/Ex/FormFactory/Widget.pm view on Meta::CPAN
#-- Set widget into normal update state
$self->set_in_update(0);
1;
}
#========================================================================
# Update this widget, and it's child; overwritten by Container class
#========================================================================
sub update_all {
my $self = shift;
#-- For a non Container widget, this is the same as update()
$self->update(@_);
1;
}
#========================================================================
# Update this widget's activity state: (in)sensitive / (in)visible
#========================================================================
sub update_widget_activity {
my $self = shift;
my ($active) = @_;
$active = 0 if $active eq 'inactive';
#-- Use the Widget's activity value over the given $active
if ( defined $self->get_widget_activity ) {
$active = $self->get_widget_activity;
}