diff options
author | Raffaele Sandrini <raffaele@sandrini.ch> | 2008-07-08 09:59:21 +0000 |
---|---|---|
committer | Raffaele Sandrini <rasa@src.gnome.org> | 2008-07-08 09:59:21 +0000 |
commit | 141bea444669efd2cb9e7f2b9ad4e18ad552295c (patch) | |
tree | a9248354ee71e48c97bc16069bfe3c80cdb279be | |
parent | 14529b46b7813fc3d5648bc425a1b0389adcd204 (diff) | |
download | vala-141bea444669efd2cb9e7f2b9ad4e18ad552295c.tar.gz |
Allow vapi metadata to declare abstract methods, fix GtkCellRenderer
2008-07-08 Raffaele Sandrini <raffaele@sandrini.ch>
* vapi/packages/gtk+-2.0/gtk+-2.0.metadata:
* vapigen/valagidlparser.vala:
Allow vapi metadata to declare abstract methods, fix GtkCellRenderer
methods _get_size and _render to be abstract, based on patch by
Jared Moore, fixes bug 522355
* vapi/gtk+-2.0.vapi: Regenerated
svn path=/trunk/; revision=1687
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | vapi/gtk+-2.0.vapi | 8 | ||||
-rw-r--r-- | vapi/packages/gtk+-2.0/gtk+-2.0.metadata | 3 | ||||
-rw-r--r-- | vapigen/valagidlparser.vala | 12 |
4 files changed, 28 insertions, 6 deletions
@@ -1,3 +1,14 @@ +2008-07-08 Raffaele Sandrini <raffaele@sandrini.ch> + + * vapi/packages/gtk+-2.0/gtk+-2.0.metadata: + * vapigen/valagidlparser.vala: + + Allow vapi metadata to declare abstract methods, fix GtkCellRenderer + methods _get_size and _render to be abstract, based on patch by + Jared Moore, fixes bug 522355 + + * vapi/gtk+-2.0.vapi: Regenerated + 2008-07-08 Jürg Billeter <j@bitron.ch> * gobject/valaccodeclassbinding.vala: diff --git a/vapi/gtk+-2.0.vapi b/vapi/gtk+-2.0.vapi index 6f6f005e2..ad2cd2c50 100644 --- a/vapi/gtk+-2.0.vapi +++ b/vapi/gtk+-2.0.vapi @@ -1,4 +1,4 @@ -/* gtk+-2.0.vapi generated by vapigen, do not modify. */ +/* gtk+-2.0.vapi generated by lt-vapigen, do not modify. */ [CCode (cprefix = "Gtk", lower_case_cprefix = "gtk_")] namespace Gtk { @@ -2190,14 +2190,14 @@ namespace Gtk { public virtual signal void prev_year (); } [CCode (cheader_filename = "gtk/gtk.h")] - public class CellRenderer : Gtk.Object { + public abstract class CellRenderer : Gtk.Object { public uint editing; public void get_fixed_size (int width, int height); public void set_fixed_size (int width, int height); public void stop_editing (bool canceled); public virtual bool activate (Gdk.Event event, Gtk.Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags); - public virtual void get_size (Gtk.Widget widget, Gdk.Rectangle? cell_area, out int x_offset, out int y_offset, out int width, out int height); - public virtual void render (Gdk.Window window, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, Gtk.CellRendererState flags); + public abstract void get_size (Gtk.Widget widget, Gdk.Rectangle? cell_area, out int x_offset, out int y_offset, out int width, out int height); + public abstract void render (Gdk.Window window, Gtk.Widget widget, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gdk.Rectangle expose_area, Gtk.CellRendererState flags); public virtual weak Gtk.CellEditable start_editing (Gdk.Event event, Gtk.Widget widget, string path, Gdk.Rectangle background_area, Gdk.Rectangle cell_area, Gtk.CellRendererState flags); [NoAccessorMethod] public string cell_background { set; } diff --git a/vapi/packages/gtk+-2.0/gtk+-2.0.metadata b/vapi/packages/gtk+-2.0/gtk+-2.0.metadata index 8c71b97ac..c1b6f0e74 100644 --- a/vapi/packages/gtk+-2.0/gtk+-2.0.metadata +++ b/vapi/packages/gtk+-2.0/gtk+-2.0.metadata @@ -57,11 +57,14 @@ GtkCellEditable::editing_done has_emitter="1" GtkCellEditable::remove_widget has_emitter="1" GtkCellEditable::start_editing has_emitter="1" gtk_cell_layout_set_attributes ellipsis="1" +gtk_cell_renderer_get_size abstract="1" gtk_cell_renderer_get_size.cell_area nullable="1" gtk_cell_renderer_get_size.x_offset is_out="1" gtk_cell_renderer_get_size.y_offset is_out="1" gtk_cell_renderer_get_size.width is_out="1" gtk_cell_renderer_get_size.height is_out="1" +gtk_cell_renderer_render abstract="1" +GtkCellRenderer abstract="1" GtkCellRenderer::editing_canceled has_emitter="1" gtk_cell_view_get_size_of_row.requisition is_out="1" gtk_cell_view_set_model.model nullable="1" diff --git a/vapigen/valagidlparser.vala b/vapigen/valagidlparser.vala index 0d512a4bf..c97d87d90 100644 --- a/vapigen/valagidlparser.vala +++ b/vapigen/valagidlparser.vala @@ -843,6 +843,10 @@ public class Vala.GIdlParser : CodeVisitor { if (eval (nv[1]) == "1") { return; } + } else if (nv[0] == "abstract") { + if (eval (nv[1]) == "1") { + cl.is_abstract = true; + } } } } @@ -1326,6 +1330,10 @@ public class Vala.GIdlParser : CodeVisitor { } } else if (nv[0] == "cheader_filename") { m.add_cheader_filename (eval (nv[1])); + } else if (nv[0] == "abstract") { + if (eval (nv[1]) == "1") { + m.is_abstract = true; + } } } } @@ -1536,8 +1544,8 @@ public class Vala.GIdlParser : CodeVisitor { Method m = create_method (node.name, symbol, v.result, func != null ? func.parameters : v.parameters, false, is_interface); if (m != null) { m.binding = MemberBinding.INSTANCE; - m.is_virtual = !is_interface; - m.is_abstract = is_interface; + m.is_virtual = !(m.is_abstract || is_interface); + m.is_abstract = m.is_abstract || is_interface; if (func == null) { m.attributes.append (new Attribute ("NoWrapper", null)); |