package Libconf::GUI::Gtk2::Entry; use ugtk2 qw(:helpers :wrappers :create); our @ISA = qw(Gtk2::Entry); #constructor #@widget_options is optional sub new { my ($class, $default, $ref_value, $data_mapping, @widget_options) = @_; #call the constructor of the parent class. my $self = $class->SUPER::new(@widget_options); $self->{'default_value'} = $default; $self->{'data_mapping'} = $data_mapping; $self->{ref_value} = $ref_value; bless $self, $class; return $self; } #### TO BE REWORKED : data mapping is badly implemented sub set_default { my ($self) = @_; my $default_value = $self->{default_value}; $self->set_text($default_value); $self->{value} = $default_value; # defined $self->{'data_mapping'} and $default_value = $self->{'data_mapping'}->($default_value); # $self->set_data('value', $default_value); } sub set_value { my ($self, $value) = @_; print " --------- SETTING $value \n"; $self->{'value'} = $value; ${$self->{ref_value}} = $value; $self->set_text($value); } sub get_value { my ($self) = @_; my $value = $self->{'value'}; $value; } 1;