… | |
… | |
2068 | my ($self) = @_; |
2068 | my ($self) = @_; |
2069 | |
2069 | |
2070 | (6) x 2 |
2070 | (6) x 2 |
2071 | } |
2071 | } |
2072 | |
2072 | |
|
|
2073 | sub toggle { |
|
|
2074 | my ($self) = @_; |
|
|
2075 | |
|
|
2076 | $self->{state} = !$self->{state}; |
|
|
2077 | $self->emit (changed => $self->{state}); |
|
|
2078 | $self->update; |
|
|
2079 | } |
|
|
2080 | |
2073 | sub invoke_button_down { |
2081 | sub invoke_button_down { |
2074 | my ($self, $ev, $x, $y) = @_; |
2082 | my ($self, $ev, $x, $y) = @_; |
2075 | |
2083 | |
2076 | if ($x >= $self->{padding_x} && $x < $self->{w} - $self->{padding_x} |
2084 | if ($x >= $self->{padding_x} && $x < $self->{w} - $self->{padding_x} |
2077 | && $y >= $self->{padding_y} && $y < $self->{h} - $self->{padding_y}) { |
2085 | && $y >= $self->{padding_y} && $y < $self->{h} - $self->{padding_y}) { |
2078 | $self->{state} = !$self->{state}; |
2086 | $self->toggle; |
2079 | $self->emit (changed => $self->{state}); |
|
|
2080 | } else { |
2087 | } else { |
2081 | return 0 |
2088 | return 0 |
2082 | } |
2089 | } |
2083 | |
2090 | |
2084 | 1 |
2091 | 1 |
… | |
… | |
3162 | |
3169 | |
3163 | $self->{current} = $self->{children}[0] |
3170 | $self->{current} = $self->{children}[0] |
3164 | if @{ $self->{children} }; |
3171 | if @{ $self->{children} }; |
3165 | } |
3172 | } |
3166 | |
3173 | |
|
|
3174 | sub get_current_page { |
|
|
3175 | my ($self) = @_; |
|
|
3176 | |
|
|
3177 | $self->{current} |
|
|
3178 | } |
|
|
3179 | |
3167 | sub set_current_page { |
3180 | sub set_current_page { |
3168 | my ($self, $page_or_widget) = @_; |
3181 | my ($self, $page_or_widget) = @_; |
3169 | |
3182 | |
3170 | my $widget = ref $page_or_widget |
3183 | my $widget = ref $page_or_widget |
3171 | ? $page_or_widget |
3184 | ? $page_or_widget |
… | |
… | |
3235 | tooltip => $tooltip, |
3248 | tooltip => $tooltip, |
3236 | on_activate => sub { $self->set_current_page ($widget) }, |
3249 | on_activate => sub { $self->set_current_page ($widget) }, |
3237 | ); |
3250 | ); |
3238 | |
3251 | |
3239 | $self->{multiplexer}->add ($widget); |
3252 | $self->{multiplexer}->add ($widget); |
|
|
3253 | } |
|
|
3254 | |
|
|
3255 | sub get_current_page { |
|
|
3256 | my ($self) = @_; |
|
|
3257 | |
|
|
3258 | $self->{multiplexer}->get_current_page |
3240 | } |
3259 | } |
3241 | |
3260 | |
3242 | sub set_current_page { |
3261 | sub set_current_page { |
3243 | my ($self, $page) = @_; |
3262 | my ($self, $page) = @_; |
3244 | |
3263 | |