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

Comparing deliantra/Deliantra-Client/DC.pm (file contents):
Revision 1.62 by root, Thu May 25 16:24:43 2006 UTC vs.
Revision 1.63 by root, Thu May 25 16:35:42 2006 UTC

256} 256}
257 257
258sub update_widgets { 258sub update_widgets {
259 my ($self) = @_; 259 my ($self) = @_;
260 260
261 my $button_cb = sub {
262 my (undef, $ev, $x, $y) = @_;
263
264 if (($ev->{mod} & CFClient::KMOD_SHIFT) && $ev->{button} == 1) {
265 my $targ = $::CONN->{player}{tag};
266
267 if ($self->{container} == $::CONN->{player}{tag}) {
268 $targ = $main::OPENCONT;
269 }
270
271 $::CONN->send ("move $targ $self->{tag} 0");
272 } elsif ($ev->{button} == 1) {
273 $::CONN->send ("examine $self->{tag}");
274 } elsif ($ev->{button} == 2) {
275 $::CONN->send ("apply $self->{tag}");
276 } elsif ($ev->{button} == 3) {
277 my @menu_items = (
278 ["examine", sub { $::CONN->send ("examine $self->{tag}") }],
279 ["mark", sub { $::CONN->send ("mark ". pack "N", $self->{tag}) }],
280 ["apply", sub { $::CONN->send ("apply $self->{tag}") }],
281 (
282 $self->{flags} & Crossfire::Protocol::F_LOCKED
283 ? (
284 ["unlock", sub { $::CONN->send ("lock " . pack "CN", 0, $self->{tag}) }],
285 )
286 : (
287 ["lock", sub { $::CONN->send ("lock " . pack "CN", 1, $self->{tag}) }],
288 ["drop", sub { $::CONN->send ("move $main::OPENCONT $self->{tag} 0") }],
289 )
290 ),
291 );
292
293 CFClient::UI::Menu->new (items => \@menu_items)->popup ($ev);
294 }
295
296 1
297 };
298
261 my $tooltip_std = "<small>" 299 my $tooltip_std = "<small>"
262 . "Left click - examine item\n" 300 . "Left click - examine item\n"
263 . "Shift-Left click - " . ($self->{container} ? "move or drop" : "take") . " item\n" 301 . "Shift-Left click - " . ($self->{container} ? "move or drop" : "take") . " item\n"
264 . "Middle click - apply\n" 302 . "Middle click - apply\n"
265 . "Right click - further options" 303 . "Right click - further options"
266 . "</small>\n"; 304 . "</small>\n";
267 305
268 $self->{face_widget} ||= new CFClient::UI::Face can_events => 1, can_hover => 1; 306 $self->{face_widget} ||= new CFClient::UI::Face
307 can_events => 1,
308 can_hover => 1,
309 connect_button_down => $button_cb,
310 ;
269 $self->{face_widget}{face} = $self->{face}; 311 $self->{face_widget}{face} = $self->{face};
270 $self->{face_widget}{anim} = $self->{anim}; 312 $self->{face_widget}{anim} = $self->{anim};
271 $self->{face_widget}{animspeed} = $self->{animespeed}; 313 $self->{face_widget}{animspeed} = $self->{animespeed};
272 $self->{face_widget}->set_tooltip ( 314 $self->{face_widget}->set_tooltip (
273 "<b>Face/Animation.</b>\n" 315 "<b>Face/Animation.</b>\n"
274 . "Item uses face #$self->{face}. " 316 . "Item uses face #$self->{face}. "
275 . ($self->{animspeed} ? "Item uses animation #$self->{anim} at " . (1 / $self->{animspeed}) . "fps. " : "Item is not animated. ") 317 . ($self->{animspeed} ? "Item uses animation #$self->{anim} at " . (1 / $self->{animspeed}) . "fps. " : "Item is not animated. ")
276 . "\n\n$tooltip_std" 318 . "\n\n$tooltip_std"
277 ); 319 );
278 320
279 $self->{desc_widget} ||= new CFClient::UI::Label ellipsise => 2, can_events => 1, can_hover => 1; 321 $self->{desc_widget} ||= new CFClient::UI::Label
280 $self->{desc_widget}->set_text (CFClient::Item::desc_string $self); 322 can_events => 1,
323 can_hover => 1,
324 ellipsise => 2,
325 xalign => 0,
326 connect_button_down => $button_cb,
327 ;
328 my $desc = CFClient::Item::desc_string $self;
329 $self->{desc_widget}->set_text ($desc);
330 $self->{desc_widget}->set_tooltip ("<b>$desc</b>.\n$tooltip_std");
281 331
282 $self->{weight_widget} ||= new CFClient::UI::Label ellipsise => 0, can_events => 1, can_hover => 1, align => 0.5; 332 $self->{weight_widget} ||= new CFClient::UI::Label
333 can_events => 1,
334 can_hover => 1,
335 ellipsise => 0,
336 xalign => 0.5,
337 connect_button_down => $button_cb,
338 ;
283 $self->{weight_widget}->set_text (CFClient::Item::weight_string $self); 339 $self->{weight_widget}->set_text (CFClient::Item::weight_string $self);
284 340
285 $self->{weight_widget}->set_tooltip ( 341 $self->{weight_widget}->set_tooltip (
286 "<b>Weight</b>.\n" 342 "<b>Weight</b>.\n"
287 . ($self->{weight} >= 0 ? "One item weighs $self->{weight}g. " : "You have no idea how much this weighs. ") 343 . ($self->{weight} >= 0 ? "One item weighs $self->{weight}g. " : "You have no idea how much this weighs. ")

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines