[seed] Same Seed: Use GtkBuilder to create the interface



commit 091fab2d419e78b349fb2884aedb5da8fb809a15
Author: Tim Horton <hortont svn gnome org>
Date:   Sat May 9 18:59:41 2009 -0400

    Same Seed: Use GtkBuilder to create the interface
    
    Still need to get libgames-support working, but this is a start. Also, we get a segfault after clicking "new game" twice in what looks like a memory-related WebKit function (something for Robb to take a peek at, hopefully).
---
 examples/same-seed/board.js |   10 ++++------
 examples/same-seed/main.js  |   36 +++++++++++++++++-------------------
 2 files changed, 21 insertions(+), 25 deletions(-)

diff --git a/examples/same-seed/board.js b/examples/same-seed/board.js
index 6914a1e..f739102 100644
--- a/examples/same-seed/board.js
+++ b/examples/same-seed/board.js
@@ -298,10 +298,10 @@ Board = new GType({
 		
 		this.new_game = function ()
 		{
-			var children = this.get_children();
+			var children = board.get_children();
 			
 			for(var i in children)
-				this.remove_actor(children[i]);
+				board.remove_actor(children[i]);
 			
 			if(final_score)
 				final_score.hide_score();
@@ -320,8 +320,8 @@ Board = new GType({
 				
 					li.set_position(x * tile_size + offset,
 									(tiles_h - y - 1) * tile_size + offset);
-					this.add_actor(li);
-					li.on.signal.button_release_event.connect(this.remove_region);
+					board.add_actor(li);
+					li.on.signal.button_release_event.connect(board.remove_region);
 				
 					lights[x][y] = li;
 					all_lights.push(lights[x][y]);
@@ -330,8 +330,6 @@ Board = new GType({
 		};
 		
 		// Implementation
-		this.new_game();
-		
 		this.signal.motion_event.connect(enter_tile);
 		this.reactive = true;
 	}
diff --git a/examples/same-seed/main.js b/examples/same-seed/main.js
index f22e295..4e77a2b 100755
--- a/examples/same-seed/main.js
+++ b/examples/same-seed/main.js
@@ -11,17 +11,19 @@ var max_colors = 3;
 var fly_score = true;
 
 imports.gi.versions.Clutter = "0.9";
-//imports.gi.versions.GtkClutter = "0.9";
+imports.gi.versions.GtkClutter = "0.9";
 
 Gtk = imports.gi.Gtk;
 Clutter = imports.gi.Clutter;
-//GtkClutter = imports.gi.GtkClutter;
+GtkClutter = imports.gi.GtkClutter;
 GdkPixbuf = imports.gi.GdkPixbuf;
 GConf = imports.gi.GConf;
 GLib = imports.gi.GLib;
 Pango = imports.gi.Pango;
 GObject = imports.gi.GObject;
 
+Gtk.init(null, null);
+GtkClutter.init(null, null);
 Clutter.init(null, null);
 GConf.init(null, null);
 
@@ -32,18 +34,14 @@ Seed.include("score.js");
 var score = 0;
 var timelines = [];
 
-//var gb = new Gtk.Builder();
-//gb.add_from_file("same-seed.ui");
+var gb = new Gtk.Builder();
+gb.add_from_file("same-seed.ui");
 
-//var window = new Gtk.Window
+var window = gb.get_object("main_window");
+var clutter = gb.get_object("clutter");
+var stage = clutter.get_stage();
 
-var stage = new Clutter.Stage();
-
-//var window = gb.get_object("main_window");
-//var clutter = gb.get_object("clutter");
-//var stage = clutter.get_stage();
-
-//window.signal.hide.connect(Gtk.main_quit);
+window.signal.hide.connect(Gtk.main_quit);
 
 stage.color = {alpha: 0};
 stage.set_size((tiles_w * tile_size),(tiles_h * tile_size));
@@ -51,13 +49,13 @@ stage.set_size((tiles_w * tile_size),(tiles_h * tile_size));
 var board = new Board();
 stage.add_actor(board);
 
-//gb.get_object("new_game_item").signal.activate.connect(board.new_game);
-//gb.get_object("quit_item").signal.activate.connect(Gtk.main_quit);
+gb.get_object("new_game_item").signal.activate.connect(board.new_game);
+gb.get_object("quit_item").signal.activate.connect(Gtk.main_quit);
+
+clutter.set_size_request(stage.width, stage.height);
+window.show_all();
 
-//clutter.set_size_request(stage.width, stage.height);
-//window.show_all();
-stage.show_all();
+board.new_game();
 
-//Gtk.main();
-Clutter.main();
+Gtk.main();
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]