… | |
… | |
227 | # board box (aspect/canvas) |
227 | # board box (aspect/canvas) |
228 | |
228 | |
229 | $self->{boardbox}->pack_start((my $frame = new Gtk2::Frame), 0, 1, 0); |
229 | $self->{boardbox}->pack_start((my $frame = new Gtk2::Frame), 0, 1, 0); |
230 | |
230 | |
231 | { |
231 | { |
232 | $frame->add(my $vbox = new Gtk2::VBox); |
232 | $frame->add (my $vbox = new Gtk2::VBox); |
233 | $vbox->add($self->{title} = new Gtk2::Label $title); |
233 | $vbox->add ($self->{title} = new Gtk2::Label $title); |
|
|
234 | |
|
|
235 | $vbox->add (my $hbox = new Gtk2::HBox); |
|
|
236 | |
|
|
237 | $hbox->pack_start (($self->{board_label} = new Gtk2::Label), 0, 1, 0); |
234 | |
238 | |
235 | $self->{moveadj} = new Gtk2::Adjustment 1, 1, 1, 1, 5, 0; |
239 | $self->{moveadj} = new Gtk2::Adjustment 1, 1, 1, 1, 5, 0; |
236 | |
240 | |
237 | $vbox->add(my $scale = new Gtk2::HScale $self->{moveadj}); |
241 | $hbox->pack_start ((my $scale = new Gtk2::HScale $self->{moveadj}), 1, 1, 0); |
238 | $scale->set_draw_value (0); |
242 | $scale->set_draw_value (0); |
239 | $scale->set_digits (0); |
243 | $scale->set_digits (0); |
240 | |
244 | |
241 | $self->{moveadj}->signal_connect (value_changed => sub { $self->update_board }); |
245 | $self->{moveadj}->signal_connect (value_changed => sub { $self->update_board }); |
242 | } |
246 | } |
243 | |
247 | |
244 | $self->{boardbox}->pack_start((my $aspect_frame = new Gtk2::AspectFrame "", 0.5, 0.5, 1, 0), 1, 1, 0); |
|
|
245 | $aspect_frame->set (border_width => 0, shadow_type => 'none', label_xalign => 0.5); |
|
|
246 | $self->{board_label} = $aspect_frame->get_label_widget; |
|
|
247 | |
|
|
248 | $aspect_frame->add($self->{board} = new board size => $self->{size}); |
248 | $self->{boardbox}->add ($self->{board} = new Gtk2::GoBoard size => $self->{size}); |
249 | |
249 | |
250 | # RIGHT PANE |
250 | # RIGHT PANE |
251 | |
251 | |
252 | $self->{hpane}->pack2(($self->{vpane} = new Gtk2::VPaned), 1, 1); |
252 | $self->{hpane}->pack2(($self->{vpane} = new Gtk2::VPaned), 1, 1); |
253 | $self->{hpane}->set(position_set => 1); |
253 | $self->{hpane}->set(position_set => 1); |
… | |
… | |
414 | |
414 | |
415 | sub event_update_game { |
415 | sub event_update_game { |
416 | my ($self) = @_; |
416 | my ($self) = @_; |
417 | $self->SUPER::event_update_game; |
417 | $self->SUPER::event_update_game; |
418 | |
418 | |
419 | my $title = $self->{channel} ? $self->owner->as_string . " " . $self->opponent_string : "Game Window"; |
419 | my $title = defined $self->{channel} |
|
|
420 | ? $self->owner->as_string . " " . $self->opponent_string |
|
|
421 | : "Game Window"; |
420 | $self->{window}->set_title("KGS Game $title"); |
422 | $self->{window}->set_title("KGS Game $title"); |
421 | $self->{title}->set_text ($title); |
423 | $self->{title}->set_text ($title); |
422 | |
424 | |
423 | $self->{user}[BLACK] = $self->{user1}; |
425 | $self->{user}[BLACK] = $self->{user1}; |
424 | $self->{user}[WHITE] = $self->{user2}; |
426 | $self->{user}[WHITE] = $self->{user2}; |
… | |
… | |
525 | . "\nBlack Score " . (util::toxml $msg->{blackscore}->as_string) |
527 | . "\nBlack Score " . (util::toxml $msg->{blackscore}->as_string) |
526 | . "</infoblock>" |
528 | . "</infoblock>" |
527 | ); |
529 | ); |
528 | } |
530 | } |
529 | |
531 | |
|
|
532 | sub event_challenge { |
|
|
533 | my ($self, $challenge) = @_; |
|
|
534 | |
|
|
535 | use KGS::Listener::Debug; |
|
|
536 | $self->{text}->append_text ("\n".KGS::Listener::Debug::dumpval($challenge)); |
|
|
537 | } |
|
|
538 | |
530 | sub destroy { |
539 | sub destroy { |
531 | my ($self) = @_; |
540 | my ($self) = @_; |
532 | $self->{userpanel}[$_] && (delete $self->{userpanel}[$_])->destroy |
541 | $self->{userpanel}[$_] && (delete $self->{userpanel}[$_])->destroy |
533 | for BLACK, WHITE; |
542 | for BLACK, WHITE; |
534 | $self->SUPER::destroy; |
543 | $self->SUPER::destroy; |