seed r463 - in trunk: examples extensions



Author: racarr
Date: Sun Dec 14 23:04:56 2008
New Revision: 463
URL: http://svn.gnome.org/viewvc/seed?rev=463&view=rev

Log:
Add Seed.repl, which just launches a repl and returns false if continue
is entered. Then add Seed.glib_repl which does GLib.idle_add(Seed.repl)
so you get a repl which doesn't halt the GLib main loop.

Modified:
   trunk/examples/accelgroup.js
   trunk/extensions/Seed.js

Modified: trunk/examples/accelgroup.js
==============================================================================
--- trunk/examples/accelgroup.js	(original)
+++ trunk/examples/accelgroup.js	Sun Dec 14 23:04:56 2008
@@ -1,6 +1,7 @@
 #!/usr/bin/env seed
 Seed.import_namespace("Gtk")
 Seed.import_namespace("Gdk");
+Seed.import_namespace("GLib");
 
 with (Gtk)
 {
@@ -13,7 +14,7 @@
 				  0, 
 				  function()
 				  {
-					  main_quit()
+					Seed.quit();
 				  });
 	w.add_accel_group(group);
 	

Modified: trunk/extensions/Seed.js
==============================================================================
--- trunk/extensions/Seed.js	(original)
+++ trunk/extensions/Seed.js	Sun Dec 14 23:04:56 2008
@@ -602,5 +602,27 @@
     }
 })();
 
+Seed.repl = function()
+{
+	try
+	{
+		item = Seed.readline("> ");
+		if (item == "continue")
+			return false;
+		Seed.print(eval(item));
+	}
+	catch (e)
+	{
+		Seed.print(e.name + " " + e.message);
+	}
+	return true;
+}
+
+
+Seed.glib_repl = function()
+{
+	GLib.idle_add(Seed.repl, null);
+}
+
 Seed.printf = function () { Seed.print(Seed.sprintf.apply(this, arguments)) };
 



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