package Libconf::GUI::Gtk2::SpinButton; use ugtk2 qw(:helpers :wrappers :create); our @ISA = qw(Gtk2::SpinButton); sub new { my ($class, $default, $ref_value, $data_mapping, @widget_options) = @_; my $adj = create_adjustment(0, 0, 65535); my $self = $class->SUPER::new($adj, 1, 0, @widget_options); $self->{default_value} = $default; $self->{data_mapping} = $data_mapping; $self->{ref_value} = $ref_value; bless $self, $class; gtksignal_connect($self, changed => sub { my ($widget) = @_; my $value = $widget->get_value(); print " setting : -- [" . $value . "]\n"; $self->{value} = $value; ${$self->{ref_value}} = $value; print " getvalue : -- " . $self->get_value() . "\n"; }); return $self; } sub set_default { my ($self) = @_; my $default_value = $self->{'default_value'}; $self->set_value($default_value); $self->{value} = $default_value; } sub set_value { my ($self, $value) = @_; # $self->{value} = $value; # ${$self->{ref_value}} = $value; Gtk2::SpinButton::set_value($self, $value); } sub get_value { my ($self) = @_; my $value = $self->{value}; $value; } 1;