summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYakov Goldberg <yakov.g@samsung.com>2012-12-06 20:26:11 +0200
committerYakov Goldberg <yakov.g@samsung.com>2012-12-06 20:26:11 +0200
commit2b1d0291682d8a61e2f953f3ffb2381c96a63556 (patch)
treedc5aaa8ddb6190ab0cbb5d0e523927718f74afc8
parent4884084fbf61c6446c90bc9d8eec6018789942c1 (diff)
DEV README updated
Signed-off-by: Yakov Goldberg <yakov.g@samsung.com>
-rw-r--r--DEV_README89
1 files changed, 89 insertions, 0 deletions
diff --git a/DEV_README b/DEV_README
index 3e8a315..2d4df07 100644
--- a/DEV_README
+++ b/DEV_README
@@ -52,6 +52,95 @@ Callbacks in Python.
52 - define extern event's enum 52 - define extern event's enum
53 - define public event_add/del funcs for class 53 - define public event_add/del funcs for class
54 54
55Callbacks in JS:
56 In elev8 one callback per event was implemented, without adding cb data.
57
58 There are some ideas how to put several callbacks and data if needed, but it must be checked.
59
60
61Constructing object:
62 Now objects are constructed with default constuctor.
63 Some classes provide custom constructors and some ONLY custom constructors.
64
65 example for window:
66 eo_add_custom(eo, elm_win_constructor("my win", ELM_WIN_BASIC))
67
68 in Python:
69 can be called like this
70 win = ElmWin("my win", ELM_WIN_BASIC)
71
72 in JS??
73 in elev8 - this is hardcoded, ("main" ELM_WIN_BASIC) is created
74
75 Issues:
76 How to fetch custom constructors from source?
77 Add decorators to comments. Looks like fine.
78
79 How to call custom constructors with same signature, but with different name?
80 eo_add_custom(eo, elm_win_constructor_one("my win", ELM_WIN_BASIC))
81 eo_add_custom(eo, elm_win_constructor_two("my win", ELM_WIN_BASIC))
82
83 What to do in Python?
84 Define additional variable?
85 win = ElmWin(win.CONSTR1, "my win", ELM_WIN_BASIC)
86
87 and provide the way to parse argv[] in __init__ func?
88
89
90Parameter's Types;
91 Basic types can be detected;
92 also "types" file can be provided which says how to cas to basic types:
93 <type from="Evas_Font_Size" to="int"/>
94 <type from="Eo_Callback_Priority" to="short"/>
95 <type from="Evas_Smart" to="Eo"/>
96
97 if some type wasn't found, function will not be generated.
98
99 Issues:
100 Types like Eina_List, arrays, structs?
101 can be done by providing decorators, but requires work.
102
103 Returning existing Object or new one.
104 Need to check returning instance with eo_base_data_get();
105 if o != NULL:
106 return o
107 else: ( need to create one:)
108 get class name,
109 find constructor
110 create object
111
112 Requires work.
113
114
115Enums from headers.
116 Need to provide decorators, to understand how to fetch it
117
118Adding elm_init() and other additional funcs
119
120 Sometimes some additional functions like elmi_init(), elm_run()
121 are needed. These functions are not introspectable.
122
123 So they must be added manually.
124
125 To do this user must provide definitions in *.pxd *.pxi files,
126 include *.pxi into generated 'module_name.pyx' file and compile
127
128 'elm_add.pxi', 'elm_add.pxd' added to eo_py folder
129
130
131Property parsing
132
133all funcs are public, impossible to override not needed
134
135Visibility in CElmObject
136
137
138
139
140
141
142
143
55 144
56 145
57 146