vala r1687 - in trunk: . vapi vapi/packages/gtk+-2.0 vapigen



Author: rasa
Date: Tue Jul  8 09:59:21 2008
New Revision: 1687
URL: http://svn.gnome.org/viewvc/vala?rev=1687&view=rev

Log:
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


Modified:
   trunk/ChangeLog
   trunk/vapi/gtk+-2.0.vapi
   trunk/vapi/packages/gtk+-2.0/gtk+-2.0.metadata
   trunk/vapigen/valagidlparser.vala

Modified: trunk/vapi/gtk+-2.0.vapi
==============================================================================
--- trunk/vapi/gtk+-2.0.vapi	(original)
+++ trunk/vapi/gtk+-2.0.vapi	Tue Jul  8 09:59:21 2008
@@ -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 @@
 		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; }

Modified: trunk/vapi/packages/gtk+-2.0/gtk+-2.0.metadata
==============================================================================
--- trunk/vapi/packages/gtk+-2.0/gtk+-2.0.metadata	(original)
+++ trunk/vapi/packages/gtk+-2.0/gtk+-2.0.metadata	Tue Jul  8 09:59:21 2008
@@ -57,11 +57,14 @@
 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"

Modified: trunk/vapigen/valagidlparser.vala
==============================================================================
--- trunk/vapigen/valagidlparser.vala	(original)
+++ trunk/vapigen/valagidlparser.vala	Tue Jul  8 09:59:21 2008
@@ -843,6 +843,10 @@
 						if (eval (nv[1]) == "1") {
 							return;
 						}
+					} else if (nv[0] == "abstract") {
+						if (eval (nv[1]) == "1") {
+							cl.is_abstract = true;
+						}
 					}
 				}
 			}
@@ -1326,6 +1330,10 @@
 					}
 				} 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 @@
 		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));



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