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.19 by root, Wed Nov 21 13:23:10 2012 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines