ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/Deliantra-Client/DC/UI.pm
(Generate patch)

Comparing deliantra/Deliantra-Client/DC/UI.pm (file contents):
Revision 1.363 by root, Sun Dec 10 00:06:49 2006 UTC vs.
Revision 1.366 by root, Mon Apr 23 19:17:41 2007 UTC

22our $TOOLTIP_WATCHER = Event->idle (min => 1/60, cb => sub { 22our $TOOLTIP_WATCHER = Event->idle (min => 1/60, cb => sub {
23 if (!$GRAB) { 23 if (!$GRAB) {
24 for (my $widget = $HOVER; $widget; $widget = $widget->{parent}) { 24 for (my $widget = $HOVER; $widget; $widget = $widget->{parent}) {
25 if (length $widget->{tooltip}) { 25 if (length $widget->{tooltip}) {
26 if ($TOOLTIP->{owner} != $widget) { 26 if ($TOOLTIP->{owner} != $widget) {
27 $TOOLTIP->{owner}->emit ("tooltip_hide") if $TOOLTIP->{owner};
27 $TOOLTIP->hide; 28 $TOOLTIP->hide;
28 29
29 $TOOLTIP->{owner} = $widget; 30 $TOOLTIP->{owner} = $widget;
31 $TOOLTIP->{owner}->emit ("tooltip_show") if $TOOLTIP->{owner};
30 32
31 return if $ENV{CFPLUS_DEBUG} & 8; 33 return if $ENV{CFPLUS_DEBUG} & 8;
32 34
33 my $tip = $widget->{tooltip}; 35 my $tip = $widget->{tooltip};
34 36
42 } 44 }
43 } 45 }
44 } 46 }
45 47
46 $TOOLTIP->hide; 48 $TOOLTIP->hide;
49 $TOOLTIP->{owner}->emit ("tooltip_hide") if $TOOLTIP->{owner};
47 delete $TOOLTIP->{owner}; 50 delete $TOOLTIP->{owner};
48}); 51});
49 52
50sub get_layout { 53sub get_layout {
51 my $layout; 54 my $layout;
2708sub invoke_mouse_wheel { 2711sub invoke_mouse_wheel {
2709 my ($self, $ev) = @_; 2712 my ($self, $ev) = @_;
2710 2713
2711 my $delta = $self->{vertical} ? $ev->{dy} : $ev->{dx}; 2714 my $delta = $self->{vertical} ? $ev->{dy} : $ev->{dx};
2712 2715
2716 my $pagepart = $ev->{mod} & CFPlus::KMOD_SHIFT ? 1 : 0.2;
2717
2713 $self->set_value ($self->{range}[0] + $delta * $self->{range}[3] * 0.2); 2718 $self->set_value ($self->{range}[0] + $delta * $self->{range}[3] * $pagepart);
2714 2719
2715 ! ! $delta 2720 ! ! $delta
2716} 2721}
2717 2722
2718sub update { 2723sub update {
2828 #font => default_font 2833 #font => default_font
2829 @_, 2834 @_,
2830 2835
2831 layout => (new CFPlus::Layout), 2836 layout => (new CFPlus::Layout),
2832 par => [], 2837 par => [],
2838 max_par => 0,
2833 height => 0, 2839 height => 0,
2834 children => [ 2840 children => [
2835 (new CFPlus::UI::Empty expand => 1), 2841 (new CFPlus::UI::Empty expand => 1),
2836 (new CFPlus::UI::Slider vertical => 1), 2842 (new CFPlus::UI::Slider vertical => 1),
2837 ], 2843 ],
2960 wrapped => 1, 2966 wrapped => 1,
2961 }; 2967 };
2962 2968
2963 $self->add (@{ $para->{widget} }) if @{ $para->{widget} }; 2969 $self->add (@{ $para->{widget} }) if @{ $para->{widget} };
2964 push @{$self->{par}}, $para; 2970 push @{$self->{par}}, $para;
2971 }
2972
2973 if (my $max = $self->{max_par}) {
2974 shift @{$self->{par}} while @{$self->{par}} > $max;
2965 } 2975 }
2966 2976
2967 $self->{need_reflow}++; 2977 $self->{need_reflow}++;
2968 $self->update; 2978 $self->update;
2969} 2979}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines