[vala/switch-to-gir: 7/25] Use SOURCE in vapigen and fix external usage in semantic check.



commit b78b441584b30ca3484a79a078d1b3accbe3031f
Author: Luca Bruno <lucabru src gnome org>
Date:   Tue Nov 16 09:39:11 2010 +0100

    Use SOURCE in vapigen and fix external usage in semantic check.

 vala/valaclass.vala                                |    4 +-
 vala/valafield.vala                                |    2 +-
 vala/valagirparser.vala                            |    9 +
 vala/valamethod.vala                               |    4 +-
 vala/valaparser.vala                               |    3 +
 vala/valaproperty.vala                             |    2 +-
 vala/valapropertyaccessor.vala                     |    2 +-
 vala/valasignal.vala                               |    2 +-
 vapi/gtk+-2.0.vapi                                 | 1027 --------------------
 ...ter-1.0-custom.vala => clutter-1.0-custom.vapi} |    0
 .../{cogl-1.0-custom.vala => cogl-1.0-custom.vapi} |    0
 .../{gdk-2.0-custom.vala => gdk-2.0-custom.vapi}   |    0
 .../{gdk-3.0-custom.vala => gdk-3.0-custom.vapi}   |    0
 .../{gdl-1.0-custom.vala => gdl-1.0-custom.vapi}   |    0
 .../{gio-2.0-custom.vala => gio-2.0-custom.vapi}   |    0
 ...ix-2.0-custom.vala => gio-unix-2.0-custom.vapi} |    0
 ...g-1-custom.vala => gnome-keyring-1-custom.vapi} |    0
 ...s-2.0-custom.vala => gnome-vfs-2.0-custom.vapi} |    0
 ...goocanvas-custom.vala => goocanvas-custom.vapi} |    0
 ...0.10-custom.vala => gstreamer-0.10-custom.vapi} |    0
 ...custom.vala => gstreamer-base-0.10-custom.vapi} |    0
 ...custom.vala => gstreamer-cdda-0.10-custom.vapi} |    0
 ....vala => gstreamer-controller-0.10-custom.vapi} |    0
 ...ala => gstreamer-dataprotocol-0.10-custom.vapi} |    0
 ....vala => gstreamer-interfaces-0.10-custom.vapi} |    0
 ...custom.vala => gstreamer-rtsp-0.10-custom.vapi} |    0
 ...ustom.vala => gstreamer-video-0.10-custom.vapi} |    0
 .../{gtk+-2.0-custom.vala => gtk+-2.0-custom.vapi} |    0
 .../{gtk+-3.0-custom.vala => gtk+-3.0-custom.vapi} |    0
 .../{hildon-1-custom.vala => hildon-1-custom.vapi} |    0
 ...bgda-4.0-custom.vala => libgda-4.0-custom.vapi} |    0
 .../{libgdata-custom.vala => libgdata-custom.vapi} |    0
 ...-menu-custom.vala => libgnome-menu-custom.vapi} |    0
 ...-2.0-custom.vala => libgnomeui-2.0-custom.vapi} |    0
 .../{libgsf-1-custom.vala => libgsf-1-custom.vapi} |    0
 ...oup-2.4-custom.vala => libsoup-2.4-custom.vapi} |    0
 ...h-1.0-custom.vala => loudmouth-1.0-custom.vapi} |    0
 .../pango/{pango-custom.vala => pango-custom.vapi} |    0
 .../{purple-custom.vala => purple-custom.vapi}     |    0
 .../{rest-0.6-custom.vala => rest-0.6-custom.vapi} |    0
 ...0.6-custom.vala => rest-extras-0.6-custom.vapi} |    0
 ...vala => tracker-indexer-module-1.0-custom.vapi} |    0
 vapigen/valagidlparser.vala                        |   21 +
 vapigen/valavapigen.vala                           |   24 +-
 44 files changed, 46 insertions(+), 1054 deletions(-)
---
diff --git a/vala/valaclass.vala b/vala/valaclass.vala
index 0ba8032..baf7ffc 100644
--- a/vala/valaclass.vala
+++ b/vala/valaclass.vala
@@ -1165,8 +1165,8 @@ public class Vala.Class : ObjectTypeSymbol {
 			Report.error (source_reference, error_string);
 		}
 
-		/* VAPI classes don't have to specify overridden methods */
-		if (source_type == SourceFileType.SOURCE) {
+		/* External classes don't have to specify overridden methods */
+		if (!external && source_type != SourceFileType.FAST) {
 			/* all abstract symbols defined in base types have to be at least defined (or implemented) also in this type */
 			foreach (DataType base_type in get_base_types ()) {
 				if (base_type.data_type is Interface) {
diff --git a/vala/valafield.vala b/vala/valafield.vala
index 6bf4868..24d6a8b 100644
--- a/vala/valafield.vala
+++ b/vala/valafield.vala
@@ -333,7 +333,7 @@ public class Vala.Field : Variable, Lockable {
 			}
 		}
 
-		if (!external_package && !hides && get_hidden_member () != null) {
+		if (!external && !hides && get_hidden_member () != null) {
 			Report.warning (source_reference, "%s hides inherited field `%s'. Use the `new' keyword if hiding was intentional".printf (get_full_name (), get_hidden_member ().get_full_name ()));
 		}
 
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala
index 791f446..5be3f21 100644
--- a/vala/valagirparser.vala
+++ b/vala/valagirparser.vala
@@ -1464,6 +1464,7 @@ public class Vala.GirParser : CodeVisitor {
 
 		var en = new Enum (element_get_name (), get_current_src ());
 		en.access = SymbolAccessibility.PUBLIC;
+		en.external = true;
 
 		string enum_cname = reader.get_attribute ("c:type");
 		if (enum_cname != null) {
@@ -1504,6 +1505,7 @@ public class Vala.GirParser : CodeVisitor {
 
 		var ed = new ErrorDomain (element_get_name (true), get_current_src ());
 		ed.access = SymbolAccessibility.PUBLIC;
+		ed.external = true;
 
 		string enum_cname = reader.get_attribute ("c:type");
 		if (enum_cname != null) {
@@ -1543,6 +1545,7 @@ public class Vala.GirParser : CodeVisitor {
 		start_element ("bitfield");
 		var en = new Enum (reader.get_attribute ("name"), get_current_src ());
 		en.access = SymbolAccessibility.PUBLIC;
+		en.external = true;
 		next ();
 		while (current_token == MarkupTokenType.START_ELEMENT) {
 			if (!push_metadata ()) {
@@ -1568,6 +1571,7 @@ public class Vala.GirParser : CodeVisitor {
 		start_element ("member");
 		var ev = new EnumValue (reader.get_attribute ("name").up ().replace ("-", "_"), null, get_current_src ());
 		ev.set_cname (reader.get_attribute ("c:identifier"));
+		ev.external = true;
 		next ();
 		end_element ("member");
 		return ev;
@@ -1584,6 +1588,7 @@ public class Vala.GirParser : CodeVisitor {
 		} else {
 			ec = new ErrorCode (name);
 		}
+		ec.external = true;
 
 		next ();
 		end_element ("member");
@@ -2109,6 +2114,7 @@ public class Vala.GirParser : CodeVisitor {
 		}
 		var field = new Field (name, type, null, get_current_src ());
 		field.access = SymbolAccessibility.PUBLIC;
+		field.external = true;
 		field.no_array_length = true;
 		if (allow_none == "1") {
 			type.nullable = true;
@@ -2130,6 +2136,7 @@ public class Vala.GirParser : CodeVisitor {
 		var type = parse_type (null, null, false, out no_array_length, out array_null_terminated);
 		var prop = new Property (name, type, null, null, get_current_src ());
 		prop.access = SymbolAccessibility.PUBLIC;
+		prop.external = true;
 		prop.no_accessor_method = true;
 		prop.no_array_length = no_array_length;
 		prop.array_null_terminated = array_null_terminated;
@@ -2154,6 +2161,7 @@ public class Vala.GirParser : CodeVisitor {
 		string cname = reader.get_attribute ("c:identifier");
 		var m = new CreationMethod (null, element_get_name (), get_current_src ());
 		m.access = SymbolAccessibility.PUBLIC;
+		m.external = true;
 		m.has_construct_function = false;
 
 		if (m.name == "new") {
@@ -2237,6 +2245,7 @@ public class Vala.GirParser : CodeVisitor {
 		}
 
 		s.access = SymbolAccessibility.PUBLIC;
+		s.external = true;
 		if (cname != null) {
 			if (s is Method) {
 				((Method) s).set_cname (cname);
diff --git a/vala/valamethod.vala b/vala/valamethod.vala
index bc301f5..2fc30fd 100644
--- a/vala/valamethod.vala
+++ b/vala/valamethod.vala
@@ -824,7 +824,7 @@ public class Vala.Method : Subroutine {
 			Report.error (source_reference, "Extern methods cannot be abstract or virtual");
 		} else if (external && body != null) {
 			Report.error (source_reference, "Extern methods cannot have bodies");
-		} else if (!is_abstract && !external && source_type == SourceFileType.SOURCE && body == null) {
+		} else if (!is_abstract && !external && source_type != SourceFileType.FAST && body == null) {
 			Report.error (source_reference, "Non-abstract, non-extern methods must have bodies");
 		}
 
@@ -915,7 +915,7 @@ public class Vala.Method : Subroutine {
 			return false;
 		}
 
-		if (!external_package && !overrides && !hides && get_hidden_member () != null) {
+		if (!external && !overrides && !hides && get_hidden_member () != null) {
 			Report.warning (source_reference, "%s hides inherited method `%s'. Use the `new' keyword if hiding was intentional".printf (get_full_name (), get_hidden_member ().get_full_name ()));
 		}
 
diff --git a/vala/valaparser.vala b/vala/valaparser.vala
index 60ba794..25d8cb8 100644
--- a/vala/valaparser.vala
+++ b/vala/valaparser.vala
@@ -2845,6 +2845,9 @@ public class Vala.Parser : CodeVisitor {
 		if (ModifierFlags.NEW in flags) {
 			sig.hides = true;
 		}
+		if (ModifierFlags.EXTERN in flags || scanner.source_file.file_type == SourceFileType.PACKAGE) {
+			sig.external = true;
+		}
 		expect (TokenType.OPEN_PARENS);
 		if (current () != TokenType.CLOSE_PARENS) {
 			do {
diff --git a/vala/valaproperty.vala b/vala/valaproperty.vala
index 467cdf8..7125329 100644
--- a/vala/valaproperty.vala
+++ b/vala/valaproperty.vala
@@ -507,7 +507,7 @@ public class Vala.Property : Symbol, Lockable {
 			Report.error (source_reference, "%s: no suitable property found to override".printf (get_full_name ()));
 		}
 
-		if (!external_package && !overrides && !hides && get_hidden_member () != null) {
+		if (!external && source_type != SourceFileType.FAST && !overrides && !hides && get_hidden_member () != null) {
 			Report.warning (source_reference, "%s hides inherited property `%s'. Use the `new' keyword if hiding was intentional".printf (get_full_name (), get_hidden_member ().get_full_name ()));
 		}
 
diff --git a/vala/valapropertyaccessor.vala b/vala/valapropertyaccessor.vala
index fbec601..a9352ea 100644
--- a/vala/valapropertyaccessor.vala
+++ b/vala/valapropertyaccessor.vala
@@ -167,7 +167,7 @@ public class Vala.PropertyAccessor : Subroutine {
 
 		context.analyzer.current_symbol = this;
 
-		if (prop.source_type == SourceFileType.SOURCE) {
+		if (!prop.external && prop.source_type != SourceFileType.FAST) {
 			if (body == null && !prop.interface_only && !prop.is_abstract) {
 				/* no accessor body specified, insert default body */
 
diff --git a/vala/valasignal.vala b/vala/valasignal.vala
index a2ed64a..7dc1289 100644
--- a/vala/valasignal.vala
+++ b/vala/valasignal.vala
@@ -311,7 +311,7 @@ public class Vala.Signal : Symbol, Lockable {
 		}
 
 
-		if (!external_package && !hides && get_hidden_member () != null) {
+		if (!external && source_type != SourceFileType.FAST && !hides && get_hidden_member () != null) {
 			Report.warning (source_reference, "%s hides inherited signal `%s'. Use the `new' keyword if hiding was intentional".printf (get_full_name (), get_hidden_member ().get_full_name ()));
 		}
 
diff --git a/vapi/gtk+-2.0.vapi b/vapi/gtk+-2.0.vapi
index 21e16d8..ba502ba 100644
--- a/vapi/gtk+-2.0.vapi
+++ b/vapi/gtk+-2.0.vapi
@@ -275,30 +275,6 @@ namespace Gtk {
 		public string website_label { get; set; }
 		public bool wrap_license { get; set; }
 	}
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public class AccelGroup : GLib.Object {
-		public weak GLib.SList acceleratables;
-		public uint lock_count;
-		public uint n_accels;
-		[CCode (has_construct_function = false)]
-		public AccelGroup ();
-		public bool activate (GLib.Quark accel_quark, GLib.Object acceleratable, uint accel_key, Gdk.ModifierType accel_mods);
-		public void connect (uint accel_key, Gdk.ModifierType accel_mods, Gtk.AccelFlags accel_flags, [CCode (type = "GClosure*")] owned Gtk.AccelGroupActivate closure);
-		public void connect_by_path (string accel_path, [CCode (type = "GClosure*")] owned Gtk.AccelGroupActivate closure);
-		public bool disconnect (GLib.Closure closure);
-		public bool disconnect_key (uint accel_key, Gdk.ModifierType accel_mods);
-		public Gtk.AccelKey* find (Gtk.AccelGroupFindFunc find_func);
-		public static unowned Gtk.AccelGroup from_accel_closure (GLib.Closure closure);
-		public bool get_is_locked ();
-		public Gdk.ModifierType get_modifier_mask ();
-		public void @lock ();
-		public unowned Gtk.AccelGroupEntry query (uint accel_key, Gdk.ModifierType accel_mods, uint n_entries);
-		public void unlock ();
-		public bool is_locked { get; }
-		public Gdk.ModifierType modifier_mask { get; }
-		public virtual signal bool accel_activate (GLib.Object p0, uint p1, Gdk.ModifierType p2);
-		public virtual signal void accel_changed (uint keyval, Gdk.ModifierType modifier, GLib.Closure accel_closure);
-	}
 	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class AccelGroupEntry {
@@ -1300,65 +1276,6 @@ namespace Gtk {
 		public int text_column { get; set; }
 	}
 	[CCode (cheader_filename = "gtk/gtk.h")]
-	public class Container : Gtk.Widget, Atk.Implementor, Gtk.Buildable {
-		public weak Gtk.Widget focus_child;
-		public uint has_focus_chain;
-		public uint need_resize;
-		public uint reallocate_redraws;
-		[CCode (has_construct_function = false)]
-		protected Container ();
-		public void add_with_properties (Gtk.Widget widget, ...);
-		public void child_get (Gtk.Widget child, ...);
-		public void child_get_property (Gtk.Widget child, string property_name, GLib.Value value);
-		public void child_get_valist (Gtk.Widget child, string first_property_name, void* var_args);
-		public void child_set (Gtk.Widget child, ...);
-		public void child_set_property (Gtk.Widget child, string property_name, GLib.Value value);
-		public void child_set_valist (Gtk.Widget child, string first_property_name, void* var_args);
-		public virtual GLib.Type child_type ();
-		public static unowned GLib.ParamSpec class_find_child_property (GLib.ObjectClass cclass, string property_name);
-		public static unowned GLib.ParamSpec class_list_child_properties (GLib.ObjectClass cclass, uint n_properties);
-		[NoWrapper]
-		public virtual unowned string composite_name (Gtk.Widget child);
-		public virtual void forall (Gtk.Callback callback);
-		[CCode (vfunc_name = "forall")]
-		public virtual void forall_internal (bool include_internal, Gtk.Callback callback);
-		public void @foreach (Gtk.Callback callback);
-		public uint get_border_width ();
-		[NoWrapper]
-		public virtual void get_child_property (Gtk.Widget child, uint property_id, GLib.Value value, GLib.ParamSpec pspec);
-		public GLib.List<weak Gtk.Widget> get_children ();
-		public bool get_focus_chain (out GLib.List<Gtk.Widget> focusable_widgets);
-		public unowned Gtk.Widget get_focus_child ();
-		public unowned Gtk.Adjustment get_focus_hadjustment ();
-		public unowned Gtk.Adjustment get_focus_vadjustment ();
-		public Gtk.ResizeMode get_resize_mode ();
-		[CCode (cname = "gtk_container_class_install_child_property")]
-		public class void install_child_property (uint property_id, GLib.ParamSpec pspec);
-		public void propagate_expose (Gtk.Widget child, Gdk.EventExpose event);
-		public void resize_children ();
-		public void set_border_width (uint border_width);
-		[NoWrapper]
-		public virtual void set_child_property (Gtk.Widget child, uint property_id, GLib.Value value, GLib.ParamSpec pspec);
-		public void set_focus_chain (GLib.List<Gtk.Widget> focusable_widgets);
-		public void set_focus_hadjustment (Gtk.Adjustment adjustment);
-		public void set_focus_vadjustment (Gtk.Adjustment adjustment);
-		public void set_reallocate_redraws (bool needs_redraws);
-		public void set_resize_mode (Gtk.ResizeMode resize_mode);
-		public void unset_focus_chain ();
-		public uint border_width { get; set; }
-		[NoAccessorMethod]
-		public Gtk.Widget child { set; }
-		public Gtk.ResizeMode resize_mode { get; set; }
-		[HasEmitter]
-		public virtual signal void add (Gtk.Widget widget);
-		[HasEmitter]
-		public virtual signal void check_resize ();
-		[HasEmitter]
-		public virtual signal void remove (Gtk.Widget widget);
-		[HasEmitter]
-		public virtual signal void set_focus_child (Gtk.Widget? widget);
-	}
-	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class Curve : Gtk.DrawingArea, Atk.Implementor, Gtk.Buildable {
 		[CCode (array_length = false)]
 		public weak float[] ctlpoint;
@@ -2779,102 +2696,6 @@ namespace Gtk {
 		public Gtk.Window parent { get; set; }
 		public Gdk.Screen screen { get; set; }
 	}
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public class Notebook : Gtk.Container, Atk.Implementor, Gtk.Buildable {
-		public uint button;
-		public uint child_has_focus;
-		public weak GLib.List children;
-		public uint click_child;
-		public weak Gtk.NotebookPage cur_page;
-		public weak Gdk.Window event_window;
-		public weak GLib.List first_tab;
-		public uint focus_out;
-		public uint has_after_next;
-		public uint has_after_previous;
-		public uint has_before_next;
-		public uint has_before_previous;
-		public uint have_visible_child;
-		public uint in_child;
-		public weak Gtk.Widget menu;
-		public uint need_timer;
-		public uint32 timer;
-		[CCode (type = "GtkWidget*", has_construct_function = false)]
-		public Notebook ();
-		public int append_page (Gtk.Widget child, Gtk.Widget? tab_label);
-		public int append_page_menu (Gtk.Widget child, Gtk.Widget? tab_label, Gtk.Widget? menu_label);
-		public unowned Gtk.Widget get_action_widget (Gtk.PackType pack_type);
-		public int get_current_page ();
-		public void* get_group ();
-		public unowned Gtk.Widget get_menu_label (Gtk.Widget child);
-		public unowned string get_menu_label_text (Gtk.Widget child);
-		public int get_n_pages ();
-		public unowned Gtk.Widget get_nth_page (int page_num);
-		public bool get_scrollable ();
-		public bool get_show_border ();
-		public bool get_show_tabs ();
-		public bool get_tab_detachable (Gtk.Widget child);
-		public unowned Gtk.Widget get_tab_label (Gtk.Widget child);
-		public unowned string get_tab_label_text (Gtk.Widget child);
-		public Gtk.PositionType get_tab_pos ();
-		public bool get_tab_reorderable (Gtk.Widget child);
-		public int insert_page (Gtk.Widget child, Gtk.Widget? tab_label, int position);
-		[CCode (vfunc_name = "insert_page")]
-		public virtual int insert_page_menu (Gtk.Widget child, Gtk.Widget? tab_label, Gtk.Widget? menu_label, int position);
-		public void next_page ();
-		public int page_num (Gtk.Widget child);
-		public void popup_disable ();
-		public void popup_enable ();
-		public int prepend_page (Gtk.Widget child, Gtk.Widget? tab_label);
-		public int prepend_page_menu (Gtk.Widget child, Gtk.Widget? tab_label, Gtk.Widget? menu_label);
-		public void prev_page ();
-		public void query_tab_label_packing (Gtk.Widget child, bool? expand, bool? fill, Gtk.PackType? pack_type);
-		public void remove_page (int page_num);
-		public void reorder_child (Gtk.Widget child, int position);
-		public void set_action_widget (Gtk.Widget widget, Gtk.PackType pack_type);
-		public void set_current_page (int page_num);
-		public void set_group (void* group);
-		public void set_menu_label (Gtk.Widget child, Gtk.Widget? menu_label);
-		public void set_menu_label_text (Gtk.Widget child, string menu_text);
-		public void set_scrollable (bool scrollable);
-		public void set_show_border (bool show_border);
-		public void set_show_tabs (bool show_tabs);
-		public void set_tab_detachable (Gtk.Widget child, bool detachable);
-		public void set_tab_label (Gtk.Widget child, Gtk.Widget? tab_label);
-		public void set_tab_label_packing (Gtk.Widget child, bool expand, bool fill, Gtk.PackType pack_type);
-		public void set_tab_label_text (Gtk.Widget child, string tab_text);
-		public void set_tab_pos (Gtk.PositionType pos);
-		public void set_tab_reorderable (Gtk.Widget child, bool reorderable);
-		public static void set_window_creation_hook (owned Gtk.NotebookWindowCreationFunc func);
-		[NoAccessorMethod]
-		public bool enable_popup { get; set; }
-		public void* group { get; set; }
-		[NoAccessorMethod]
-		public int group_id { get; set; }
-		[NoAccessorMethod]
-		public bool homogeneous { get; set; }
-		[NoAccessorMethod]
-		public int page { get; set; }
-		public bool scrollable { get; set; }
-		public bool show_border { get; set; }
-		public bool show_tabs { get; set; }
-		[NoAccessorMethod]
-		public uint tab_border { set; }
-		[NoAccessorMethod]
-		public uint tab_hborder { get; set; }
-		public Gtk.PositionType tab_pos { get; set; }
-		[NoAccessorMethod]
-		public uint tab_vborder { get; set; }
-		public virtual signal bool change_current_page (int offset);
-		public virtual signal unowned Gtk.Notebook create_window (Gtk.Widget page, int x, int y);
-		public virtual signal bool focus_tab (Gtk.NotebookTab type);
-		public virtual signal void move_focus_out (Gtk.DirectionType direction);
-		public virtual signal void page_added (Gtk.Widget p0, uint p1);
-		public virtual signal void page_removed (Gtk.Widget p0, uint p1);
-		public virtual signal void page_reordered (Gtk.Widget p0, uint p1);
-		public virtual signal bool reorder_tab (Gtk.DirectionType direction, bool move_to_last);
-		public virtual signal bool select_page (bool move_focus);
-		public virtual signal void switch_page (Gtk.NotebookPage page, uint page_num);
-	}
 	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class NotebookPage {
@@ -3964,82 +3785,6 @@ namespace Gtk {
 		public bool active { get; set; }
 	}
 	[CCode (cheader_filename = "gtk/gtk.h")]
-	public class StatusIcon : GLib.Object {
-		[CCode (has_construct_function = false)]
-		public StatusIcon ();
-		[CCode (has_construct_function = false)]
-		public StatusIcon.from_file (string filename);
-		[CCode (has_construct_function = false)]
-		public StatusIcon.from_gicon (GLib.Icon icon);
-		[CCode (has_construct_function = false)]
-		public StatusIcon.from_icon_name (string icon_name);
-		[CCode (has_construct_function = false)]
-		public StatusIcon.from_pixbuf (Gdk.Pixbuf pixbuf);
-		[CCode (has_construct_function = false)]
-		public StatusIcon.from_stock (string stock_id);
-		public bool get_blinking ();
-		public bool get_geometry (out unowned Gdk.Screen screen, out Gdk.Rectangle area, out Gtk.Orientation orientation);
-		public unowned GLib.Icon get_gicon ();
-		public bool get_has_tooltip ();
-		public unowned string get_icon_name ();
-		public unowned Gdk.Pixbuf get_pixbuf ();
-		public unowned Gdk.Screen get_screen ();
-		public int get_size ();
-		public unowned string get_stock ();
-		public Gtk.ImageType get_storage_type ();
-		public unowned string get_title ();
-		public unowned string get_tooltip_markup ();
-		public unowned string get_tooltip_text ();
-		public bool get_visible ();
-		public uint32 get_x11_window_id ();
-		public bool is_embedded ();
-		[CCode (instance_pos = -1)]
-		public void position_menu (Gtk.Menu menu, out int x, out int y, out bool push_in);
-		public void set_blinking (bool blinking);
-		public void set_from_file (string filename);
-		public void set_from_gicon (GLib.Icon icon);
-		public void set_from_icon_name (string icon_name);
-		public void set_from_pixbuf (Gdk.Pixbuf pixbuf);
-		public void set_from_stock (string stock_id);
-		public void set_has_tooltip (bool has_tooltip);
-		public void set_name (string name);
-		public void set_screen (Gdk.Screen screen);
-		public void set_title (string title);
-		public void set_tooltip_markup (string markup);
-		public void set_tooltip_text (string text);
-		public void set_visible (bool visible);
-		public bool blinking { get; set; }
-		[NoAccessorMethod]
-		public bool embedded { get; }
-		[NoAccessorMethod]
-		public string file { set; }
-		[NoAccessorMethod]
-		public GLib.Icon gicon { owned get; set; }
-		public bool has_tooltip { get; set; }
-		[NoAccessorMethod]
-		public string icon_name { owned get; set; }
-		[NoAccessorMethod]
-		public Gtk.Orientation orientation { get; }
-		[NoAccessorMethod]
-		public Gdk.Pixbuf pixbuf { owned get; set; }
-		public Gdk.Screen screen { get; set; }
-		public int size { get; }
-		[NoAccessorMethod]
-		public string stock { owned get; set; }
-		public Gtk.ImageType storage_type { get; }
-		public string title { get; set; }
-		public string tooltip_markup { get; set; }
-		public string tooltip_text { get; set; }
-		public bool visible { get; set; }
-		public virtual signal void activate ();
-		public virtual signal bool button_press_event (Gdk.EventButton event);
-		public virtual signal bool button_release_event (Gdk.EventButton event);
-		public virtual signal void popup_menu (uint button, uint activate_time);
-		public virtual signal bool query_tooltip (int x, int y, bool keyboard_mode, Gtk.Tooltip tooltip);
-		public virtual signal bool scroll_event (Gdk.Event event);
-		public virtual signal bool size_changed (int size);
-	}
-	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class Statusbar : Gtk.HBox, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
 		public weak Gtk.Widget frame;
 		public weak Gdk.Window grip_window;
@@ -5362,35 +5107,6 @@ namespace Gtk {
 		public virtual signal void clicked ();
 	}
 	[CCode (cheader_filename = "gtk/gtk.h")]
-	public class UIManager : GLib.Object, Gtk.Buildable {
-		[CCode (has_construct_function = false)]
-		public UIManager ();
-		public void add_ui (uint merge_id, string path, string name, string action, Gtk.UIManagerItemType type, bool top);
-		public uint add_ui_from_file (string filename) throws GLib.Error;
-		public uint add_ui_from_string (string buffer, ssize_t length) throws GLib.Error;
-		public void ensure_update ();
-		public unowned Gtk.AccelGroup get_accel_group ();
-		public virtual unowned Gtk.Action get_action (string path);
-		public unowned GLib.List<Gtk.ActionGroup> get_action_groups ();
-		public bool get_add_tearoffs ();
-		public GLib.SList<weak Gtk.Widget> get_toplevels (Gtk.UIManagerItemType types);
-		public unowned string get_ui ();
-		public virtual unowned Gtk.Widget get_widget (string path);
-		public void insert_action_group (Gtk.ActionGroup action_group, int pos);
-		public uint new_merge_id ();
-		public void remove_action_group (Gtk.ActionGroup action_group);
-		public void remove_ui (uint merge_id);
-		public void set_add_tearoffs (bool add_tearoffs);
-		public bool add_tearoffs { get; set; }
-		public string ui { get; }
-		public virtual signal void actions_changed ();
-		public virtual signal void add_widget (Gtk.Widget widget);
-		public virtual signal void connect_proxy (Gtk.Action action, Gtk.Widget proxy);
-		public virtual signal void disconnect_proxy (Gtk.Action action, Gtk.Widget proxy);
-		public virtual signal void post_activate (Gtk.Action action);
-		public virtual signal void pre_activate (Gtk.Action action);
-	}
-	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class VBox : Gtk.Box, Atk.Implementor, Gtk.Buildable, Gtk.Orientable {
 		[CCode (type = "GtkWidget*", has_construct_function = false)]
 		public VBox (bool homogeneous, int spacing);
@@ -5450,300 +5166,6 @@ namespace Gtk {
 		[CCode (type = "GtkWidget*", has_construct_function = false)]
 		public VolumeButton ();
 	}
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public class Widget : Gtk.Object, Atk.Implementor, Gtk.Buildable {
-		public Gtk.Allocation allocation;
-		public Gtk.Requisition requisition;
-		public uchar saved_state;
-		public uchar state;
-		public Gdk.Window window;
-		[CCode (has_new_function = false, construct_function = "gtk_widget_new")]
-		public Widget (...);
-		public bool activate ();
-		public void add_accelerator (string accel_signal, Gtk.AccelGroup accel_group, uint accel_key, Gdk.ModifierType accel_mods, Gtk.AccelFlags accel_flags);
-		public void add_events (int events);
-		public void add_mnemonic_label (Gtk.Widget label);
-		public bool child_focus (Gtk.DirectionType direction);
-		public void class_path (out uint path_length, out unowned string path, out unowned string path_reversed);
-		public Pango.Context create_pango_context ();
-		public Pango.Layout create_pango_layout (string? text);
-		public void destroyed (out unowned Gtk.Widget widget_pointer);
-		[NoWrapper]
-		public virtual void dispatch_child_properties_changed (uint n_pspecs, out unowned GLib.ParamSpec pspecs);
-		public void ensure_style ();
-		public void error_bell ();
-		[CCode (cname = "gtk_widget_class_find_style_property")]
-		public class unowned GLib.ParamSpec find_style_property (string property_name);
-		public void freeze_child_notify ();
-		public virtual unowned Atk.Object get_accessible ();
-		public void get_allocation (out Gtk.Allocation allocation);
-		public unowned Gtk.Widget get_ancestor (GLib.Type widget_type);
-		public bool get_app_paintable ();
-		public bool get_can_default ();
-		public bool get_can_focus ();
-		public void get_child_requisition (out Gtk.Requisition requisition);
-		public bool get_child_visible ();
-		public unowned Gtk.Clipboard get_clipboard (Gdk.Atom selection);
-		public unowned Gdk.Colormap get_colormap ();
-		public unowned string get_composite_name ();
-		public static unowned Gdk.Colormap get_default_colormap ();
-		public static Gtk.TextDirection get_default_direction ();
-		public static unowned Gtk.Style get_default_style ();
-		public static unowned Gdk.Visual get_default_visual ();
-		public Gtk.TextDirection get_direction ();
-		public unowned Gdk.Display get_display ();
-		public bool get_double_buffered ();
-		public int get_events ();
-		public Gdk.ExtensionMode get_extension_events ();
-		[CCode (cname = "GTK_WIDGET_FLAGS")]
-		public Gtk.WidgetFlags get_flags ();
-		public bool get_has_tooltip ();
-		public bool get_has_window ();
-		public bool get_mapped ();
-		public unowned Gtk.RcStyle get_modifier_style ();
-		public bool get_no_show_all ();
-		public unowned Pango.Context get_pango_context ();
-		public unowned Gtk.Widget get_parent ();
-		public unowned Gdk.Window get_parent_window ();
-		public void get_pointer (out int x, out int y);
-		public bool get_realized ();
-		public bool get_receives_default ();
-		public void get_requisition (Gtk.Requisition requisition);
-		public unowned Gdk.Window get_root_window ();
-		public unowned Gdk.Screen get_screen ();
-		public bool get_sensitive ();
-		public unowned Gtk.Settings get_settings ();
-		public void get_size_request (out int width, out int height);
-		public unowned Gdk.Pixmap get_snapshot (Gdk.Rectangle clip_rect);
-		public Gtk.StateType get_state ();
-		public unowned Gtk.Style get_style ();
-		public unowned string get_tooltip_markup ();
-		public unowned string get_tooltip_text ();
-		public unowned Gtk.Window get_tooltip_window ();
-		public unowned Gtk.Widget get_toplevel ();
-		public bool get_visible ();
-		public unowned Gdk.Visual get_visual ();
-		public unowned Gdk.Window get_window ();
-		public void grab_default ();
-		[CCode (cname = "GTK_WIDGET_HAS_GRAB")]
-		public bool has_grab ();
-		public bool has_rc_style ();
-		public bool has_screen ();
-		public virtual void hide_all ();
-		public bool hide_on_delete ();
-		public void input_shape_combine_mask (Gdk.Bitmap? shape_mask, int offset_x, int offset_y);
-		[CCode (cname = "gtk_widget_class_install_style_property")]
-		public class void install_style_property (GLib.ParamSpec pspec);
-		[CCode (cname = "gtk_widget_class_install_style_property_parser")]
-		public class void install_style_property_parser (GLib.ParamSpec pspec, Gtk.RcPropertyParser parser);
-		public bool intersect (Gdk.Rectangle area, Gdk.Rectangle? intersection);
-		public bool is_ancestor (Gtk.Widget ancestor);
-		public bool is_composited ();
-		[CCode (cname = "GTK_WIDGET_DOUBLE_BUFFERED")]
-		public bool is_double_buffered ();
-		[CCode (cname = "GTK_WIDGET_DRAWABLE")]
-		public bool is_drawable ();
-		[CCode (cname = "GTK_WIDGET_MAPPED")]
-		public bool is_mapped ();
-		[CCode (cname = "GTK_WIDGET_NO_WINDOW")]
-		public bool is_no_window ();
-		[CCode (cname = "GTK_WIDGET_PARENT_SENSITIVE")]
-		public bool is_parent_sensitive ();
-		[CCode (cname = "GTK_WIDGET_RC_STYLE")]
-		public bool is_rc_style ();
-		[CCode (cname = "GTK_WIDGET_REALIZED")]
-		public bool is_realized ();
-		public bool is_sensitive ();
-		[CCode (cname = "GTK_WIDGET_TOPLEVEL")]
-		public bool is_toplevel ();
-		public GLib.List<GLib.Closure> list_accel_closures ();
-		public GLib.List<weak Gtk.Widget> list_mnemonic_labels ();
-		[CCode (cname = "gtk_widget_class_list_style_properties")]
-		public class unowned GLib.ParamSpec list_style_properties (uint n_properties);
-		public void modify_base (Gtk.StateType state, Gdk.Color? color);
-		public void modify_bg (Gtk.StateType state, Gdk.Color? color);
-		public void modify_cursor (Gdk.Color? primary, Gdk.Color? secondary);
-		public void modify_fg (Gtk.StateType state, Gdk.Color? color);
-		public void modify_font (Pango.FontDescription? font_desc);
-		public void modify_style (Gtk.RcStyle style);
-		public void modify_text (Gtk.StateType state, Gdk.Color? color);
-		public void path (out uint path_length, out unowned string path, out unowned string path_reversed);
-		public static void pop_colormap ();
-		public static void pop_composite_child ();
-		public static void push_colormap (Gdk.Colormap cmap);
-		public static void push_composite_child ();
-		public void queue_draw ();
-		public void queue_draw_area (int x, int y, int width, int height);
-		public void queue_resize ();
-		public void queue_resize_no_redraw ();
-		public unowned Gdk.Region region_intersect (Gdk.Region region);
-		public bool remove_accelerator (Gtk.AccelGroup accel_group, uint accel_key, Gdk.ModifierType accel_mods);
-		public void remove_mnemonic_label (Gtk.Widget label);
-		public Gdk.Pixbuf render_icon (string stock_id, Gtk.IconSize size, string? detail);
-		public void reparent (Gtk.Widget new_parent);
-		public void reset_rc_styles ();
-		public void reset_shapes ();
-		public int send_expose (Gdk.Event event);
-		public void set_accel_path (string accel_path, Gtk.AccelGroup accel_group);
-		public void set_allocation (Gtk.Allocation allocation);
-		public void set_app_paintable (bool app_paintable);
-		public void set_can_default (bool can_default);
-		public void set_can_focus (bool can_focus);
-		public void set_child_visible (bool is_visible);
-		public void set_colormap (Gdk.Colormap colormap);
-		public void set_composite_name (string name);
-		public static void set_default_colormap (Gdk.Colormap colormap);
-		public static void set_default_direction (Gtk.TextDirection dir);
-		public void set_direction (Gtk.TextDirection dir);
-		public void set_double_buffered (bool double_buffered);
-		public void set_events (int events);
-		public void set_extension_events (Gdk.ExtensionMode mode);
-		[CCode (cname = "GTK_WIDGET_SET_FLAGS")]
-		public void set_flags (Gtk.WidgetFlags flags);
-		public void set_has_tooltip (bool has_tooltip);
-		public void set_has_window (bool has_window);
-		public void set_mapped (bool mapped);
-		public void set_no_show_all (bool no_show_all);
-		public void set_parent (Gtk.Widget parent);
-		public void set_parent_window (Gdk.Window parent_window);
-		public void set_realized (bool realized);
-		public void set_receives_default (bool receives_default);
-		public void set_redraw_on_allocate (bool redraw_on_allocate);
-		public bool set_scroll_adjustments (Gtk.Adjustment? hadjustment, Gtk.Adjustment? vadjustment);
-		public void set_sensitive (bool sensitive);
-		public void set_size_request (int width, int height);
-		public void set_state (Gtk.StateType state);
-		public void set_style (Gtk.Style? style);
-		public void set_tooltip_markup (string markup);
-		public void set_tooltip_text (string text);
-		public void set_tooltip_window (Gtk.Window custom_window);
-		public void set_visible (bool visible);
-		public void set_window (Gdk.Window window);
-		public void shape_combine_mask (Gdk.Bitmap? shape_mask, int offset_x, int offset_y);
-		public virtual void show_all ();
-		public void show_now ();
-		public void style_attach ();
-		public void style_get (...);
-		public void style_get_property (string property_name, out GLib.Value value);
-		public void style_get_valist (string first_property_name, void* var_args);
-		public void thaw_child_notify ();
-		public bool translate_coordinates (Gtk.Widget dest_widget, int src_x, int src_y, out int dest_x, out int dest_y);
-		public void trigger_tooltip_query ();
-		public void unparent ();
-		[CCode (cname = "GTK_WIDGET_UNSET_FLAGS")]
-		public void unset_flags (Gtk.WidgetFlags flags);
-		public bool app_paintable { get; set; }
-		public bool can_default { get; set; }
-		[NoAccessorMethod]
-		public bool can_focus { get; set; }
-		[NoAccessorMethod]
-		public bool composite_child { get; }
-		public bool double_buffered { get; set; }
-		public Gdk.EventMask events { get; set; }
-		public Gdk.ExtensionMode extension_events { get; set; }
-		[NoAccessorMethod]
-		public bool has_default { get; set; }
-		[NoAccessorMethod]
-		public bool has_focus { get; set; }
-		public bool has_tooltip { get; set; }
-		[NoAccessorMethod]
-		public int height_request { get; set; }
-		[NoAccessorMethod]
-		public bool is_focus { get; set; }
-		public string name { get; set; }
-		public bool no_show_all { get; set; }
-		public Gtk.Container parent { get; set; }
-		public bool receives_default { get; set; }
-		public bool sensitive { get; set; }
-		public Gtk.Style style { get; set; }
-		public string tooltip_markup { get; set; }
-		public string tooltip_text { get; set; }
-		public bool visible { get; set; }
-		[NoAccessorMethod]
-		public int width_request { get; set; }
-		public virtual signal void accel_closures_changed ();
-		public virtual signal bool button_press_event (Gdk.EventButton event);
-		public virtual signal bool button_release_event (Gdk.EventButton event);
-		[HasEmitter]
-		public virtual signal bool can_activate_accel (uint signal_id);
-		[HasEmitter]
-		public virtual signal void child_notify (GLib.ParamSpec pspec);
-		public virtual signal bool client_event (Gdk.EventClient event);
-		public virtual signal void composited_changed ();
-		public virtual signal bool configure_event (Gdk.EventConfigure event);
-		public virtual signal bool damage_event (Gdk.Event p0);
-		public virtual signal bool delete_event (Gdk.Event event);
-		public virtual signal bool destroy_event (Gdk.Event event);
-		public virtual signal void direction_changed (Gtk.TextDirection previous_direction);
-		public virtual signal void drag_begin (Gdk.DragContext context);
-		public virtual signal void drag_data_delete (Gdk.DragContext context);
-		public virtual signal void drag_data_get (Gdk.DragContext context, Gtk.SelectionData selection_data, uint info, uint time_);
-		public virtual signal void drag_data_received (Gdk.DragContext context, int x, int y, Gtk.SelectionData selection_data, uint info, uint time_);
-		public virtual signal bool drag_drop (Gdk.DragContext context, int x, int y, uint time_);
-		public virtual signal void drag_end (Gdk.DragContext context);
-		public virtual signal bool drag_failed (Gdk.DragContext p0, Gtk.DragResult p1);
-		public virtual signal void drag_leave (Gdk.DragContext context, uint time_);
-		public virtual signal bool drag_motion (Gdk.DragContext context, int x, int y, uint time_);
-		public virtual signal bool enter_notify_event (Gdk.EventCrossing event);
-		[HasEmitter]
-		public virtual signal bool event (Gdk.Event event);
-		public virtual signal void event_after (Gdk.Event p0);
-		public virtual signal bool expose_event (Gdk.EventExpose event);
-		public virtual signal bool focus (Gtk.DirectionType direction);
-		public virtual signal bool focus_in_event (Gdk.EventFocus event);
-		public virtual signal bool focus_out_event (Gdk.EventFocus event);
-		public virtual signal bool grab_broken_event (Gdk.Event event);
-		[HasEmitter]
-		public virtual signal void grab_focus ();
-		public virtual signal void grab_notify (bool was_grabbed);
-		[HasEmitter]
-		public virtual signal void hide ();
-		public virtual signal void hierarchy_changed (Gtk.Widget? previous_toplevel);
-		public virtual signal bool key_press_event (Gdk.EventKey event);
-		public virtual signal bool key_release_event (Gdk.EventKey event);
-		[HasEmitter]
-		public virtual signal bool keynav_failed (Gtk.DirectionType p0);
-		public virtual signal bool leave_notify_event (Gdk.EventCrossing event);
-		[HasEmitter]
-		public virtual signal void map ();
-		public virtual signal bool map_event (Gdk.Event event);
-		[HasEmitter]
-		public virtual signal bool mnemonic_activate (bool group_cycling);
-		public virtual signal bool motion_notify_event (Gdk.EventMotion event);
-		public virtual signal void move_focus (Gtk.DirectionType p0);
-		public virtual signal bool no_expose_event (Gdk.EventNoExpose event);
-		public virtual signal void parent_set (Gtk.Widget? previous_parent);
-		public virtual signal bool popup_menu ();
-		public virtual signal bool property_notify_event (Gdk.EventProperty event);
-		public virtual signal bool proximity_in_event (Gdk.EventProximity event);
-		public virtual signal bool proximity_out_event (Gdk.EventProximity event);
-		public virtual signal bool query_tooltip (int x, int y, bool keyboard_tooltip, Gtk.Tooltip tooltip);
-		[HasEmitter]
-		public virtual signal void realize ();
-		public virtual signal void screen_changed (Gdk.Screen previous_screen);
-		public virtual signal bool scroll_event (Gdk.EventScroll event);
-		public virtual signal bool selection_clear_event (Gdk.EventSelection event);
-		public virtual signal void selection_get (Gtk.SelectionData selection_data, uint info, uint time_);
-		public virtual signal bool selection_notify_event (Gdk.EventSelection event);
-		public virtual signal void selection_received (Gtk.SelectionData selection_data, uint time_);
-		public virtual signal bool selection_request_event (Gdk.EventSelection event);
-		[HasEmitter]
-		public virtual signal void show ();
-		public virtual signal bool show_help (Gtk.WidgetHelpType help_type);
-		[HasEmitter]
-		public virtual signal void size_allocate (Gdk.Rectangle allocation);
-		[HasEmitter]
-		public virtual signal void size_request (out Gtk.Requisition requisition);
-		public virtual signal void state_changed (Gtk.StateType previous_state);
-		public virtual signal void style_set (Gtk.Style? previous_style);
-		[HasEmitter]
-		public virtual signal void unmap ();
-		public virtual signal bool unmap_event (Gdk.Event event);
-		[HasEmitter]
-		public virtual signal void unrealize ();
-		public virtual signal bool visibility_notify_event (Gdk.Event event);
-		public virtual signal bool window_state_event (Gdk.EventWindowState event);
-	}
 	[Compact]
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public class WidgetAuxInfo {
@@ -5997,112 +5419,6 @@ namespace Gtk {
 		public abstract void set_cell_data_func (Gtk.CellRenderer cell, owned Gtk.CellLayoutDataFunc func);
 	}
 	[CCode (cheader_filename = "gtk/gtk.h")]
-	public interface Editable {
-		public void copy_clipboard ();
-		public void cut_clipboard ();
-		public void delete_selection ();
-		[NoWrapper]
-		public abstract void do_delete_text (int start_pos, int end_pos);
-		[NoWrapper]
-		public abstract void do_insert_text (string text, int length, int position);
-		public abstract unowned string get_chars (int start_pos, int end_pos);
-		public bool get_editable ();
-		public abstract int get_position ();
-		public abstract bool get_selection_bounds (int start_pos, int end_pos);
-		public void paste_clipboard ();
-		[CCode (vfunc_name = "set_selection_bounds")]
-		public abstract void select_region (int start_pos, int end_pos);
-		public void set_editable (bool is_editable);
-		public abstract void set_position (int position);
-		public signal void changed ();
-		[HasEmitter]
-		public signal void delete_text (int start_pos, int end_pos);
-		[HasEmitter]
-		public signal void insert_text (string text, int length, void* position);
-	}
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public interface FileChooser : Gtk.Widget {
-		public void add_filter (Gtk.FileFilter filter);
-		public bool add_shortcut_folder (string folder) throws GLib.Error;
-		public bool add_shortcut_folder_uri (string uri) throws GLib.Error;
-		public static GLib.Quark error_quark ();
-		public Gtk.FileChooserAction get_action ();
-		public bool get_create_folders ();
-		public string get_current_folder ();
-		public unowned GLib.File get_current_folder_file ();
-		public string get_current_folder_uri ();
-		public bool get_do_overwrite_confirmation ();
-		public unowned Gtk.Widget get_extra_widget ();
-		public unowned GLib.File get_file ();
-		public string get_filename ();
-		public GLib.SList<string> get_filenames ();
-		public GLib.SList<GLib.File> get_files ();
-		public unowned Gtk.FileFilter get_filter ();
-		public bool get_local_only ();
-		public unowned GLib.File get_preview_file ();
-		public string get_preview_filename ();
-		public string get_preview_uri ();
-		public unowned Gtk.Widget get_preview_widget ();
-		public bool get_preview_widget_active ();
-		public bool get_select_multiple ();
-		public bool get_show_hidden ();
-		public string get_uri ();
-		public GLib.SList<string> get_uris ();
-		public bool get_use_preview_label ();
-		public GLib.SList<weak Gtk.FileFilter> list_filters ();
-		public GLib.SList<string>? list_shortcut_folder_uris ();
-		public GLib.SList<string>? list_shortcut_folders ();
-		public void remove_filter (Gtk.FileFilter filter);
-		public bool remove_shortcut_folder (string folder) throws GLib.Error;
-		public bool remove_shortcut_folder_uri (string uri) throws GLib.Error;
-		public void select_all ();
-		public bool select_file (GLib.File file) throws GLib.Error;
-		public bool select_filename (string filename);
-		public bool select_uri (string uri);
-		public void set_action (Gtk.FileChooserAction action);
-		public void set_create_folders (bool create_folders);
-		public bool set_current_folder (string filename);
-		public bool set_current_folder_file (GLib.File file) throws GLib.Error;
-		public bool set_current_folder_uri (string uri);
-		public void set_current_name (string name);
-		public void set_do_overwrite_confirmation (bool do_overwrite_confirmation);
-		public void set_extra_widget (Gtk.Widget extra_widget);
-		public bool set_file (GLib.File file) throws GLib.Error;
-		public bool set_filename (string filename);
-		public void set_filter (Gtk.FileFilter filter);
-		public void set_local_only (bool local_only);
-		public void set_preview_widget (Gtk.Widget preview_widget);
-		public void set_preview_widget_active (bool active);
-		public void set_select_multiple (bool select_multiple);
-		public void set_show_hidden (bool show_hidden);
-		public bool set_uri (string uri);
-		public void set_use_preview_label (bool use_label);
-		public void unselect_all ();
-		public void unselect_file (GLib.File file);
-		public void unselect_filename (string filename);
-		public void unselect_uri (string uri);
-		public Gtk.FileChooserAction action { get; set; }
-		public bool create_folders { get; set; }
-		public bool do_overwrite_confirmation { get; set; }
-		public Gtk.Widget extra_widget { get; set; }
-		public string file_system_backend { construct; }
-		public Gtk.FileFilter filter { get; set; }
-		public bool local_only { get; set; }
-		public Gtk.Widget preview_widget { get; set; }
-		public bool preview_widget_active { get; set; }
-		public bool select_multiple { get; set; }
-		public bool show_hidden { get; set; }
-		public bool use_preview_label { get; set; }
-		public signal Gtk.FileChooserConfirmation confirm_overwrite ();
-		public signal void current_folder_changed ();
-		public signal void file_activated ();
-		public signal void selection_changed ();
-		public signal void update_preview ();
-	}
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public interface FileChooserEmbed {
-	}
-	[CCode (cheader_filename = "gtk/gtk.h")]
 	public interface Orientable {
 		public Gtk.Orientation get_orientation ();
 		public void set_orientation (Gtk.Orientation orientation);
@@ -6247,13 +5563,6 @@ namespace Gtk {
 		[CCode (type = "GCallback")]
 		public Gtk.ActionCallback callback;
 	}
-	[CCode (type_id = "GTK_TYPE_ALLOCATION", cheader_filename = "gtk/gtk.h")]
-	public struct Allocation {
-		public int x;
-		public int y;
-		public int width;
-		public int height;
-	}
 	[CCode (type_id = "GTK_TYPE_IM_CONTEXT_INFO", cheader_filename = "gtk/gtk.h")]
 	public struct IMContextInfo {
 		public weak string context_id;
@@ -7401,17 +6710,11 @@ namespace Gtk {
 	[CCode (cheader_filename = "gtk/gtk.h", has_target = false)]
 	public delegate void AccelMapForeach (void* data, string accel_path, uint accel_key, Gdk.ModifierType accel_mods, bool changed);
 	[CCode (cheader_filename = "gtk/gtk.h")]
-	public delegate void ActionCallback (Gtk.Action action);
-	[CCode (cheader_filename = "gtk/gtk.h")]
 	public delegate int AssistantPageFunc (int current_page);
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public delegate void BuilderConnectFunc (Gtk.Builder builder, GLib.Object object, string signal_name, string handler_name, GLib.Object connect_object, GLib.ConnectFlags flags);
 	[CCode (cheader_filename = "gtk/gtk.h")]
-	public delegate string CalendarDetailFunc (Gtk.Calendar calendar, uint year, uint month, uint day);
-	[CCode (cheader_filename = "gtk/gtk.h")]
 	public delegate void Callback (Gtk.Widget widget);
-	[CCode (cheader_filename = "gtk/gtk.h", has_target = false)]
-	public delegate void CallbackMarshal (Gtk.Object object, void* data, Gtk.Arg[] args);
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public delegate void CellLayoutDataFunc (Gtk.CellLayout cell_layout, Gtk.CellRenderer cell, Gtk.TreeModel tree_model, Gtk.TreeIter iter);
 	[CCode (cheader_filename = "gtk/gtk.h", has_target = false)]
@@ -7448,8 +6751,6 @@ namespace Gtk {
 	public delegate void LinkButtonUriFunc (Gtk.LinkButton button, string link_);
 	[CCode (cheader_filename = "gtk/gtk.h", has_target = false)]
 	public delegate void MenuDetachFunc (Gtk.Widget attach_widget, Gtk.Menu menu);
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public delegate void MenuPositionFunc (Gtk.Menu menu, out int x, out int y, out bool push_in);
 	[CCode (cheader_filename = "gtk/gtk.h", has_target = false)]
 	public delegate void ModuleDisplayInitFunc (Gdk.Display display);
 	[CCode (cheader_filename = "gtk/gtk.h", has_target = false)]
@@ -7460,8 +6761,6 @@ namespace Gtk {
 	public delegate void PageSetupDoneFunc (Gtk.PageSetup page_setup);
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public delegate void PrintSettingsFunc (string key, string value);
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public delegate void RadioActionCallback (Gtk.Action action, Gtk.Action current);
 	[CCode (cheader_filename = "gtk/gtk.h", has_target = false)]
 	public delegate bool RcPropertyParser (GLib.ParamSpec pspec, GLib.StringBuilder rc_string, GLib.Value property_value);
 	[CCode (cheader_filename = "gtk/gtk.h")]
@@ -7501,8 +6800,6 @@ namespace Gtk {
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public delegate bool TreeViewRowSeparatorFunc (Gtk.TreeModel model, Gtk.TreeIter iter);
 	[CCode (cheader_filename = "gtk/gtk.h")]
-	public delegate bool TreeViewSearchEqualFunc (Gtk.TreeModel model, int column, string key, Gtk.TreeIter iter);
-	[CCode (cheader_filename = "gtk/gtk.h")]
 	public delegate void TreeViewSearchPositionFunc (Gtk.TreeView tree_view, Gtk.Widget search_dialog);
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public delegate void WindowKeysForeachFunc (Gtk.Window window, uint keyval, Gdk.ModifierType modifiers, bool is_mnemonic);
@@ -7610,321 +6907,6 @@ namespace Gtk {
 	public const int PRIORITY_REDRAW;
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public const int PRIORITY_RESIZE;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.ABOUT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_ABOUT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.ADD")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_ADD;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.APPLY")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_APPLY;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.BOLD")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_BOLD;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.CANCEL")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_CANCEL;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.CAPS_LOCK_WARNING")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_CAPS_LOCK_WARNING;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.CDROM")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_CDROM;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.CLEAR")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_CLEAR;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.CLOSE")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_CLOSE;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.COLOR_PICKER")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_COLOR_PICKER;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.CONNECT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_CONNECT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.CONVERT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_CONVERT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.COPY")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_COPY;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.CUT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_CUT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.DELETE")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_DELETE;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_AUTHENTICATION")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_DIALOG_AUTHENTICATION;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_ERROR")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_DIALOG_ERROR;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_INFO")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_DIALOG_INFO;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_QUESTION")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_DIALOG_QUESTION;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.DIALOG_WARNING")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_DIALOG_WARNING;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.DIRECTORY")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_DIRECTORY;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.DISCARD")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_DISCARD;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.DISCONNECT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_DISCONNECT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.DND")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_DND;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.DND_MULTIPLE")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_DND_MULTIPLE;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.EDIT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_EDIT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.EXECUTE")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_EXECUTE;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.FILE")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_FILE;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.FIND")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_FIND;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.FIND_AND_REPLACE")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_FIND_AND_REPLACE;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.FLOPPY")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_FLOPPY;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.FULLSCREEN")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_FULLSCREEN;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.GOTO_BOTTOM")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_GOTO_BOTTOM;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.GOTO_FIRST")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_GOTO_FIRST;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.GOTO_LAST")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_GOTO_LAST;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.GOTO_TOP")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_GOTO_TOP;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.GO_BACK")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_GO_BACK;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.GO_DOWN")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_GO_DOWN;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.GO_FORWARD")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_GO_FORWARD;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.GO_UP")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_GO_UP;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.HARDDISK")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_HARDDISK;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.HELP")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_HELP;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.HOME")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_HOME;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.INDENT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_INDENT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.INDEX")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_INDEX;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.INFO")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_INFO;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.ITALIC")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_ITALIC;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.JUMP_TO")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_JUMP_TO;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.JUSTIFY_CENTER")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_JUSTIFY_CENTER;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.JUSTIFY_FILL")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_JUSTIFY_FILL;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.JUSTIFY_LEFT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_JUSTIFY_LEFT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.JUSTIFY_RIGHT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_JUSTIFY_RIGHT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.FULLSCREEN")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_LEAVE_FULLSCREEN;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_FORWARD")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_MEDIA_FORWARD;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_NEXT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_MEDIA_NEXT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_PAUSE")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_MEDIA_PAUSE;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_PLAY")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_MEDIA_PLAY;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_PREVIOUS")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_MEDIA_PREVIOUS;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_RECORD")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_MEDIA_RECORD;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_REWIND")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_MEDIA_REWIND;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.MEDIA_STOP")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_MEDIA_STOP;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.MISSING_IMAGE")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_MISSING_IMAGE;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.NETWORK")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_NETWORK;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.NEW")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_NEW;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.NO")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_NO;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.OK")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_OK;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.OPEN")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_OPEN;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.ORIENTATION_LANDSCAPE")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_ORIENTATION_LANDSCAPE;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.ORIENTATION_PORTRAIT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_ORIENTATION_PORTRAIT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.ORIENTATION_REVERSE_LANDSCAPE")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_ORIENTATION_REVERSE_LANDSCAPE;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.ORIENTATION_REVERSE_PORTRAIT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_ORIENTATION_REVERSE_PORTRAIT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.PAGE_SETUP")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_PAGE_SETUP;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.PASTE")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_PASTE;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.PREFERENCES")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_PREFERENCES;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.PRINT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_PRINT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.PRINT_ERROR")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_PRINT_ERROR;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.PRINT_PAUSED")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_PRINT_PAUSED;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.PRINT_PREVIEW")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_PRINT_PREVIEW;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.PRINT_REPORT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_PRINT_REPORT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.PRINT_WARNING")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_PRINT_WARNING;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.PROPERTIES")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_PROPERTIES;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.QUIT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_QUIT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.REDO")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_REDO;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.REFRESH")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_REFRESH;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.REMOVE")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_REMOVE;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.REVERT_TO_SAVED")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_REVERT_TO_SAVED;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.SAVE")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_SAVE;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.SAVE_AS")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_SAVE_AS;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.SELECT_ALL")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_SELECT_ALL;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.SELECT_COLOR")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_SELECT_COLOR;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.SELECT_FONT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_SELECT_FONT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.SORT_ASCENDING")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_SORT_ASCENDING;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.SORT_DESCENDING")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_SORT_DESCENDING;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.SPELL_CHECK")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_SPELL_CHECK;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.STOP")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_STOP;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.STRIKETHROUGH")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_STRIKETHROUGH;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.UNDELETE")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_UNDELETE;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.UNDERLINE")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_UNDERLINE;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.UNDO")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_UNDO;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.UNINDENT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_UNINDENT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.YES")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_YES;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.ZOOM_100")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_ZOOM_100;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.ZOOM_FIT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_ZOOM_FIT;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.ZOOM_IN")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_ZOOM_IN;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.ZOOM_OUT")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public const string STOCK_ZOOM_OUT;
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public const int TEXT_VIEW_PRIORITY_VALIDATE;
 	[CCode (cheader_filename = "gtk/gtk.h")]
@@ -8215,15 +7197,6 @@ namespace Gtk {
 	public static void show_about_dialog (Gtk.Window? parent, ...);
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public static bool show_uri (Gdk.Screen? screen, string uri, uint32 timestamp) throws GLib.Error;
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.add")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public static void stock_add (Gtk.StockItem[] items);
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.add_static")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public static void stock_add_static (Gtk.StockItem[] items);
-	[Deprecated (since = "vala-0.12", replacement = "Gtk.Stock.list_ids")]
-	[CCode (cheader_filename = "gtk/gtk.h")]
-	public static GLib.SList<string> stock_list_ids ();
 	[CCode (cheader_filename = "gtk/gtk.h")]
 	public static void stock_set_translate_func (string domain, owned Gtk.TranslateFunc func);
 	[CCode (cheader_filename = "gtk/gtk.h")]
diff --git a/vapi/packages/clutter-1.0/clutter-1.0-custom.vala b/vapi/packages/clutter-1.0/clutter-1.0-custom.vapi
similarity index 100%
rename from vapi/packages/clutter-1.0/clutter-1.0-custom.vala
rename to vapi/packages/clutter-1.0/clutter-1.0-custom.vapi
diff --git a/vapi/packages/cogl-1.0/cogl-1.0-custom.vala b/vapi/packages/cogl-1.0/cogl-1.0-custom.vapi
similarity index 100%
rename from vapi/packages/cogl-1.0/cogl-1.0-custom.vala
rename to vapi/packages/cogl-1.0/cogl-1.0-custom.vapi
diff --git a/vapi/packages/gdk-2.0/gdk-2.0-custom.vala b/vapi/packages/gdk-2.0/gdk-2.0-custom.vapi
similarity index 100%
rename from vapi/packages/gdk-2.0/gdk-2.0-custom.vala
rename to vapi/packages/gdk-2.0/gdk-2.0-custom.vapi
diff --git a/vapi/packages/gdk-3.0/gdk-3.0-custom.vala b/vapi/packages/gdk-3.0/gdk-3.0-custom.vapi
similarity index 100%
rename from vapi/packages/gdk-3.0/gdk-3.0-custom.vala
rename to vapi/packages/gdk-3.0/gdk-3.0-custom.vapi
diff --git a/vapi/packages/gdl-1.0/gdl-1.0-custom.vala b/vapi/packages/gdl-1.0/gdl-1.0-custom.vapi
similarity index 100%
rename from vapi/packages/gdl-1.0/gdl-1.0-custom.vala
rename to vapi/packages/gdl-1.0/gdl-1.0-custom.vapi
diff --git a/vapi/packages/gio-2.0/gio-2.0-custom.vala b/vapi/packages/gio-2.0/gio-2.0-custom.vapi
similarity index 100%
rename from vapi/packages/gio-2.0/gio-2.0-custom.vala
rename to vapi/packages/gio-2.0/gio-2.0-custom.vapi
diff --git a/vapi/packages/gio-unix-2.0/gio-unix-2.0-custom.vala b/vapi/packages/gio-unix-2.0/gio-unix-2.0-custom.vapi
similarity index 100%
rename from vapi/packages/gio-unix-2.0/gio-unix-2.0-custom.vala
rename to vapi/packages/gio-unix-2.0/gio-unix-2.0-custom.vapi
diff --git a/vapi/packages/gnome-keyring-1/gnome-keyring-1-custom.vala b/vapi/packages/gnome-keyring-1/gnome-keyring-1-custom.vapi
similarity index 100%
rename from vapi/packages/gnome-keyring-1/gnome-keyring-1-custom.vala
rename to vapi/packages/gnome-keyring-1/gnome-keyring-1-custom.vapi
diff --git a/vapi/packages/gnome-vfs-2.0/gnome-vfs-2.0-custom.vala b/vapi/packages/gnome-vfs-2.0/gnome-vfs-2.0-custom.vapi
similarity index 100%
rename from vapi/packages/gnome-vfs-2.0/gnome-vfs-2.0-custom.vala
rename to vapi/packages/gnome-vfs-2.0/gnome-vfs-2.0-custom.vapi
diff --git a/vapi/packages/goocanvas/goocanvas-custom.vala b/vapi/packages/goocanvas/goocanvas-custom.vapi
similarity index 100%
rename from vapi/packages/goocanvas/goocanvas-custom.vala
rename to vapi/packages/goocanvas/goocanvas-custom.vapi
diff --git a/vapi/packages/gstreamer-0.10/gstreamer-0.10-custom.vala b/vapi/packages/gstreamer-0.10/gstreamer-0.10-custom.vapi
similarity index 100%
rename from vapi/packages/gstreamer-0.10/gstreamer-0.10-custom.vala
rename to vapi/packages/gstreamer-0.10/gstreamer-0.10-custom.vapi
diff --git a/vapi/packages/gstreamer-base-0.10/gstreamer-base-0.10-custom.vala b/vapi/packages/gstreamer-base-0.10/gstreamer-base-0.10-custom.vapi
similarity index 100%
rename from vapi/packages/gstreamer-base-0.10/gstreamer-base-0.10-custom.vala
rename to vapi/packages/gstreamer-base-0.10/gstreamer-base-0.10-custom.vapi
diff --git a/vapi/packages/gstreamer-cdda-0.10/gstreamer-cdda-0.10-custom.vala b/vapi/packages/gstreamer-cdda-0.10/gstreamer-cdda-0.10-custom.vapi
similarity index 100%
rename from vapi/packages/gstreamer-cdda-0.10/gstreamer-cdda-0.10-custom.vala
rename to vapi/packages/gstreamer-cdda-0.10/gstreamer-cdda-0.10-custom.vapi
diff --git a/vapi/packages/gstreamer-controller-0.10/gstreamer-controller-0.10-custom.vala b/vapi/packages/gstreamer-controller-0.10/gstreamer-controller-0.10-custom.vapi
similarity index 100%
rename from vapi/packages/gstreamer-controller-0.10/gstreamer-controller-0.10-custom.vala
rename to vapi/packages/gstreamer-controller-0.10/gstreamer-controller-0.10-custom.vapi
diff --git a/vapi/packages/gstreamer-dataprotocol-0.10/gstreamer-dataprotocol-0.10-custom.vala b/vapi/packages/gstreamer-dataprotocol-0.10/gstreamer-dataprotocol-0.10-custom.vapi
similarity index 100%
rename from vapi/packages/gstreamer-dataprotocol-0.10/gstreamer-dataprotocol-0.10-custom.vala
rename to vapi/packages/gstreamer-dataprotocol-0.10/gstreamer-dataprotocol-0.10-custom.vapi
diff --git a/vapi/packages/gstreamer-interfaces-0.10/gstreamer-interfaces-0.10-custom.vala b/vapi/packages/gstreamer-interfaces-0.10/gstreamer-interfaces-0.10-custom.vapi
similarity index 100%
rename from vapi/packages/gstreamer-interfaces-0.10/gstreamer-interfaces-0.10-custom.vala
rename to vapi/packages/gstreamer-interfaces-0.10/gstreamer-interfaces-0.10-custom.vapi
diff --git a/vapi/packages/gstreamer-rtsp-0.10/gstreamer-rtsp-0.10-custom.vala b/vapi/packages/gstreamer-rtsp-0.10/gstreamer-rtsp-0.10-custom.vapi
similarity index 100%
rename from vapi/packages/gstreamer-rtsp-0.10/gstreamer-rtsp-0.10-custom.vala
rename to vapi/packages/gstreamer-rtsp-0.10/gstreamer-rtsp-0.10-custom.vapi
diff --git a/vapi/packages/gstreamer-video-0.10/gstreamer-video-0.10-custom.vala b/vapi/packages/gstreamer-video-0.10/gstreamer-video-0.10-custom.vapi
similarity index 100%
rename from vapi/packages/gstreamer-video-0.10/gstreamer-video-0.10-custom.vala
rename to vapi/packages/gstreamer-video-0.10/gstreamer-video-0.10-custom.vapi
diff --git a/vapi/packages/gtk+-2.0/gtk+-2.0-custom.vala b/vapi/packages/gtk+-2.0/gtk+-2.0-custom.vapi
similarity index 100%
rename from vapi/packages/gtk+-2.0/gtk+-2.0-custom.vala
rename to vapi/packages/gtk+-2.0/gtk+-2.0-custom.vapi
diff --git a/vapi/packages/gtk+-3.0/gtk+-3.0-custom.vala b/vapi/packages/gtk+-3.0/gtk+-3.0-custom.vapi
similarity index 100%
rename from vapi/packages/gtk+-3.0/gtk+-3.0-custom.vala
rename to vapi/packages/gtk+-3.0/gtk+-3.0-custom.vapi
diff --git a/vapi/packages/hildon-1/hildon-1-custom.vala b/vapi/packages/hildon-1/hildon-1-custom.vapi
similarity index 100%
rename from vapi/packages/hildon-1/hildon-1-custom.vala
rename to vapi/packages/hildon-1/hildon-1-custom.vapi
diff --git a/vapi/packages/libgda-4.0/libgda-4.0-custom.vala b/vapi/packages/libgda-4.0/libgda-4.0-custom.vapi
similarity index 100%
rename from vapi/packages/libgda-4.0/libgda-4.0-custom.vala
rename to vapi/packages/libgda-4.0/libgda-4.0-custom.vapi
diff --git a/vapi/packages/libgdata/libgdata-custom.vala b/vapi/packages/libgdata/libgdata-custom.vapi
similarity index 100%
rename from vapi/packages/libgdata/libgdata-custom.vala
rename to vapi/packages/libgdata/libgdata-custom.vapi
diff --git a/vapi/packages/libgnome-menu/libgnome-menu-custom.vala b/vapi/packages/libgnome-menu/libgnome-menu-custom.vapi
similarity index 100%
rename from vapi/packages/libgnome-menu/libgnome-menu-custom.vala
rename to vapi/packages/libgnome-menu/libgnome-menu-custom.vapi
diff --git a/vapi/packages/libgnomeui-2.0/libgnomeui-2.0-custom.vala b/vapi/packages/libgnomeui-2.0/libgnomeui-2.0-custom.vapi
similarity index 100%
rename from vapi/packages/libgnomeui-2.0/libgnomeui-2.0-custom.vala
rename to vapi/packages/libgnomeui-2.0/libgnomeui-2.0-custom.vapi
diff --git a/vapi/packages/libgsf-1/libgsf-1-custom.vala b/vapi/packages/libgsf-1/libgsf-1-custom.vapi
similarity index 100%
rename from vapi/packages/libgsf-1/libgsf-1-custom.vala
rename to vapi/packages/libgsf-1/libgsf-1-custom.vapi
diff --git a/vapi/packages/libsoup-2.4/libsoup-2.4-custom.vala b/vapi/packages/libsoup-2.4/libsoup-2.4-custom.vapi
similarity index 100%
rename from vapi/packages/libsoup-2.4/libsoup-2.4-custom.vala
rename to vapi/packages/libsoup-2.4/libsoup-2.4-custom.vapi
diff --git a/vapi/packages/loudmouth-1.0/loudmouth-1.0-custom.vala b/vapi/packages/loudmouth-1.0/loudmouth-1.0-custom.vapi
similarity index 100%
rename from vapi/packages/loudmouth-1.0/loudmouth-1.0-custom.vala
rename to vapi/packages/loudmouth-1.0/loudmouth-1.0-custom.vapi
diff --git a/vapi/packages/pango/pango-custom.vala b/vapi/packages/pango/pango-custom.vapi
similarity index 100%
rename from vapi/packages/pango/pango-custom.vala
rename to vapi/packages/pango/pango-custom.vapi
diff --git a/vapi/packages/purple/purple-custom.vala b/vapi/packages/purple/purple-custom.vapi
similarity index 100%
rename from vapi/packages/purple/purple-custom.vala
rename to vapi/packages/purple/purple-custom.vapi
diff --git a/vapi/packages/rest-0.6/rest-0.6-custom.vala b/vapi/packages/rest-0.6/rest-0.6-custom.vapi
similarity index 100%
rename from vapi/packages/rest-0.6/rest-0.6-custom.vala
rename to vapi/packages/rest-0.6/rest-0.6-custom.vapi
diff --git a/vapi/packages/rest-extras-0.6/rest-extras-0.6-custom.vala b/vapi/packages/rest-extras-0.6/rest-extras-0.6-custom.vapi
similarity index 100%
rename from vapi/packages/rest-extras-0.6/rest-extras-0.6-custom.vala
rename to vapi/packages/rest-extras-0.6/rest-extras-0.6-custom.vapi
diff --git a/vapi/packages/tracker-indexer-module-1.0/tracker-indexer-module-1.0-custom.vala b/vapi/packages/tracker-indexer-module-1.0/tracker-indexer-module-1.0-custom.vapi
similarity index 100%
rename from vapi/packages/tracker-indexer-module-1.0/tracker-indexer-module-1.0-custom.vala
rename to vapi/packages/tracker-indexer-module-1.0/tracker-indexer-module-1.0-custom.vapi
diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala
index f7061bc..6171008 100644
--- a/vapigen/valagidlparser.vala
+++ b/vapigen/valagidlparser.vala
@@ -355,6 +355,7 @@ public class Vala.GIdlParser : CodeVisitor {
 			cc = cp.scope.lookup (tok) as Symbol;
 			if ( cc == null ) {
 				cc = new Namespace (tok, current_source_reference);
+				cc.external = true;
 				((Namespace) cc).add_cprefix (cp.get_cprefix () + tok);
 				add_symbol_to_container (cp, cc);
 			}
@@ -375,6 +376,7 @@ public class Vala.GIdlParser : CodeVisitor {
 			}
 		} else {
 			ns = new Namespace (module.name, current_source_reference);
+			ns.external = true;
 		}
 
 		current_namespace = ns;
@@ -450,6 +452,7 @@ public class Vala.GIdlParser : CodeVisitor {
 
 		var cb = new Delegate (node.name, return_type, current_source_reference);
 		cb.access = SymbolAccessibility.PUBLIC;
+		cb.external = true;
 
 		bool check_has_target = true;
 
@@ -615,6 +618,7 @@ public class Vala.GIdlParser : CodeVisitor {
 			if (st == null) {
 				st = new Struct (name, current_source_reference);
 				st.access = SymbolAccessibility.PUBLIC;
+				st.external = true;
 
 				var st_attributes = get_attributes (node.name);
 				if (st_attributes != null) {
@@ -698,6 +702,7 @@ public class Vala.GIdlParser : CodeVisitor {
 
 				cl = new Class (name, current_source_reference);
 				cl.access = SymbolAccessibility.PUBLIC;
+				cl.external = true;
 				cl.is_compact = true;
 
 				var cl_attributes = get_attributes (node.name);
@@ -822,6 +827,7 @@ public class Vala.GIdlParser : CodeVisitor {
 			if (st == null) {
 				st = new Struct (name, current_source_reference);
 				st.access = SymbolAccessibility.PUBLIC;
+				st.external = true;
 
 				var st_attributes = get_attributes (node.name);
 				if (st_attributes != null) {
@@ -871,6 +877,7 @@ public class Vala.GIdlParser : CodeVisitor {
 			if (cl == null) {
 				cl = new Class (name, current_source_reference);
 				cl.access = SymbolAccessibility.PUBLIC;
+				cl.external = true;
 				cl.is_compact = true;
 
 				var cl_attributes = get_attributes (node.name);
@@ -962,6 +969,7 @@ public class Vala.GIdlParser : CodeVisitor {
 			if (st == null) {
 				st = new Struct (name, current_source_reference);
 				st.access = SymbolAccessibility.PUBLIC;
+				st.external = true;
 
 				var st_attributes = get_attributes (node.name);
 				if (st_attributes != null) {
@@ -1028,6 +1036,7 @@ public class Vala.GIdlParser : CodeVisitor {
 
 				cl = new Class (name, current_source_reference);
 				cl.access = SymbolAccessibility.PUBLIC;
+				cl.external = true;
 				cl.is_compact = true;
 
 				var cl_attributes = get_attributes (node.name);
@@ -1132,6 +1141,7 @@ public class Vala.GIdlParser : CodeVisitor {
 		if (en == null) {
 			en = new Enum (name, current_source_reference);
 			en.access = SymbolAccessibility.PUBLIC;
+			en.external = true;
 			existing = false;
 		} else {
 			// ignore dummy enum values in -custom.vala files
@@ -1218,6 +1228,7 @@ public class Vala.GIdlParser : CodeVisitor {
 					return_type.value_owned = false;
 					var m = new Method ("to_string", return_type, current_source_reference);
 					m.access = SymbolAccessibility.PUBLIC;
+					m.external = true;
 					m.set_cname (eval(nv[1]));
 					en.add_method (m);
 				}
@@ -1240,6 +1251,7 @@ public class Vala.GIdlParser : CodeVisitor {
 
 			if (!is_hidden) {
 				var ev = new EnumValue (value2.name.offset (common_prefix.length), null);
+				ev.external = true;
 				en.add_value (ev);
 			}
 		}
@@ -1247,6 +1259,7 @@ public class Vala.GIdlParser : CodeVisitor {
 		if (is_errordomain) {
 			var ed = new ErrorDomain (en.name, current_source_reference);
 			ed.access = SymbolAccessibility.PUBLIC;
+			ed.external = true;
 			ed.set_cprefix (common_prefix);
 
 			foreach (string filename in cheader_filenames) {
@@ -1279,6 +1292,7 @@ public class Vala.GIdlParser : CodeVisitor {
 		if (cl == null) {
 			cl = new Class (name, current_source_reference);
 			cl.access = SymbolAccessibility.PUBLIC;
+			cl.external = true;
 			
 			var attributes = get_attributes (node.gtype_name);
 			if (attributes != null) {
@@ -1412,6 +1426,7 @@ public class Vala.GIdlParser : CodeVisitor {
 			var cm = new CreationMethod (null, null, cl.source_reference);
 			cm.has_construct_function = false;
 			cm.access = SymbolAccessibility.PROTECTED;
+			cm.external = true;
 			cl.add_method (cm);
 		}
 
@@ -1426,6 +1441,7 @@ public class Vala.GIdlParser : CodeVisitor {
 		if (iface == null) {
 			iface = new Interface (name, current_source_reference);
 			iface.access = SymbolAccessibility.PUBLIC;
+			iface.external = true;
 			
 			var attributes = get_attributes (node.gtype_name);
 			if (attributes != null) {
@@ -1920,6 +1936,7 @@ public class Vala.GIdlParser : CodeVisitor {
 		if (!is_interface && (is_constructor || name.has_prefix ("new"))) {
 			m = new CreationMethod (null, name, current_source_reference);
 			m.has_construct_function = false;
+			m.external = true;
 			if (m.name == "new") {
 				m.name = null;
 			} else if (m.name.has_prefix ("new_")) {
@@ -1936,6 +1953,7 @@ public class Vala.GIdlParser : CodeVisitor {
 			}
 		} else {
 			m = new Method (name, return_type, current_source_reference);
+			m.external = true;
 		}
 		m.access = SymbolAccessibility.PUBLIC;
 
@@ -2379,6 +2397,7 @@ public class Vala.GIdlParser : CodeVisitor {
 		
 		var prop = new Property (fix_prop_name (node.name), parse_type (prop_node.type), null, null, current_source_reference);
 		prop.access = SymbolAccessibility.PUBLIC;
+		prop.external = true;
 		prop.interface_only = true;
 
 		if (prop_node.type.is_interface && prop_node.type.interface == "GStrv") {
@@ -2556,6 +2575,7 @@ public class Vala.GIdlParser : CodeVisitor {
 
 		var field = new Field (field_name, type, null, current_source_reference);
 		field.access = SymbolAccessibility.PUBLIC;
+		field.external = true;
 
 		if (field_name != node.name) {
 			field.set_cname (node.name);
@@ -2679,6 +2699,7 @@ public class Vala.GIdlParser : CodeVisitor {
 		
 		var sig = new Signal (fix_prop_name (node.name), parse_param (sig_node.result), current_source_reference);
 		sig.access = SymbolAccessibility.PUBLIC;
+		sig.external = true;
 		
 		var attributes = get_attributes ("%s::%s".printf (current_data_type.get_cname (), sig.name));
 		if (attributes != null) {
diff --git a/vapigen/valavapigen.vala b/vapigen/valavapigen.vala
index cb44363..f3656b1 100644
--- a/vapigen/valavapigen.vala
+++ b/vapigen/valavapigen.vala
@@ -122,14 +122,15 @@ class Vala.VAPIGen : Object {
 		if (context.report.get_errors () > 0) {
 			return quit ();
 		}
-		
+
 		foreach (string source in sources) {
-			if (FileUtils.test (source, FileTest.EXISTS)) {
-				context.add_source_file (new SourceFile (context, SourceFileType.PACKAGE, source));
+			if (source.has_suffix (".vapi")) {
+				context.add_source_filename (source);
 			} else {
-				Report.error (null, "%s not found".printf (source));
+				context.add_source_filename (source, true);
 			}
 		}
+		sources = null;
 		
 		if (context.report.get_errors () > 0) {
 			return quit ();
@@ -162,21 +163,6 @@ class Vala.VAPIGen : Object {
 			return quit ();
 		}
 
-		// interface writer ignores external packages
-		foreach (SourceFile file in context.get_source_files ()) {
-			if (file.filename.has_suffix (".vapi")) {
-				continue;
-			}
-			if (file.filename in sources) {
-				file.file_type = SourceFileType.SOURCE;
-			} else if (file.filename.has_suffix (".metadata")) {
-				string gir_filename = "%s.gir".printf (file.filename.ndup (file.filename.length - ".metadata".length));
-				if (gir_filename in sources) {
-					file.file_type = SourceFileType.SOURCE;
-				}
-			}
-		}
-
 		var interface_writer = new CodeWriter ();
 		var vapi_filename = "%s.vapi".printf (library);
 		if (directory != null) {



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