… | |
… | |
5 | |
5 | |
6 | use Scalar::Util (); |
6 | use Scalar::Util (); |
7 | use List::Util (); |
7 | use List::Util (); |
8 | |
8 | |
9 | use CFClient; |
9 | use CFClient; |
|
|
10 | use CFClient::Texture; |
10 | |
11 | |
11 | our ($FOCUS, $HOVER, $GRAB); # various widgets |
12 | our ($FOCUS, $HOVER, $GRAB); # various widgets |
12 | |
13 | |
13 | our $ROOT; |
14 | our $ROOT; |
14 | our $TOOLTIP; |
15 | our $TOOLTIP; |
… | |
… | |
874 | $self->{vp}->add ($self->{scrolled}); |
875 | $self->{vp}->add ($self->{scrolled}); |
875 | $self->add ($self->{vp}); |
876 | $self->add ($self->{vp}); |
876 | $self->add ($self->{slider}); |
877 | $self->add ($self->{slider}); |
877 | |
878 | |
878 | $self |
879 | $self |
|
|
880 | } |
|
|
881 | |
|
|
882 | sub update { |
|
|
883 | my ($self) = @_; |
|
|
884 | |
|
|
885 | $self->SUPER::update; |
|
|
886 | |
|
|
887 | # todo: overwrite size_allocate of child |
|
|
888 | my $child = $self->{vp}->child; |
|
|
889 | $self->{slider}->set_range ([$self->{slider}{range}[0], 0, $child->{h}, $self->{vp}{h}, 1]); |
879 | } |
890 | } |
880 | |
891 | |
881 | sub size_allocate { |
892 | sub size_allocate { |
882 | my ($self, $w, $h) = @_; |
893 | my ($self, $w, $h) = @_; |
883 | |
894 | |
… | |
… | |
2136 | } |
2147 | } |
2137 | |
2148 | |
2138 | sub set_range { |
2149 | sub set_range { |
2139 | my ($self, $range) = @_; |
2150 | my ($self, $range) = @_; |
2140 | |
2151 | |
2141 | $self->{range} = $range; |
2152 | ($range, $self->{range}) = ($self->{range}, $range); |
2142 | |
2153 | |
2143 | $self->update; |
2154 | $self->update |
|
|
2155 | if "@$range" ne "@{$self->{range}}"; |
2144 | } |
2156 | } |
2145 | |
2157 | |
2146 | sub set_value { |
2158 | sub set_value { |
2147 | my ($self, $value) = @_; |
2159 | my ($self, $value) = @_; |
2148 | |
2160 | |
… | |
… | |
2751 | $self->{scrolled}->add (1, $row, $item->{desc_widget}); |
2763 | $self->{scrolled}->add (1, $row, $item->{desc_widget}); |
2752 | $self->{scrolled}->add (2, $row, $item->{weight_widget}); |
2764 | $self->{scrolled}->add (2, $row, $item->{weight_widget}); |
2753 | |
2765 | |
2754 | $row++; |
2766 | $row++; |
2755 | } |
2767 | } |
2756 | |
|
|
2757 | # $range->{range} = [$self->{pos}, 0, $self->{max_pos}, $page]; |
|
|
2758 | } |
2768 | } |
2759 | |
2769 | |
2760 | sub size_request { |
2770 | sub size_request { |
2761 | my ($self) = @_; |
2771 | my ($self) = @_; |
2762 | ($self->{req_w}, $self->{req_h}); |
2772 | ($self->{req_w}, $self->{req_h}); |