seed r587 - in trunk: examples extensions
- From: hortont svn gnome org
- To: svn-commits-list gnome org
- Subject: seed r587 - in trunk: examples extensions
- Date: Wed, 31 Dec 2008 01:48:35 +0000 (UTC)
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]