seed r587 - in trunk: examples extensions



Author: hortont
Date: Wed Dec 31 01:48:35 2008
New Revision: 587
URL: http://svn.gnome.org/viewvc/seed?rev=587&view=rev

Log:
Updating examples, also fix threaded repl to new readline stuff.


Modified:
   trunk/examples/ls.js
   trunk/examples/n-oscillator.js
   trunk/examples/poppler.js
   trunk/examples/soup.js
   trunk/examples/threaded-repl.js
   trunk/extensions/Seed.js

Modified: trunk/examples/ls.js
==============================================================================
--- trunk/examples/ls.js	(original)
+++ trunk/examples/ls.js	Wed Dec 31 01:48:35 2008
@@ -1,17 +1,19 @@
 #!/usr/bin/env seed
+
 Seed.import_namespace("Gio");
 
 // Gio.File is an interface, not an actual instantiable class, so we can not
 // construct one with a "path" property. Instead it is necessary to use
 // Gio.file_new_for_path, etc...
+
 if (Seed.argv.length < 3)
-    file = Gio.file_new_for_path(".");
+	file = Gio.file_new_for_path(".");
 else
-    file = Gio.file_new_for_path(Seed.argv[2]);
+	file = Gio.file_new_for_path(Seed.argv[2]);
 
 enumerator = file.enumerate_children("standard::name,standard::size");
 
 while (child = enumerator.next_file())
 {
-    Seed.printf("%s\t%d",child.get_name(), child.get_size());
+	Seed.printf("%s\t%d",child.get_name(), child.get_size());
 }

Modified: trunk/examples/n-oscillator.js
==============================================================================
--- trunk/examples/n-oscillator.js	(original)
+++ trunk/examples/n-oscillator.js	Wed Dec 31 01:48:35 2008
@@ -71,15 +71,10 @@
 	volscale.signal.value_changed.connect(update_vol);
 }
 
-function end_program()
-{
-	Gtk.main_quit();
-}
-
 var window = new Gtk.Window();
 var button = new Gtk.Button({label: "Add Oscillator"});
 
-window.signal.hide.connect(end_program);
+window.signal.hide.connect(function () { Gtk.main_quit(); });
 window.resize(600,300);
 var hbox = new Gtk.HBox();
 

Modified: trunk/examples/poppler.js
==============================================================================
--- trunk/examples/poppler.js	(original)
+++ trunk/examples/poppler.js	Wed Dec 31 01:48:35 2008
@@ -1,4 +1,5 @@
 #!/usr/bin/env seed
+
 Seed.import_namespace("cairo");
 Seed.import_namespace("Gdk");
 Seed.import_namespace("Gtk");
@@ -14,115 +15,115 @@
 
 function draw_document()
 {
-    if (current_page != null)
-    {
-	    drawing_area.window.clear();
-        cairo = Gdk.cairo_create(drawing_area.window);
-        current_page.render(cairo);
-    }
-    
-    return true;
+	if (current_page != null)
+	{
+		drawing_area.window.clear();
+		cairo = Gdk.cairo_create(drawing_area.window);
+		current_page.render(cairo);
+	}
+	
+	return true;
 }
 
 function set_page(num)
 {
-    if(num >= num_pages)
-    {
-        set_page(num_pages - 1);
-        return;
-    }
-       
-    current_page = current_document.get_page(num);
-    draw_document();
-    
-    //Get rid of precision.
-    entry.text = Seed.sprintf("%d",num+1);
-    page_num = num;
-    
-    if (page_num == num_pages-1)
-	    next_button.sensitive = false;
-    else
-	    next_button.sensitive = true;
-    
-    if (page_num == 0)
-	    previous_button.sensitive = false;
-    else
-	    previous_button.sensitive = true;
+	if(num >= num_pages)
+	{
+		set_page(num_pages - 1);
+		return;
+	}
+	   
+	current_page = current_document.get_page(num);
+	draw_document();
+	
+	//Get rid of precision.
+	entry.text = Seed.sprintf("%d",num+1);
+	page_num = num;
+	
+	if (page_num == num_pages-1)
+		next_button.sensitive = false;
+	else
+		next_button.sensitive = true;
+	
+	if (page_num == 0)
+		previous_button.sensitive = false;
+	else
+		previous_button.sensitive = true;
 }
 
 function open_file(sv)
 {
-    var file_chooser = new Gtk.FileChooserDialog();
-    var file_filter = new Gtk.FileFilter();
-    file_filter.add_mime_type("application/x-pdf");
-    file_chooser.set_filter(file_filter);
-    file_chooser.add_button("Cancel", Gtk.ResponseType.Cancel);
-    file_chooser.add_button("Open", Gtk.ResponseType.Accept);
-    file_chooser.set_action(Gtk.FileChooserAction.Ppen);
-    
-    if(file_chooser.run() == Gtk.ResponseType.Accept)
-    {
-	    // Poppler.Document will not take a uri as a construction property,
-	    // use this:
-	    current_document = 
-	        Poppler.Document.new_from_file(file_chooser.get_uri());
-	    num_pages = current_document.get_n_pages();
-	    set_page(0);
-	    
-	    if(num_pages == 1)
-	        next_button.sensitive = previous_button.sensitive = false;
-	    
-	    page_label.label = " of " + num_pages;
-	    draw_document();
-	
-	    if (num_pages > 1)
-	        next_button.sensitive = true;
-    }
-    
-    file_chooser.destroy();
+	var file_chooser = new Gtk.FileChooserDialog();
+	var file_filter = new Gtk.FileFilter();
+	file_filter.add_mime_type("application/x-pdf");
+	file_chooser.set_filter(file_filter);
+	file_chooser.add_button("Cancel", Gtk.ResponseType.Cancel);
+	file_chooser.add_button("Open", Gtk.ResponseType.Accept);
+	file_chooser.set_action(Gtk.FileChooserAction.Ppen);
+	
+	if(file_chooser.run() == Gtk.ResponseType.Accept)
+	{
+		// Poppler.Document will not take a uri as a construction property,
+		// use this:
+		current_document = 
+			Poppler.Document.new_from_file(file_chooser.get_uri());
+		num_pages = current_document.get_n_pages();
+		set_page(0);
+		
+		if(num_pages == 1)
+			next_button.sensitive = previous_button.sensitive = false;
+		
+		page_label.label = " of " + num_pages;
+		draw_document();
+	
+		if (num_pages > 1)
+			next_button.sensitive = true;
+	}
+	
+	file_chooser.destroy();
 }
 
 function make_toolbar()
 {
-    var window = new Gtk.Window();
-    var toolbar = new Gtk.Toolbar();
-    var main_vbox = new Gtk.VBox();
-    
-    var open_button = new Gtk.ToolButton({stock_id:"gtk-open"});
-    previous_button = new Gtk.ToolButton({stock_id:"gtk-go-up"});
-    next_button = new Gtk.ToolButton({stock_id:"gtk-go-down"});
-    var entry_item = new Gtk.ToolItem();
-    entry = new Gtk.Entry({text:"0"});
-    entry_item.add(entry);
-    entry_item.width_request = 40;
-    entry.signal.activate.connect(function(){set_page(parseInt(entry.text, 10)-1)});
-    var label_item = new Gtk.ToolItem();
-    page_label = new Gtk.Label({label: " of 0"});
-    label_item.add(page_label);
-    
-    open_button.signal.clicked.connect(open_file);
-    next_button.signal.clicked.connect(
+	var window = new Gtk.Window();
+	var toolbar = new Gtk.Toolbar();
+	var main_vbox = new Gtk.VBox();
+	
+	var open_button = new Gtk.ToolButton({stock_id:"gtk-open"});
+	previous_button = new Gtk.ToolButton({stock_id:"gtk-go-up"});
+	next_button = new Gtk.ToolButton({stock_id:"gtk-go-down"});
+	var entry_item = new Gtk.ToolItem();
+	entry = new Gtk.Entry({text:"0"});
+	entry_item.add(entry);
+	entry_item.width_request = 40;
+	entry.signal.activate.connect(function(){set_page(parseInt(entry.text, 10)-1)});
+	var label_item = new Gtk.ToolItem();
+	page_label = new Gtk.Label({label: " of 0"});
+	label_item.add(page_label);
+	
+	open_button.signal.clicked.connect(open_file);
+	next_button.signal.clicked.connect(
 	function(button)
 	{
-	    set_page(page_num+1);
+		set_page(page_num+1);
 	});
-    previous_button.signal.clicked.connect(
+	previous_button.signal.clicked.connect(
 	function(button)
 	{
-	    set_page(page_num-1);
+		set_page(page_num-1);
 	});
-    next_button.sensitive = previous_button.sensitive = false;
-		    
-    
-    toolbar.insert(open_button,-1);
-    toolbar.insert(previous_button, -1);
-    toolbar.insert(next_button, -1);
-    toolbar.insert(new Gtk.SeparatorToolItem(), -1);
-    toolbar.insert(entry_item, -1);
-    toolbar.insert(label_item, -1);
-    toolbar.insert(new Gtk.SeparatorToolItem(), -1);
+	next_button.sensitive = previous_button.sensitive = false;
+			
+	
+	toolbar.insert(open_button,-1);
+	toolbar.insert(previous_button, -1);
+	toolbar.insert(next_button, -1);
+	toolbar.insert(new Gtk.SeparatorToolItem(), -1);
+	toolbar.insert(entry_item, -1);
+	toolbar.insert(label_item, -1);
+	toolbar.insert(new Gtk.SeparatorToolItem(), -1);
 	
-    return toolbar;
+	return toolbar;
 }
 
 var toolbar = make_toolbar();

Modified: trunk/examples/soup.js
==============================================================================
--- trunk/examples/soup.js	(original)
+++ trunk/examples/soup.js	Wed Dec 31 01:48:35 2008
@@ -1,11 +1,12 @@
 #!/usr/bin/env seed
+
 Seed.import_namespace("Soup");
 
-session = new Soup.SessionSync();
-uri = Soup.URI._new("http://www.google.com";);
-request = new Soup.Message({method:"GET",
-			    uri:uri});
-status = session.send_message(request);
+var session = new Soup.SessionSync();
+
+var uri = Soup.URI._new("http://www.google.com";);
+var request = new Soup.Message({method:"GET", uri:uri});
+
+var status = session.send_message(request);
 Seed.print(status);
-			    
 

Modified: trunk/examples/threaded-repl.js
==============================================================================
--- trunk/examples/threaded-repl.js	(original)
+++ trunk/examples/threaded-repl.js	Wed Dec 31 01:48:35 2008
@@ -1,10 +1,12 @@
 #!/usr/bin/env seed
+
 Seed.import_namespace("Gtk");
 Seed.import_namespace("GLib");
+
 Gtk.init(null, null);
 var w = new Gtk.Window();
 
 //Can interact with window at threaded repl.
 Seed.thread_repl();
 
-Gtk.main();
\ No newline at end of file
+Gtk.main();

Modified: trunk/extensions/Seed.js
==============================================================================
--- trunk/extensions/Seed.js	(original)
+++ trunk/extensions/Seed.js	Wed Dec 31 01:48:35 2008
@@ -606,7 +606,27 @@
 {
 	try
 	{
-		item = Seed.readline("> ");
+		if(readline)
+		{
+			// readline is loaded
+		}
+	}
+	catch (e)
+	{
+		try
+		{
+			Seed.import_namespace("readline");
+		}
+		catch (e)
+		{
+			Seed.print(e.name + " " + e.message);
+			return true;
+		}
+	}
+	
+	try
+	{
+		item = readline.readline("> ");
 		if (item == "continue")
 			return false;
 		Seed.print(eval(item));



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