ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/kgsueme/kgsueme/game.pl
(Generate patch)

Comparing kgsueme/kgsueme/game.pl (file contents):
Revision 1.64 by pcg, Sun Jun 22 20:47:12 2003 UTC vs.
Revision 1.69 by pcg, Tue Jul 22 21:24:50 2003 UTC

145 145
146 $self; 146 $self;
147} 147}
148 148
149sub configure { 149sub configure {
150 my ($self, $user, $rules) = @_; 150 my ($self, $app, $user, $rules) = @_;
151 151
152 if ($self->{name}->get_text ne $user->as_string) { 152 if ($self->{name}->get_text ne $user->as_string) {
153 $self->{name}->set_text ($user->as_string); 153 $self->{name}->set_text ($user->as_string);
154 154
155 $self->{imagebox}->remove ($_) for $self->{imagebox}->get_children; 155 $self->{imagebox}->remove ($_) for $self->{imagebox}->get_children;
156 $self->{imagebox}->add (gtk::image_from_data undef); 156 $self->{imagebox}->add (gtk::image_from_data undef);
157 $self->{imagebox}->show_all; 157 $self->{imagebox}->show_all;
158 158
159 if ($user->has_pic) { 159 if ($user->has_pic) {
160 # the big picture... 160 # the big picture...
161 appwin::userpic ($user->{name}, sub { 161 $app->userpic ($user->{name}, sub {
162 return unless $self->{imagebox}; 162 return unless $self->{imagebox};
163
163 if ($_[0]) { 164 if ($_[0]) {
164 $self->{imagebox}->remove ($_) for $self->{imagebox}->get_children; 165 $self->{imagebox}->remove ($_) for $self->{imagebox}->get_children;
165 $self->{imagebox}->add (gtk::image_from_data $_[0]); 166 $self->{imagebox}->add (gtk::image_from_data $_[0]);
166 $self->{imagebox}->show_all; 167 $self->{imagebox}->show_all;
167 } 168 }
227 # board box (aspect/canvas) 228 # board box (aspect/canvas)
228 229
229 $self->{boardbox}->pack_start((my $frame = new Gtk2::Frame), 0, 1, 0); 230 $self->{boardbox}->pack_start((my $frame = new Gtk2::Frame), 0, 1, 0);
230 231
231 { 232 {
232 $frame->add(my $vbox = new Gtk2::VBox); 233 $frame->add (my $vbox = new Gtk2::VBox);
233 $vbox->add($self->{title} = new Gtk2::Label $title); 234 $vbox->add ($self->{title} = new Gtk2::Label $title);
235
236 $vbox->add (my $hbox = new Gtk2::HBox);
237
238 $hbox->pack_start (($self->{board_label} = new Gtk2::Label), 0, 1, 0);
234 239
235 $self->{moveadj} = new Gtk2::Adjustment 1, 1, 1, 1, 5, 0; 240 $self->{moveadj} = new Gtk2::Adjustment 1, 1, 1, 1, 5, 0;
236 241
237 $vbox->add(my $scale = new Gtk2::HScale $self->{moveadj}); 242 $hbox->pack_start ((my $scale = new Gtk2::HScale $self->{moveadj}), 1, 1, 0);
238 $scale->set_draw_value (0); 243 $scale->set_draw_value (0);
239 $scale->set_digits (0); 244 $scale->set_digits (0);
240 245
241 $self->{moveadj}->signal_connect (value_changed => sub { $self->update_board }); 246 $self->{moveadj}->signal_connect (value_changed => sub { $self->update_board });
242 } 247 }
243 248
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}); 249 $self->{boardbox}->add ($self->{board} = new Gtk2::GoBoard size => $self->{size});
249 250
250 # RIGHT PANE 251 # RIGHT PANE
251 252
252 $self->{hpane}->pack2(($self->{vpane} = new Gtk2::VPaned), 1, 1); 253 $self->{hpane}->pack2(($self->{vpane} = new Gtk2::VPaned), 1, 1);
253 $self->{hpane}->set(position_set => 1); 254 $self->{hpane}->set(position_set => 1);
414 415
415sub event_update_game { 416sub event_update_game {
416 my ($self) = @_; 417 my ($self) = @_;
417 $self->SUPER::event_update_game; 418 $self->SUPER::event_update_game;
418 419
419 my $title = $self->{channel} ? $self->owner->as_string . " " . $self->opponent_string : "Game Window"; 420 my $title = defined $self->{channel}
421 ? $self->owner->as_string . " " . $self->opponent_string
422 : "Game Window";
420 $self->{window}->set_title("KGS Game $title"); 423 $self->{window}->set_title("KGS Game $title");
421 $self->{title}->set_text ($title); 424 $self->{title}->set_text ($title);
422 425
423 $self->{user}[BLACK] = $self->{user1}; 426 $self->{user}[BLACK] = $self->{user1};
424 $self->{user}[WHITE] = $self->{user2}; 427 $self->{user}[WHITE] = $self->{user2};
477} 480}
478 481
479sub event_update_rules { 482sub event_update_rules {
480 my ($self, $rules) = @_; 483 my ($self, $rules) = @_;
481 484
482 $self->{userpanel}[$_]->configure ($self->{user}[$_], $rules) 485 $self->{userpanel}[$_]->configure ($self->{app}, $self->{user}[$_], $rules)
483 for BLACK, WHITE; 486 for BLACK, WHITE;
484 487
485 sound::play 3, "gamestart"; 488 sound::play 3, "gamestart";
486 489
487 my $text = "\n<header>Game Rules</header>"; 490 my $text = "\n<header>Game Rules</header>";
525 . "\nBlack Score " . (util::toxml $msg->{blackscore}->as_string) 528 . "\nBlack Score " . (util::toxml $msg->{blackscore}->as_string)
526 . "</infoblock>" 529 . "</infoblock>"
527 ); 530 );
528} 531}
529 532
533sub event_challenge {
534 my ($self, $challenge) = @_;
535
536 use KGS::Listener::Debug;
537 $self->{text}->append_text ("\n".KGS::Listener::Debug::dumpval($challenge));
538}
539
530sub destroy { 540sub destroy {
531 my ($self) = @_; 541 my ($self) = @_;
532 $self->{userpanel}[$_] && (delete $self->{userpanel}[$_])->destroy 542 $self->{userpanel}[$_] && (delete $self->{userpanel}[$_])->destroy
533 for BLACK, WHITE; 543 for BLACK, WHITE;
534 $self->SUPER::destroy; 544 $self->SUPER::destroy;
535 delete $appwin::gamelist->{game}{$self->{channel}}; 545 delete $self->{app}{gamelist}{game}{$self->{channel}};
536} 546}
537 547
5381; 5481;
539 549

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines