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

Comparing deliantra/Deliantra-Client/DC/Item.pm (file contents):
Revision 1.14 by root, Sun Jan 11 23:45:52 2009 UTC vs.
Revision 1.17 by root, Sat Apr 3 02:58:24 2010 UTC

1package DC::Item; 1package DC::Item;
2 2
3use strict; 3use common::sense;
4use utf8; 4
5use Encode; 5use Encode;
6 6
7use Deliantra::Protocol::Constants; 7use Deliantra::Protocol::Constants;
8 8
9my $last_enter_count = 1; 9my $last_enter_count = 1;
12 my ($self) = @_; 12 my ($self) = @_;
13 13
14 my $desc = 14 my $desc =
15 $self->{nrof} < 2 15 $self->{nrof} < 2
16 ? $self->{name} 16 ? $self->{name}
17 : "$self->{nrof} × $self->{name_pl}"; 17 : "$self->{nrof} $self->{name_pl}";
18 18
19 $self->{flags} & F_OPEN 19 $self->{flags} & F_OPEN
20 and $desc .= " (open)"; 20 and $desc .= " (open)";
21 $self->{flags} & F_APPLIED 21 $self->{flags} & F_APPLIED
22 and $desc .= " (applied)"; 22 and $desc .= " (applied)";
174 174
175 my $desc = DC::Item::desc_string $self; 175 my $desc = DC::Item::desc_string $self;
176 my $face_tooltip = "<b>$desc</b>\n\n$tooltip_std"; 176 my $face_tooltip = "<b>$desc</b>\n\n$tooltip_std";
177 177
178 if (my $face = $self->{face_widget}) { 178 if (my $face = $self->{face_widget}) {
179 # already exists, so update if it changed
179 if ($face->{bg} != $bg) { 180 if ($face->{bg} != $bg) {
180 $face->{bg} = $bg; 181 $face->{bg} = $bg;
181 $face->update; 182 $face->update;
182 } 183 }
183 184
185 $face->set_bg ($bg) if $face->{bg} != $bg;
184 $face->set_face ($self->{face}) if $face->{face} != $self->{face}; 186 $face->set_face ($self->{face}) if $face->{face} != $self->{face};
185 $face->set_anim ($self->{anim}) if $face->{anim} != $self->{anim}; 187 $face->set_anim ($self->{anim}) if $face->{anim} != $self->{anim};
186 $face->set_animspeed ($self->{animspeed}) if $face->{animspeed} != $self->{animspeed}; 188 $face->set_animspeed ($self->{animspeed}) if $face->{animspeed} != $self->{animspeed};
187 189
188 #$face->set_tooltip ( 190 #$face->set_tooltip (
191 # . ($self->{animspeed} ? "Item uses animation #$self->{anim} at " . (1 / $self->{animspeed}) . "fps. " : "Item is not animated. ") 193 # . ($self->{animspeed} ? "Item uses animation #$self->{anim} at " . (1 / $self->{animspeed}) . "fps. " : "Item is not animated. ")
192 # . "\n\n$tooltip_std" 194 # . "\n\n$tooltip_std"
193 #); 195 #);
194 $face->set_tooltip ($face_tooltip); 196 $face->set_tooltip ($face_tooltip);
195 } else { 197 } else {
198 # new object, create new face
196 $self->{face_widget} = new DC::UI::Face 199 $self->{face_widget} = new DC::UI::Face
197 can_events => 1, 200 can_events => 1,
198 can_hover => 1, 201 can_hover => 1,
199 bg => $bg, 202 bg => $bg,
200 face => $self->{face}, 203 face => $self->{face},
224 $widget->set_tooltip ("<b>$long_desc</b>\n\n$tooltip_std"); 227 $widget->set_tooltip ("<b>$long_desc</b>\n\n$tooltip_std");
225 }); 228 });
226 }, 229 },
227 ; 230 ;
228 231
229 $self->{desc_widget}{bg} = $bg; 232 my $long_desc = $self->{long_desc} || $desc;
233
234 $self->{desc_widget}->set_bg ($bg) if $self->{desc_widget}{bg} != $bg;
230 $self->{desc_widget}->set_text ($desc); 235 $self->{desc_widget}->set_text ($desc);
231
232 my $long_desc = $self->{long_desc} || $desc;
233 $self->{desc_widget}->set_tooltip ("<b>$long_desc</b>\n\n$tooltip_std"); 236 $self->{desc_widget}->set_tooltip ("<b>$long_desc</b>\n\n$tooltip_std");
234 237
235 $self->{weight_widget} ||= new DC::UI::Label 238 $self->{weight_widget} ||= new DC::UI::Label
236 can_events => 1, 239 can_events => 1,
237 can_hover => 1, 240 can_hover => 1,

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines