… | |
… | |
171 | . $_[1]->content->present ($_[0]) |
171 | . $_[1]->content->present ($_[0]) |
172 | } |
172 | } |
173 | |
173 | |
174 | sub view_verbatim { |
174 | sub view_verbatim { |
175 | (join "", |
175 | (join "", |
176 | map +("\t" x ($indent / 2)) . "$_\n", |
176 | map +("\t" x ($indent / 2)) . "<tt>$_</tt>\n", |
177 | split /\n/, CFClient::UI::Label::escape ($_[1])) |
177 | split /\n/, CFClient::UI::Label::escape ($_[1])) |
178 | . "\n" |
178 | . "\n" |
179 | } |
179 | } |
180 | |
180 | |
181 | sub view_textblock { |
181 | sub view_textblock { |
182 | ("\t" x ($indent / 2)) . "$_[1]\n\n" |
182 | ("\t" x ($indent / 2)) . "$_[1]\n\n" |
183 | } |
183 | } |
184 | |
184 | |
185 | sub view_head1 { |
185 | sub view_head1 { |
186 | "<span foreground='#ffff00' size='x-large'>" . $_[1]->title->present ($_[0]) . "</span>\n\n" |
186 | "\n\n<span foreground='#ffff00' size='x-large'>" . $_[1]->title->present ($_[0]) . "</span>\n\n" |
187 | . $_[1]->content->present ($_[0]) |
187 | . $_[1]->content->present ($_[0]) |
188 | }; |
188 | }; |
189 | |
189 | |
190 | sub view_head2 { |
190 | sub view_head2 { |
191 | "<span foreground='#ccccff' size='large'>" . $_[1]->title->present ($_[0]) . "</span>\n\n" |
191 | "\n<span foreground='#ccccff' size='large'>" . $_[1]->title->present ($_[0]) . "</span>\n\n" |
|
|
192 | . $_[1]->content->present ($_[0]) |
|
|
193 | }; |
|
|
194 | |
|
|
195 | sub view_head3 { |
|
|
196 | "\n<span size='large'>" . $_[1]->title->present ($_[0]) . "</span>\n\n" |
192 | . $_[1]->content->present ($_[0]) |
197 | . $_[1]->content->present ($_[0]) |
193 | }; |
198 | }; |
194 | |
199 | |
195 | sub view_over { |
200 | sub view_over { |
196 | local $indent = $indent + $_[1]->indent; |
201 | local $indent = $indent + $_[1]->indent; |
… | |
… | |
263 | |
268 | |
264 | if (($ev->{mod} & CFClient::KMOD_SHIFT) && $ev->{button} == 1) { |
269 | if (($ev->{mod} & CFClient::KMOD_SHIFT) && $ev->{button} == 1) { |
265 | my $targ = $::CONN->{player}{tag}; |
270 | my $targ = $::CONN->{player}{tag}; |
266 | |
271 | |
267 | if ($self->{container} == $::CONN->{player}{tag}) { |
272 | if ($self->{container} == $::CONN->{player}{tag}) { |
268 | $targ = $main::OPENCONT; |
273 | $targ = $::CONN->{open_container}; |
269 | } |
274 | } |
270 | |
275 | |
271 | $::CONN->send ("move $targ $self->{tag} 0"); |
276 | $::CONN->send ("move $targ $self->{tag} 0"); |
272 | } elsif ($ev->{button} == 1) { |
277 | } elsif ($ev->{button} == 1) { |
273 | $::CONN->send ("examine $self->{tag}"); |
278 | $::CONN->send ("examine $self->{tag}"); |
… | |
… | |
283 | ? ( |
288 | ? ( |
284 | ["unlock", sub { $::CONN->send ("lock " . pack "CN", 0, $self->{tag}) }], |
289 | ["unlock", sub { $::CONN->send ("lock " . pack "CN", 0, $self->{tag}) }], |
285 | ) |
290 | ) |
286 | : ( |
291 | : ( |
287 | ["lock", sub { $::CONN->send ("lock " . pack "CN", 1, $self->{tag}) }], |
292 | ["lock", sub { $::CONN->send ("lock " . pack "CN", 1, $self->{tag}) }], |
288 | ["drop", sub { $::CONN->send ("move $main::OPENCONT $self->{tag} 0") }], |
293 | ["drop", sub { $::CONN->send ("move $::CONN->{open_container} $self->{tag} 0") }], |
289 | ) |
294 | ) |
290 | ), |
295 | ), |
291 | ); |
296 | ); |
292 | |
297 | |
293 | CFClient::UI::Menu->new (items => \@menu_items)->popup ($ev); |
298 | CFClient::UI::Menu->new (items => \@menu_items)->popup ($ev); |
… | |
… | |
304 | . "</small>\n"; |
309 | . "</small>\n"; |
305 | |
310 | |
306 | $self->{face_widget} ||= new CFClient::UI::Face |
311 | $self->{face_widget} ||= new CFClient::UI::Face |
307 | can_events => 1, |
312 | can_events => 1, |
308 | can_hover => 1, |
313 | can_hover => 1, |
|
|
314 | anim => $self->{anim}, |
|
|
315 | animspeed => $self->{animspeed}, # TODO# must be set at creation time |
309 | connect_button_down => $button_cb, |
316 | connect_button_down => $button_cb, |
310 | ; |
317 | ; |
311 | $self->{face_widget}{face} = $self->{face}; |
318 | $self->{face_widget}{face} = $self->{face}; |
312 | $self->{face_widget}{anim} = $self->{anim}; |
319 | $self->{face_widget}{anim} = $self->{anim}; |
313 | $self->{face_widget}{animspeed} = $self->{animespeed}; |
320 | $self->{face_widget}{animspeed} = $self->{animspeed}; |
314 | $self->{face_widget}->set_tooltip ( |
321 | $self->{face_widget}->set_tooltip ( |
315 | "<b>Face/Animation.</b>\n" |
322 | "<b>Face/Animation.</b>\n" |
316 | . "Item uses face #$self->{face}. " |
323 | . "Item uses face #$self->{face}. " |
317 | . ($self->{animspeed} ? "Item uses animation #$self->{anim} at " . (1 / $self->{animspeed}) . "fps. " : "Item is not animated. ") |
324 | . ($self->{animspeed} ? "Item uses animation #$self->{anim} at " . (1 / $self->{animspeed}) . "fps. " : "Item is not animated. ") |
318 | . "\n\n$tooltip_std" |
325 | . "\n\n$tooltip_std" |
… | |
… | |
320 | |
327 | |
321 | $self->{desc_widget} ||= new CFClient::UI::Label |
328 | $self->{desc_widget} ||= new CFClient::UI::Label |
322 | can_events => 1, |
329 | can_events => 1, |
323 | can_hover => 1, |
330 | can_hover => 1, |
324 | ellipsise => 2, |
331 | ellipsise => 2, |
325 | xalign => 0, |
332 | align => -1, |
326 | connect_button_down => $button_cb, |
333 | connect_button_down => $button_cb, |
327 | ; |
334 | ; |
328 | my $desc = CFClient::Item::desc_string $self; |
335 | my $desc = CFClient::Item::desc_string $self; |
329 | $self->{desc_widget}->set_text ($desc); |
336 | $self->{desc_widget}->set_text ($desc); |
330 | $self->{desc_widget}->set_tooltip ("<b>$desc</b>.\n$tooltip_std"); |
337 | $self->{desc_widget}->set_tooltip ("<b>$desc</b>.\n$tooltip_std"); |
331 | |
338 | |
332 | $self->{weight_widget} ||= new CFClient::UI::Label |
339 | $self->{weight_widget} ||= new CFClient::UI::Label |
333 | can_events => 1, |
340 | can_events => 1, |
334 | can_hover => 1, |
341 | can_hover => 1, |
335 | ellipsise => 0, |
342 | ellipsise => 0, |
336 | xalign => 0.5, |
343 | align => 0, |
337 | connect_button_down => $button_cb, |
344 | connect_button_down => $button_cb, |
338 | ; |
345 | ; |
339 | $self->{weight_widget}->set_text (CFClient::Item::weight_string $self); |
346 | $self->{weight_widget}->set_text (CFClient::Item::weight_string $self); |
340 | |
347 | |
341 | $self->{weight_widget}->set_tooltip ( |
348 | $self->{weight_widget}->set_tooltip ( |