[seed] ClutterPad: Use GtkBuilder for open/save dialogs.
- From: Tim Horton <hortont src gnome org>
- To: svn-commits-list gnome org
- Subject: [seed] ClutterPad: Use GtkBuilder for open/save dialogs.
- Date: Wed, 13 May 2009 10:36:59 -0400 (EDT)
commit 86644a18a6de71ed1120be29979aff94b8892f8c
Author: Tim Horton <hortont svn gnome org>
Date: Wed May 13 10:36:39 2009 -0400
ClutterPad: Use GtkBuilder for open/save dialogs.
---
examples/clutter-pad/clutter-pad.ui | 112 +++++++++++++++++++++++++++++++++++
examples/clutter-pad/main.js | 30 ++++------
2 files changed, 123 insertions(+), 19 deletions(-)
diff --git a/examples/clutter-pad/clutter-pad.ui b/examples/clutter-pad/clutter-pad.ui
index ffb1312..bf09ad3 100644
--- a/examples/clutter-pad/clutter-pad.ui
+++ b/examples/clutter-pad/clutter-pad.ui
@@ -137,4 +137,116 @@
<column type="gchararray"/>
</columns>
</object>
+ <object class="GtkFileChooserDialog" id="open_file_dialog">
+ <property name="border_width">5</property>
+ <property name="type_hint">normal</property>
+ <property name="action">open</property>
+ <property name="has_separator">False</property>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="dialog-vbox1">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="dialog-action_area1">
+ <property name="visible">True</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="open_cancel_button">
+ <property name="label" translatable="yes">gtk-cancel</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="open_accept_button">
+ <property name="label" translatable="yes">gtk-open</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="0">open_cancel_button</action-widget>
+ <action-widget response="1">open_accept_button</action-widget>
+ </action-widgets>
+ </object>
+ <object class="GtkFileChooserDialog" id="save_file_dialog">
+ <property name="border_width">5</property>
+ <property name="type_hint">normal</property>
+ <property name="action">save</property>
+ <property name="has_separator">False</property>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="dialog-vbox1">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="dialog-action_area1">
+ <property name="visible">True</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="save_cancel_button">
+ <property name="label" translatable="yes">gtk-cancel</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="save_accept_button">
+ <property name="label" translatable="yes">gtk-save</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="0">save_cancel_button</action-widget>
+ <action-widget response="1">save_accept_button</action-widget>
+ </action-widgets>
+ </object>
</interface>
diff --git a/examples/clutter-pad/main.js b/examples/clutter-pad/main.js
index 9793f23..8c14ba4 100755
--- a/examples/clutter-pad/main.js
+++ b/examples/clutter-pad/main.js
@@ -37,16 +37,10 @@ function new_file()
function open_file()
{
- 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(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL);
- file_chooser.add_button(Gtk.STOCK_OPEN, Gtk.ResponseType.ACCEPT);
- file_chooser.set_action(Gtk.FileChooserAction.OPEN);
+ file_chooser = ui.get_object("open_file_dialog");
+ file_chooser.set_filter(js_file_filter);
- if(file_chooser.run() == Gtk.ResponseType.ACCEPT)
+ if(file_chooser.run())
{
load_file(file_chooser.get_filename());
}
@@ -58,16 +52,10 @@ function save_file(filename)
{
if(current_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(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL);
- file_chooser.add_button(Gtk.STOCK_OPEN, Gtk.ResponseType.ACCEPT);
- file_chooser.set_action(Gtk.FileChooserAction.SAVE);
-
- if(file_chooser.run() == Gtk.ResponseType.ACCEPT)
+ file_chooser = ui.get_object("save_file_dialog");
+ file_chooser.set_filter(js_file_filter);
+
+ if(file_chooser.run())
{
current_filename = file_chooser.get_filename();
window.title = "ClutterPad - " + current_filename;
@@ -146,6 +134,8 @@ function execute_file(button)
var current_filename = "";
var stage_manager = Clutter.StageManager.get_default();
+var js_file_filter = new Gtk.FileFilter();
+js_file_filter.add_mime_type("text/javascript");
var source_lang_mgr = new GtkSource.SourceLanguageManager();
var js_lang = source_lang_mgr.get_language("js");
var context = new sandbox.Context();
@@ -155,6 +145,8 @@ var ui = new Gtk.Builder();
ui.add_from_file("clutter-pad.ui");
var window = ui.get_object("window");
+window.signal.hide.connect(Gtk.main_quit);
+
var clutter = ui.get_object("clutter");
var stage = clutter.get_stage();
stage_manager.set_default_stage(stage);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]