seed r166 - in trunk/examples/ide: . legacy
- From: hortont svn gnome org
- To: svn-commits-list gnome org
- Subject: seed r166 - in trunk/examples/ide: . legacy
- Date: Fri, 7 Nov 2008 18:58:14 +0000 (UTC)
Author: hortont
Date: Fri Nov 7 18:58:14 2008
New Revision: 166
URL: http://svn.gnome.org/viewvc/seed?rev=166&view=rev
Log:
Started new IDE (from scratch, more or less), with Robb's new GType inheritance code. Cool stuff!
Added:
trunk/examples/ide/ide-actions.js
trunk/examples/ide/ide-sourceview.js
trunk/examples/ide/ide-tab.js
trunk/examples/ide/ide-tabheader.js
trunk/examples/ide/ide-tabview.js
trunk/examples/ide/ide-toolbar.js
trunk/examples/ide/legacy/
trunk/examples/ide/legacy/ide.js (contents, props changed)
trunk/examples/ide/legacy/tabview.js
trunk/examples/ide/legacy/toolbar.js
trunk/examples/ide/main.js (contents, props changed)
Removed:
trunk/examples/ide/ide.js
trunk/examples/ide/tabview.js
trunk/examples/ide/toolbar.js
Added: trunk/examples/ide/ide-actions.js
==============================================================================
--- (empty file)
+++ trunk/examples/ide/ide-actions.js Fri Nov 7 18:58:14 2008
@@ -0,0 +1,70 @@
+function new_file()
+{
+ tab_view.create_tab("");
+}
+
+function open_file()
+{
+}
+
+function save_file()
+{
+}
+
+function undo()
+{
+}
+
+function redo()
+{
+}
+
+function execute()
+{
+}
+
+function init_ide_actions()
+{
+ actions = new Gtk.ActionGroup({name:"toolbar"});
+
+ accels = new Gtk.AccelGroup();
+ window.add_accel_group(accels);
+
+ var new_action = new Gtk.Action({name:"new", label:"New",
+ tooltip:"New File", stock_id:"gtk-new"});
+ new_action.set_accel_group(accels);
+ actions.add_action_with_accel(new_action);
+ new_action.connect_accelerator();
+ new_action.signal.activate.connect(new_file);
+
+ var open_action = new Gtk.Action({name:"open", label:"Open",
+ tooltip:"Open File", stock_id:"gtk-open"});
+ open_action.set_accel_group(accels);
+ actions.add_action_with_accel(open_action);
+ open_action.connect_accelerator();
+ open_action.signal.activate.connect(open_file);
+
+ var save_action = new Gtk.Action({name:"save", label:"Save",
+ tooltip:"Save File", stock_id:"gtk-save"});
+ save_action.set_accel_group(accels);
+ actions.add_action_with_accel(save_action);
+ save_action.connect_accelerator();
+ save_action.signal.activate.connect(save_file);
+
+ var undo_action = new Gtk.Action({name:"undo", label:"Undo",
+ tooltip:"Undo", stock_id:"gtk-undo"});
+ actions.add_action_with_accel(undo_action);
+ undo_action.signal.activate.connect(undo);
+
+ var redo_action = new Gtk.Action({name:"redo", label:"Redo",
+ tooltip:"Redo", stock_id:"gtk-redo"});
+ actions.add_action_with_accel(redo_action);
+ redo_action.signal.activate.connect(redo);
+
+ var execute_action = new Gtk.Action({name:"execute", label:"Execute",
+ tooltip:"Execute File", stock_id:"gtk-execute"});
+ execute_action.set_accel_group(accels);
+ actions.add_action_with_accel(execute_action, "<Control>r");
+ execute_action.connect_accelerator();
+ execute_action.signal.activate.connect(execute);
+}
Added: trunk/examples/ide/ide-sourceview.js
==============================================================================
--- (empty file)
+++ trunk/examples/ide/ide-sourceview.js Fri Nov 7 18:58:14 2008
@@ -0,0 +1,65 @@
+IDESourceViewType = {
+ parent: GtkSource.SourceView,
+ name: "IDESourceView",
+ class_init: function(klass, prototype)
+ {
+ prototype.update_filename = function(new_filename, tab)
+ {
+ this.filename = new_filename;
+
+ var shortfilename = new_filename.split("/").slice(-1);
+
+ if(this.filename != "")
+ tab.header.label.label = shortfilename;
+ else
+ tab.header.label.label = "Untitled";
+ }
+
+ prototype.load_file = function(new_filename, tab)
+ {
+ this.update_filename(new_filename, tab);
+
+ // update the window!
+
+ if(this.filename == "")
+ return;
+
+ var buf = this.get_buffer();
+
+ buf.begin_not_undoable_action();
+ buf.text = Gio.simple_read(this.filename);
+ buf.end_not_undoable_action();
+ }
+ },
+ instance_init: function(klass)
+ {
+ this.filename = "";
+
+ this.set_show_line_numbers(true);
+ this.set_show_right_margin(true);
+ this.set_highlight_current_line(true);
+ this.set_right_margin_position(80);
+ this.set_show_line_marks(true);
+ this.set_auto_indent(true);
+ this.set_indent_width(4);
+
+ this.modify_font(Pango.font_description_from_string("monospace 10"));
+
+ //var epb = new Gtk.Image({"file": "./exception.svg"});
+ //this.source_view.set_mark_category_pixbuf("exception", epb.pixbuf);
+
+ var lang_manager = new GtkSource.SourceLanguageManager();
+ var js_lang = lang_manager.get_language("js");
+
+ var buf = new GtkSource.SourceBuffer({language: js_lang});
+
+ this.set_buffer(buf);
+
+ var gconf_client = GConf.client_get_default();
+ var source_style_mgr = GtkSource.style_scheme_manager_get_default();
+ var gedit_style = gconf_client.get_string("/apps/gedit-2/preferences/editor/colors/scheme");
+ var source_style = source_style_mgr.get_scheme(gedit_style);
+ buf.style_scheme = source_style;
+ }};
+
+IDESourceView = new GType(IDESourceViewType);
Added: trunk/examples/ide/ide-tab.js
==============================================================================
--- (empty file)
+++ trunk/examples/ide/ide-tab.js Fri Nov 7 18:58:14 2008
@@ -0,0 +1,34 @@
+IDETabType = {
+ parent: Gtk.VBox,
+ name: "IDETab",
+ class_init: function(klass, prototype)
+ {
+ prototype.create_frame = function (child)
+ {
+ var scroll = new Gtk.ScrolledWindow({
+ vscrollbar_policy: Gtk.PolicyType.automatic,
+ hscrollbar_policy: Gtk.PolicyType.automatic});
+ scroll.add(child);
+
+ var frame = new Gtk.Frame();
+ frame.set_shadow_type(1);
+ frame.add(scroll);
+
+ return frame;
+ }
+ },
+ instance_init: function(klass)
+ {
+ this.source_view = new IDESourceView();
+ this.terminal = new Vte.Terminal();
+ this.pane = new Gtk.VPaned();
+
+ this.pane.add1(this.create_frame(this.source_view));
+ this.pane.add2(this.create_frame(this.terminal));
+
+ this.pane.set_position(700 * (2/3));
+
+ this.pack_start(this.pane, true, true);
+ }};
+
+IDETab = new GType(IDETabType);
Added: trunk/examples/ide/ide-tabheader.js
==============================================================================
--- (empty file)
+++ trunk/examples/ide/ide-tabheader.js Fri Nov 7 18:58:14 2008
@@ -0,0 +1,23 @@
+IDETabHeaderType = {
+ parent: Gtk.HBox,
+ name: "IDETabHeader",
+ class_init: function(klass, prototype)
+ {
+ },
+ instance_init: function(klass)
+ {
+ this.close_button = new Gtk.Button();
+ this.close_button.set_image(new Gtk.Image({stock: "gtk-close",
+ icon_size: Gtk.IconSize.menu}));
+ //this.close_button.signal.clicked.connect(close_tab, tab);
+ this.close_button.set_relief(Gtk.ReliefStyle.none);
+
+ this.label = new Gtk.Label();
+
+ this.pack_start(this.label);
+ this.pack_start(this.close_button);
+ this.show_all();
+ }};
+
+IDETabHeader = new GType(IDETabHeaderType);
+
Added: trunk/examples/ide/ide-tabview.js
==============================================================================
--- (empty file)
+++ trunk/examples/ide/ide-tabview.js Fri Nov 7 18:58:14 2008
@@ -0,0 +1,33 @@
+IDETabViewType = {
+ parent: Gtk.Notebook,
+ name: "IDETabView",
+ class_init: function(klass, prototype)
+ {
+ prototype.create_tab = function (filename)
+ {
+ var tab = new IDETab();
+
+ tab.header = new IDETabHeader();
+ tab.source_view.load_file(filename, tab);
+
+ this.append_page(tab, tab.header);
+ this.set_tab_reorderable(tab, true);
+ this.show_all();
+
+ this.page = this.get_n_pages() - 1;
+
+ this.update_page(this, null, this.page);
+ }
+
+ prototype.update_page = function (notebook, page, n)
+ {
+ update_window(notebook.get_nth_page(n).source_view.filename);
+ }
+ },
+ instance_init: function(klass)
+ {
+ this.signal.switch_page.connect(this.update_page);
+ }};
+
+IDETabView = new GType(IDETabViewType);
+
Added: trunk/examples/ide/ide-toolbar.js
==============================================================================
--- (empty file)
+++ trunk/examples/ide/ide-toolbar.js Fri Nov 7 18:58:14 2008
@@ -0,0 +1,27 @@
+IDEToolbarType = {
+ parent: Gtk.Toolbar,
+ name: "IDEToolbar",
+ class_init: function(klass, prototype)
+ {
+ },
+ instance_init: function(klass)
+ {
+ this.new_button = actions.get_action("new").create_tool_item();
+ this.open_button = actions.get_action("open").create_tool_item();
+ this.save_button = actions.get_action("save").create_tool_item();
+ this.undo_button = actions.get_action("undo").create_tool_item();
+ this.redo_button = actions.get_action("redo").create_tool_item();
+ this.execute_button = actions.get_action("execute").create_tool_item();
+
+ this.insert(this.new_button, -1);
+ this.insert(this.open_button, -1);
+ this.insert(this.save_button, -1);
+ this.insert(new Gtk.SeparatorToolItem(), -1);
+ this.insert(this.undo_button, -1);
+ this.insert(this.redo_button, -1);
+ this.insert(new Gtk.SeparatorToolItem(), -1);
+ this.insert(this.execute_button, -1);
+ }};
+
+IDEToolbar = new GType(IDEToolbarType);
+
Added: trunk/examples/ide/legacy/ide.js
==============================================================================
--- (empty file)
+++ trunk/examples/ide/legacy/ide.js Fri Nov 7 18:58:14 2008
@@ -0,0 +1,155 @@
+#!/usr/local/bin/seed
+
+Seed.import_namespace("Vte");
+Seed.import_namespace("Gtk");
+Seed.import_namespace("GtkSource");
+Seed.import_namespace("Gio");
+Seed.import_namespace("Pango");
+Seed.import_namespace("GConf");
+Seed.import_namespace("Gdk");
+
+Gtk.init(null, null);
+GConf.init(null, null);
+
+Seed.include("toolbar.js");
+Seed.include("tabview.js");
+
+var itr = Gtk.TextIter._new();
+
+function exception_clear(sbuf)
+{
+ var begin = Gtk.TextIter._new();
+ var end = Gtk.TextIter._new();
+
+ sbuf.get_start_iter(begin);
+ sbuf.get_end_iter(end);
+
+ sbuf.remove_source_marks(begin, end, "exception");
+}
+
+function exception_line(sbuf, e)
+{
+ var itr = Gtk.TextIter._new();
+
+ sbuf.get_iter_at_line(itr, e.line - 1);
+
+ exception_clear(sbuf);
+
+ sbuf.create_source_mark("error!!", "exception", itr);
+}
+
+function text_changed(sbuf)
+{
+ sbuf.update_undo_state(this);
+
+ var text = sbuf.text.replace(new RegExp("#!.*"), "");
+
+ try
+ {
+ Seed.check_syntax(text);
+ }
+ catch(e)
+ {
+ exception_line(sbuf, e);
+ return;
+ }
+
+ exception_clear(sbuf);
+}
+
+function update_window(new_filename)
+{
+ var shortfilename = new_filename.split("/").slice(-1);
+
+ if(new_filename != "")
+ window.title = "Seed IDE - " + shortfilename;
+ else
+ window.title = "Seed IDE";
+}
+
+function update_filename(new_filename, tab)
+{
+ tab.filename = new_filename;
+
+ update_window(new_filename);
+
+ var shortfilename = new_filename.split("/").slice(-1);
+
+ if(tab.filename != "")
+ tab.tab_header.tab_label.label = shortfilename;
+ else
+ tab.tab_header.tab_label.label = "Untitled";
+
+}
+
+function ide_source_view()
+{
+ var source_lang_mgr = new GtkSource.SourceLanguageManager();
+ var js_lang = source_lang_mgr.get_language("js");
+ var client = GConf.client_get_default();
+
+ this.source_buf = new GtkSource.SourceBuffer({language: js_lang});
+
+ Seed.prototype(GtkSource.SourceBuffer).load_file_data = function(new_filename, tab)
+ {
+ update_filename(new_filename, tab);
+
+ var file = Gio.file_new_for_path(tab.filename);
+
+ this.begin_not_undoable_action();
+ this.text = file.read().get_contents();
+ this.end_not_undoable_action();
+ }
+
+ Seed.prototype(GtkSource.SourceBuffer).update_undo_state = function(tbar)
+ {
+ tbar.undo_button.sensitive = this.can_undo;
+ tbar.redo_button.sensitive = this.can_redo;
+ }
+
+ var epb = new Gtk.Image({"file": "./exception.svg"});
+
+ this.source_view = GtkSource.SourceView.new_with_buffer(this.source_buf);
+ this.source_view.set_show_line_numbers(true);
+ this.source_view.set_show_right_margin(true);
+ this.source_view.set_highlight_current_line(true);
+ this.source_view.set_right_margin_position(80);
+ this.source_view.set_mark_category_pixbuf("exception", epb.pixbuf);
+ this.source_view.set_show_line_marks(true);
+ this.source_view.set_auto_indent(true);
+ this.source_view.set_indent_width(4);
+
+ this.source_view.modify_font(Pango.font_description_from_string("monospace 10"));
+
+ var source_style_mgr = GtkSource.style_scheme_manager_get_default();
+ var gedit_style = client.get_string("/apps/gedit-2/preferences/editor/colors/scheme");
+ var source_style = source_style_mgr.get_scheme(gedit_style);
+
+ this.source_buf.style_scheme = source_style;
+}
+
+function create_frame(child)
+{
+ var scroll = new Gtk.ScrolledWindow({vscrollbar_policy: Gtk.PolicyType.automatic, hscrollbar_policy: Gtk.PolicyType.automatic});
+ scroll.add(child);
+
+ var frame = new Gtk.Frame();
+ frame.set_shadow_type(1); // fricking enums don't work.
+ frame.add(scroll);
+
+ return frame;
+}
+
+function ide_init()
+{
+ window = new Gtk.Window();
+ window.resize(600, 600);
+ window.signal.hide.connect(Gtk.main_quit);
+ ui = new ide_ui();
+ window.add(tabs);
+ window.show_all();
+
+ Gtk.main();
+}
+
+ide_init();
Added: trunk/examples/ide/legacy/tabview.js
==============================================================================
--- (empty file)
+++ trunk/examples/ide/legacy/tabview.js Fri Nov 7 18:58:14 2008
@@ -0,0 +1,77 @@
+function close_tab(button)
+{
+ if(tabs.get_n_pages() > 1)
+ {
+ tabs.remove_page(tabs.page_num(this));
+ }
+ else
+ {
+ tabs.remove_page(tabs.page_num(this));
+ new ide_tab("");
+ }
+}
+
+function tab_header(nm, tab)
+{
+ var close_button = new Gtk.Button();
+ close_button.set_image(new Gtk.Image({stock: "gtk-close", icon_size: Gtk.IconSize.menu}));
+ close_button.signal.clicked.connect(close_tab, tab);
+ close_button.set_relief(Gtk.ReliefStyle.none);
+
+ this.tab_label = new Gtk.Label({label:nm});
+
+ this.tab_header = new Gtk.HBox();
+ this.tab_header.pack_start(this.tab_label);
+ this.tab_header.pack_start(close_button);
+ this.tab_header.show_all();
+}
+
+function ide_tab(fn)
+{
+ this.source_view = new ide_source_view();
+ this.terminal = new Vte.Terminal();
+ this.toolbar = new ide_toolbar(this);
+ this.pane = new Gtk.VPaned();
+
+ this.pane.add1(create_frame(this.source_view.source_view));
+ this.pane.add2(create_frame(this.terminal));
+
+ this.pane.set_position(600 * (2/3));
+
+ this.source_view.source_buf.signal.changed.connect(text_changed, this.toolbar);
+ this.source_view.source_buf.update_undo_state(this.toolbar);
+
+ this.main_vbox = new Gtk.VBox();
+ this.main_vbox.pack_start(this.toolbar.toolbar);
+ this.main_vbox.pack_start(this.pane, true, true);
+
+ this.tab_header = new tab_header(this.filename, this.main_vbox);
+
+ if(!fn == "")
+ this.source_view.source_buf.load_file_data(fn, this);
+ else
+ update_filename("", this);
+
+ tabs.append_page(this.main_vbox, this.tab_header.tab_header);
+ tabs.set_tab_reorderable(this.main_vbox, true);
+ tabs.show_all();
+
+ tabs.page = tabs.get_n_pages() - 1;
+}
+
+function change_page(notebook, tab, n)
+{
+ update_window(tabs.get_tab_label(tabs.get_nth_page(n)).get_children()[0].label);
+}
+
+function ide_ui()
+{
+ tabs = new Gtk.Notebook();
+
+ tabs.signal.switch_page.connect(change_page);
+
+ tabs.set_scrollable(true);
+
+ var tab = new ide_tab("../ls.js");
+}
+
Added: trunk/examples/ide/legacy/toolbar.js
==============================================================================
--- (empty file)
+++ trunk/examples/ide/legacy/toolbar.js Fri Nov 7 18:58:14 2008
@@ -0,0 +1,143 @@
+function ide_actions(tab)
+{
+ this.actions = new Gtk.ActionGroup({name:"toolbar"});
+
+ this.accels = new Gtk.AccelGroup();
+ window.add_accel_group(this.accels);
+
+ this.new_action = new Gtk.Action({name:"new", label:"New",
+ tooltip:"New File", stock_id:"gtk-new"});
+ this.new_action.set_accel_group(this.accels);
+ this.actions.add_action_with_accel(this.new_action);
+ this.new_action.connect_accelerator();
+ this.new_action.signal.activate.connect(new_file, tab);
+
+ this.open_action = new Gtk.Action({name:"open", label:"Open",
+ tooltip:"Open File", stock_id:"gtk-open"});
+ this.open_action.set_accel_group(this.accels);
+ this.actions.add_action_with_accel(this.open_action);
+ this.open_action.connect_accelerator();
+ this.open_action.signal.activate.connect(open_file, tab);
+
+ this.save_action = new Gtk.Action({name:"save", label:"Save",
+ tooltip:"Save File", stock_id:"gtk-save"});
+ this.save_action.set_accel_group(this.accels);
+ this.actions.add_action_with_accel(this.save_action);
+ this.save_action.connect_accelerator();
+ this.save_action.signal.activate.connect(save_file, tab);
+
+ this.undo_action = new Gtk.Action({name:"undo", label:"Undo",
+ tooltip:"Undo", stock_id:"gtk-undo"});
+ this.undo_action.signal.activate.connect(undo, tab);
+
+ this.redo_action = new Gtk.Action({name:"redo", label:"Redo",
+ tooltip:"Redo", stock_id:"gtk-redo"});
+ this.redo_action.signal.activate.connect(redo, tab);
+
+ this.execute_action = new Gtk.Action({name:"execute", label:"Execute",
+ tooltip:"Execute File", stock_id:"gtk-execute"});
+ this.execute_action.set_accel_group(this.accels);
+ this.actions.add_action_with_accel(this.execute_action, "<Control>r");
+ this.execute_action.connect_accelerator();
+ this.execute_action.signal.activate.connect(execute, tab);
+}
+
+function new_file(sv)
+{
+ var tab = new ide_tab("");
+}
+
+function open_file(sv)
+{
+ var file_chooser = new Gtk.FileChooserDialog();
+ var file_filter = new Gtk.FileFilter();
+ file_filter.add_mime_type("text/javascript");
+ 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.open);
+
+ if(file_chooser.run() == Gtk.ResponseType.accept)
+ {
+ if(this.filename == "")
+ this.source_view.source_buf.load_file_data(file_chooser.get_filename(), this);
+ else
+ var tab = new ide_tab(file_chooser.get_filename());
+ }
+
+ file_chooser.destroy();
+}
+
+function save_file()
+{
+ if(this.filename == "")
+ {
+ var file_chooser = new Gtk.FileChooserDialog();
+ var file_filter = new Gtk.FileFilter();
+ file_filter.add_mime_type("text/javascript");
+ file_chooser.set_filter(file_filter);
+ file_chooser.add_button("Cancel", Gtk.ResponseType.cancel);
+ file_chooser.add_button("Save", Gtk.ResponseType.accept);
+ file_chooser.set_action(Gtk.FileChooserAction.save);
+
+ if(file_chooser.run() == Gtk.ResponseType.accept)
+ {
+ update_filename(file_chooser.get_filename(), this);
+ }
+
+ file_chooser.destroy();
+ }
+
+ if(this.filename != "")
+ Gio.simple_write(this.filename, this.source_view.source_buf.text);
+}
+
+function undo(button)
+{
+ this.source_view.source_buf.undo();
+ this.source_view.source_buf.update_undo_state(this.toolbar);
+}
+
+function redo(button)
+{
+ this.source_view.source_buf.redo();
+ this.source_view.source_buf.update_undo_state(this.toolbar);
+}
+
+function execute()
+{
+ if(this.filename == "")
+ return; // TODO: something more intelligent!
+
+ Gio.simple_write(this.filename, this.source_view.source_buf.text);
+
+ this.terminal.reset(true, true);
+ this.terminal.fork_command("/bin/dash");
+
+ var command = "clear ; /usr/local/bin/seed \"" + this.filename + "\" ; sleep 1d\n";
+
+ this.terminal.feed_child(command, command.length);
+}
+
+function ide_toolbar(tab)
+{
+ actions = new ide_actions(tab);
+ this.toolbar = new Gtk.Toolbar();
+
+ this.new_button = actions.new_action.create_tool_item();
+ this.open_button = actions.open_action.create_tool_item();
+ this.save_button = actions.save_action.create_tool_item();
+ this.undo_button = actions.undo_action.create_tool_item();
+ this.redo_button = actions.redo_action.create_tool_item();
+ this.execute_button = actions.execute_action.create_tool_item();
+
+ this.toolbar.insert(this.new_button, -1);
+ this.toolbar.insert(this.open_button, -1);
+ this.toolbar.insert(this.save_button, -1);
+ this.toolbar.insert(new Gtk.SeparatorToolItem(), -1);
+ this.toolbar.insert(this.undo_button, -1);
+ this.toolbar.insert(this.redo_button, -1);
+ this.toolbar.insert(new Gtk.SeparatorToolItem(), -1);
+ this.toolbar.insert(this.execute_button, -1);
+}
+
Added: trunk/examples/ide/main.js
==============================================================================
--- (empty file)
+++ trunk/examples/ide/main.js Fri Nov 7 18:58:14 2008
@@ -0,0 +1,52 @@
+#!/usr/local/bin/seed
+
+Seed.import_namespace("Vte");
+Seed.import_namespace("Gtk");
+Seed.import_namespace("GtkSource");
+Seed.import_namespace("Gio");
+Seed.import_namespace("Pango");
+Seed.import_namespace("GConf");
+Seed.import_namespace("Gdk");
+
+Gtk.init(null, null);
+GConf.init(null, null);
+
+Seed.include("ide-actions.js");
+Seed.include("ide-sourceview.js");
+Seed.include("ide-tab.js");
+Seed.include("ide-tabheader.js");
+Seed.include("ide-tabview.js");
+Seed.include("ide-toolbar.js");
+
+// TODO: put this in a subclass of the window
+function update_window(new_filename)
+{
+ var shortfilename = new_filename.split("/").slice(-1);
+
+ if(new_filename != "")
+ window.title = "Seed IDE - " + shortfilename;
+ else
+ window.title = "Seed IDE";
+}
+
+var window = new Gtk.Window();
+window.resize(700, 700);
+window.signal.hide.connect(Gtk.main_quit);
+
+var tab_view = new IDETabView();
+tab_view.create_tab("/home/hortont/seed/examples/ls.js");
+//tab_view.create_tab("/home/hortont/seed/examples/pango.js");
+
+
+init_ide_actions();
+
+var toolbar = new IDEToolbar();
+
+var vbox = new Gtk.VBox();
+vbox.pack_start(toolbar);
+vbox.pack_start(tab_view, true, true);
+
+window.add(vbox);
+window.show_all();
+
+Gtk.main();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]