r4681 - in trunk/src/host/pye17: . codegen ecore_evas edje

marek at docs.openmoko.org marek at docs.openmoko.org
Mon Sep 29 13:10:28 CEST 2008


Author: marek
Date: 2008-09-29 13:10:27 +0200 (Mon, 29 Sep 2008)
New Revision: 4681

Modified:
   trunk/src/host/pye17/Makefile
   trunk/src/host/pye17/codegen/argtypes.py
   trunk/src/host/pye17/codegen/h2def.py
   trunk/src/host/pye17/ecore_evas/ecore_evas.override
   trunk/src/host/pye17/edje/Makefile
   trunk/src/host/pye17/edje/edje.override
Log:
edje support added

Modified: trunk/src/host/pye17/Makefile
===================================================================
--- trunk/src/host/pye17/Makefile	2008-09-29 06:07:38 UTC (rev 4680)
+++ trunk/src/host/pye17/Makefile	2008-09-29 11:10:27 UTC (rev 4681)
@@ -19,7 +19,7 @@
 PYTHON = $(shell which python)
 
 
-e_bindings = evas ecore ecore_evas
+e_bindings = evas ecore ecore_evas edje
 
 ### ToDo ###
 # ecore

Modified: trunk/src/host/pye17/codegen/argtypes.py
===================================================================
--- trunk/src/host/pye17/codegen/argtypes.py	2008-09-29 06:07:38 UTC (rev 4680)
+++ trunk/src/host/pye17/codegen/argtypes.py	2008-09-29 11:10:27 UTC (rev 4681)
@@ -1148,5 +1148,11 @@
 matcher.register_pointer('Ecore_Win32_Window', 'G_TYPE_OBJECT')
 matcher.register_pointer('Ecore_WinCE_Window', 'G_TYPE_OBJECT')
 
+# edje
+matcher.register_pointer('Evas_List', 'G_TYPE_OBJECT')
+matcher.register_pointer('Evas_Coord', 'G_TYPE_OBJECT')
+matcher.register('Evas_Event_Flags', UIntArg())  # how to handle enum ?
+
+
 # matcher.register_pointer('', 'G_TYPE_OBJECT')
 

Modified: trunk/src/host/pye17/codegen/h2def.py
===================================================================
--- trunk/src/host/pye17/codegen/h2def.py	2008-09-29 06:07:38 UTC (rev 4680)
+++ trunk/src/host/pye17/codegen/h2def.py	2008-09-29 11:10:27 UTC (rev 4681)
@@ -221,6 +221,8 @@
 	#print "name: " + m.group(1)
 	#print "alt. name: >" + m.group(3) + "<"
 
+	pos = m.end()
+
 	name = m.group(3)
 
 	if not name:
@@ -229,6 +231,10 @@
 	if name in enum_typedef:
 		name = enum_typedef[name]
 
+	# enums without names act like defines (e.g. #define bla 1)
+	if not name:
+		continue
+
         vals = m.group(2)
 
         isflags = string.find(vals, '<<') >= 0
@@ -239,8 +245,6 @@
         if name != 'GdkCursorType':
             enums.append((name, isflags, entries))
 
-        pos = m.end()
-
 # ------------------ Find function definitions -----------------
 
 def clean_func(buf):
@@ -252,6 +256,11 @@
     # bulk comments
     buf = strip_comments(buf)
 
+    # e stuff - "//(/) <comments> \n"
+    pat = re.compile(r'/[/]+.*\n', re.VERBOSE)
+    buf = pat.sub('', buf)
+    #print "functions 0: >>" + buf + "<<"
+
     # compact continued lines
     pat = re.compile(r"""\\\n""", re.MULTILINE)
     buf = pat.sub('', buf)
@@ -456,8 +465,10 @@
 					argument = args[begin_copy:i]
 				else:
 					argument = args[begin_copy:i + 1]
+
 				begin_copy = i + 1
-				argument = argument.lstrip(", ")
+				argument = argument.lstrip(", ").rstrip(" ")
+
 				#print "argument: " + argument
 				callback = argument.find('(')
 				if callback > -1:
@@ -466,6 +477,7 @@
 				spaces = string.count(argument, ' ')
 				if spaces > 1:
 					argument = string.replace(argument, ' ', '-', spaces - 1)
+				#print "argument: " + argument + "; num spaces: " + str(spaces)
 				arguments.append(argument)
 
 		# look for callback parameters

Modified: trunk/src/host/pye17/ecore_evas/ecore_evas.override
===================================================================
--- trunk/src/host/pye17/ecore_evas/ecore_evas.override	2008-09-29 06:07:38 UTC (rev 4680)
+++ trunk/src/host/pye17/ecore_evas/ecore_evas.override	2008-09-29 11:10:27 UTC (rev 4681)
@@ -7,3 +7,4 @@
 %%
 ignore-glob
   *_get_type
+%%
\ No newline at end of file

Modified: trunk/src/host/pye17/edje/Makefile
===================================================================
--- trunk/src/host/pye17/edje/Makefile	2008-09-29 06:07:38 UTC (rev 4680)
+++ trunk/src/host/pye17/edje/Makefile	2008-09-29 11:10:27 UTC (rev 4681)
@@ -1,8 +1,8 @@
 
-EVAS_PATH=$(E_PATH)/evas/src/lib
 EDJE_PATH=$(E_PATH)/edje/src/lib
 
-CFLAGS = -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include/ -I/usr/include/python2.5 -I/usr/include/pygtk-2.0/ -I$(EVAS_PATH) -I$(EDJE_PATH) -I.
+CFLAGS = -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include/ -I/usr/include/python2.5 -I/usr/include/pygtk-2.0/ -I$(EDJE_PATH) -I.
+LDFLAGS = -ledje -L/usr/local/lib -lglib-2.0
 
 .PHONY: all clean edje.so
 
@@ -12,10 +12,11 @@
 	$(CC) $(LDFLAGS) -shared $^ -o $@
 
 edje.c: edje.defs edje.override
-	$(PYTHON) $(CODEGEN_PATH)/codegen.py --prefix edje --override edje.override --register ../evas/evas.defs edje.defs > $@
+	$(PYTHON) $(CODEGEN_PATH)/codegen.py --prefix edje --override edje.override edje.defs > $@
 
-edje.defs: $(CODEGEN_PATH)/h2def.py $(EDJE_PATH)/Edje.h
+edje.defs: $(CODEGEN_PATH)/h2def.py $(EDJE_PATH)/Edje.h $(EDJE_PATH)/Edje_Edit.h
 	$(CODEGEN_PATH)/h2def.py $(EDJE_PATH)/Edje.h > edje.defs
+	$(CODEGEN_PATH)/h2def.py $(EDJE_PATH)/Edje_Edit.h >> edje.defs
 
 clean:
-	rm -f *.o edje.defs edje.c
+	rm -f *.o *~ edje.defs edje.c edje.so

Modified: trunk/src/host/pye17/edje/edje.override
===================================================================
--- trunk/src/host/pye17/edje/edje.override	2008-09-29 06:07:38 UTC (rev 4680)
+++ trunk/src/host/pye17/edje/edje.override	2008-09-29 11:10:27 UTC (rev 4681)
@@ -1,14 +1,11 @@
 %%
 headers
-#include <Python.h>               
 #include "pygobject.h"
-#include "Evas.h"
 #include "Edje.h"
+#include "Edje_Edit.h"
 %%
-modulename edje                     
+modulename edje
 %%
-import gtk.Plug as PyGtkPlug_Type       
-%%
 ignore-glob
-  *_get_type                            
-%%
+  *_get_type
+%%
\ No newline at end of file




More information about the commitlog mailing list