/[libconf]/libconf/perl-Libconf/GUI/Gtk2/SpinButton.pm
ViewVC logotype

Diff of /libconf/perl-Libconf/GUI/Gtk2/SpinButton.pm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by dams, Tue Oct 21 20:33:18 2003 UTC revision 1.4 by dams, Sat Oct 25 14:30:14 2003 UTC
# Line 1  Line 1 
1  package Libconf::GUI::Gtk2::SpinButton;  package Libconf::GUI::Gtk2::SpinButton;
2    
3  use ugtk2 qw(:helpers :wrappers :create);  use ugtk2 qw(:helpers :wrappers :create);
4    use Libconf::GUI::Gtk2::Widget;
5    
6  our @ISA = qw(Gtk2::SpinButton);  # multiple inheritance, yaaaaaaaaaaaaaaa
7    our @ISA = qw(Gtk2::SpinButton Libconf::GUI::Gtk2::Widget);
8    
9    #constructor
10    #@widget_options is optional
11  sub new {  sub new {
12      my ($class, $default, $ref_value, $data_mapping, @widget_options) = @_;      my ($class, $default, $ref_value, $data_mapping, @widget_options) = @_;
13      my $adj = create_adjustment(0, 0, 65535);      my $adj = create_adjustment(0, 0, 65535);
14      my $self = Gtk2::SpinButton->new($adj, 1, 0, @widget_options); #UGLY! better is $class->SUPER::new($adj, 1, 0, @widget_options);      my $self = $class->SUPER::new($adj, 1, 0, @widget_options);
15      $self->{default_value} = $default;      $self->{default_value} = $default;
16      $self->{data_mapping} = $data_mapping;      $self->{data_mapping} = $data_mapping;
17      $self->{ref_value} = $ref_value;      $self->{ref_value} = $ref_value;
18      bless $self, $class;      bless $self, $class;
19      gtksignal_connect($self, changed => sub {      gtksignal_connect($self, changed => sub {
20                            my ($widget) = @_;                            my $widget = shift;
21                            my $value = $widget->get_value();                            my $value = Gtk2::SpinButton::get_value($widget);
22                              $value == Libconf::GUI::Gtk2::Widget::get_value($self) and return;
23                            print " setting : -- [" . $value . "]\n";                            print " setting : -- [" . $value . "]\n";
24                            $self->{value} = $value;                            defined $data_mapping and $value = $data_mapping->($value);
25                            ${$self->{ref_value}} = $value;                            Libconf::GUI::Gtk2::Widget::set_value($self, $value);
26                            print " getvalue : -- " . $self->get_value() . "\n";                            print " getvalue : -- " . Libconf::GUI::Gtk2::Widget::get_value($self) . "\n";
27                        });                        });
28      return $self;      return $self;
29  }  }
30    
 sub set_default {  
     my ($self) = @_;  
     my $default_value = $self->{'default_value'};  
     $self->set_value($default_value);  
     $self->{value} = $default_value;  
 }  
   
31  sub set_value {  sub set_value {
32      my ($self, $value) = @_;      my $self = shift;
33  #     $self->{value} = $value;      Gtk2::SpinButton::set_value($self, Libconf::GUI::Gtk2::Widget::set_value($self, @_));
 #     ${$self->{ref_value}} = $value;  
     Gtk2::SpinButton::set_value($self, $value);  
 }  
   
 sub get_value {  
     my ($self) = @_;  
     my $value = $self->{value};  
     $value;  
34  }  }
35    
36  1;  1;
   

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26