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.30 by pcg, Sun Jun 1 20:12:13 2003 UTC vs.
Revision 1.31 by pcg, Mon Jun 2 12:39:20 2003 UTC

204 }); 204 });
205 205
206 $self->{window}->add($self->{hpane} = new Gtk2::HPaned); 206 $self->{window}->add($self->{hpane} = new Gtk2::HPaned);
207 gtk::state $self->{hpane}, "game::hpane", undef, position => 500; 207 gtk::state $self->{hpane}, "game::hpane", undef, position => 500;
208 208
209 $self->{hpane}->pack1(($self->{left} = new Gtk2::VBox), 1, 1);
210
211 $self->{boardbox} = new Gtk2::VBox;
212
209 $self->{hpane}->pack1((my $vbox = new Gtk2::VBox), 1, 1); 213 $self->{hpane}->pack1((my $vbox = new Gtk2::VBox), 1, 1);
210 214
215 # challenge
216
217 $self->{challenge} = new challenge channel => $self->{channel};
218
219 # board box (aspect/canvas)
220
211 $vbox->pack_start((my $frame = new Gtk2::Frame), 0, 1, 0); 221 $self->{boardbox}->pack_start((my $frame = new Gtk2::Frame), 0, 1, 0);
212 222
213 { 223 {
214 $frame->add(my $vbox = new Gtk2::VBox); 224 $frame->add(my $vbox = new Gtk2::VBox);
215 $vbox->add($self->{title} = new Gtk2::Label $title); 225 $vbox->add($self->{title} = new Gtk2::Label $title);
216 226
220 $scale->set_draw_value (0); 230 $scale->set_draw_value (0);
221 $scale->set_digits (0); 231 $scale->set_digits (0);
222 232
223 $self->{moveadj}->signal_connect (value_changed => sub { $self->update_board }); 233 $self->{moveadj}->signal_connect (value_changed => sub { $self->update_board });
224 } 234 }
225 235
226 $vbox->pack_start((my $aspect_frame = new Gtk2::AspectFrame "", 0.5, 0.5, 1, 0), 1, 1, 0); 236 $self->{boardbox}->pack_start((my $aspect_frame = new Gtk2::AspectFrame "", 0.5, 0.5, 1, 0), 1, 1, 0);
227 $aspect_frame->set (border_width => 0, shadow_type => 'none', label_xalign => 0.5); 237 $aspect_frame->set (border_width => 0, shadow_type => 'none', label_xalign => 0.5);
228 $self->{board_label} = $aspect_frame->get_label_widget; 238 $self->{board_label} = $aspect_frame->get_label_widget;
229 239
230 $aspect_frame->add($self->{canvas} = new Gtk2::DrawingArea); 240 $aspect_frame->add($self->{canvas} = new Gtk2::DrawingArea);
231 $self->{canvas}->double_buffered (0) if $::config->{conserve_memory}; 241 $self->{canvas}->double_buffered (0) if $::config->{conserve_memory};
257 my $text = $self->{entry}->get_text; 267 my $text = $self->{entry}->get_text;
258 $self->say($text) if $text =~ /\S/; 268 $self->say($text) if $text =~ /\S/;
259 $self->{entry}->set_text(""); 269 $self->{entry}->set_text("");
260 }); 270 });
261 271
272 $self->event_update_game;
262 $self; 273 $self;
263} 274}
264 275
265sub event_update_users { 276sub event_update_users {
266 my ($self, $add, $update, $remove) = @_; 277 my ($self, $add, $update, $remove) = @_;
692 } 703 }
693 704
694 $self->{text}->append_text ($text); 705 $self->{text}->append_text ($text);
695} 706}
696 707
708sub event_join {
709 my ($self) = @_;
710 $self->SUPER::event_join;
711}
712
697sub event_part { 713sub event_part {
698 my ($self) = @_; 714 my ($self) = @_;
699 $self->SUPER::event_part; 715 $self->SUPER::event_part;
700} 716}
701 717
705} 721}
706 722
707sub event_update_game { 723sub event_update_game {
708 my ($self) = @_; 724 my ($self) = @_;
709 $self->SUPER::event_update_game; 725 $self->SUPER::event_update_game;
710 warn "UPDATE GAME";#d# 726 warn "GAME UPDATE ".join (":", %$self);
727 warn "SAVED ".$self->is_saved;
728 warn "SCORED ".$self->is_scored;
729 warn "ADJ ".$self->is_adjourned;
730 warn "VALID ".$self->is_valid;
731 warn "MOVES ".$self->moves;
732 warn "TYPE ".$self->type;
733
734 $self->{left}->remove ($_) for $self->{left}->get_children;
735 if ($self->is_valid) {
736 $self->{left}->add ($self->{boardbox});
737 (delete $self->{challenge})->destroy if $self->{challenge};
738 } else {
739 $self->{left}->add ($self->{challenge});
740 }
741 $self->{left}->show_all;
711} 742}
712 743
713sub destroy { 744sub destroy {
714 my ($self) = @_; 745 my ($self) = @_;
715 (delete $self->{userpanel}[WHITE])->destroy if $self->{userpanel}[WHITE]; 746 (delete $self->{userpanel}[WHITE])->destroy if $self->{userpanel}[WHITE];

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines