Commit Graph

1060 Commits

Author SHA1 Message Date
Vyacheslav Reutskiy d08dd13d3d edje_pick: fix a copied aliases
Summary:

@fix

Reviewers: raster, Hermet, seoz, cedric

Subscribers: cedric, seoz, Sachiel

Differential Revision: https://phab.enlightenment.org/D1305
2014-08-14 00:08:07 +09:00
Vyacheslav Reutskiy c8976fb21e edje_pick: fix a segfault on 'set' copy
Summary:
wrong structure, a Edje_Image_Directory_Set_Entry, used for copy
a set's data to new file.

@fix

Reviewers: raster, seoz, cedric, Hermet

Reviewed By: Hermet

Subscribers: Sachiel, cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1304
2014-08-14 00:03:18 +09:00
Carsten Haitzler 970968daab embyro-cc - fix coverity overruun issue
overrun in fatal msg access - fix CID 1039315
2014-08-13 17:14:53 +09:00
Carsten Haitzler 84e032a252 embryo_cc - coverity mem access issue - fix
this fixes CID 1039316 in case error num is beyond errmsg bounds
2014-08-13 17:13:12 +09:00
Carsten Haitzler b0e9886635 embryo_cc - fix coverity buffer overrun
fixes CID 1039317
2014-08-13 16:19:17 +09:00
Carsten Haitzler 6974a67f6f evas - cserve - dummy slave - shut coverity up and unmap mmaped mem
while right, coverity doest know that this is just a dummy example,
so... make it happy by unmapping. fixes CID 1193218
2014-08-13 15:24:00 +09:00
Carsten Haitzler db447bece5 fix non 0 terminated buffer in ethmubd slave
this fixes a potential non 0 terminated string buffer in ethumb slave
process -  harmless for apps, but might happen. this fixes CID 1193232
2014-08-12 22:24:43 +09:00
Savio Sena 3b24c6ce91 eolian-cxx: Scan all files only when explicitly requested.
Fix T1463
2014-08-08 15:12:31 -03:00
Stefan Schmidt 2fa2c11910 edje_cc_handler: Fix build break from recent Edcref changes
Having correct syntax is needed here. ;)
2014-08-08 16:25:51 +02:00
Davide Andreoli 62af2b9bd1 Edcref: final doc improvements.
* Be consistent with the way we specify parameters
* A last css refinement
2014-08-08 15:54:38 +02:00
Davide Andreoli 1eca781d1d Edcref: fixed (I hope) the doc for parts aliases 2014-08-08 15:54:38 +02:00
Davide Andreoli cb84a5f994 Edcref: try to give sections titles more context
Also fixed some incorrect @context
Changed the @edcsubsection tags so they live in first line of the doccomment, this way you can read them when the file is folded-closed, improving the code readability.
2014-08-08 15:54:38 +02:00
Davide Andreoli c00875818b Edcref: tab-- , they tend to break the html render 2014-08-08 15:54:38 +02:00
Davide Andreoli 5fd1e27dce edcref: move the Links functions so they dont break descriptions docs
Plus some other small doc adjustment
2014-08-08 15:54:38 +02:00
Davide Andreoli b2b4e62dd3 edcref: move 3 params to be in the correct section 2014-08-08 10:37:03 +02:00
Davide Andreoli 6653ce2306 edcref: be consistent wrt params 2014-08-08 10:27:26 +02:00
Davide Andreoli 34c75a29f6 Edcref: and finally apply a cool style
Now the edc ref is decently readable
2014-08-08 02:30:33 +02:00
Davide Andreoli a8a7158801 edcref: fix the base_scale property docs
base_scale is a property, so document it propertly
Also added missing @since
2014-08-08 02:30:33 +02:00
Daniel Zaoui 99888ceaec Eolian/Generator: fix generation of class functions.
The generation for legacy was missing. The patch removes too the EINA_UNUSED
flag for static functions data.
2014-08-07 16:06:22 +03:00
Davide Andreoli ba7ea64d97 edcref: review all the @since usage
* put them inside the @property block they belongs
* do not show micro version (1.7 instead of 1.7.0)
2014-08-07 14:41:25 +02:00
Davide Andreoli 25ce050920 edcref: quick access list: fix a link and make it more compact 2014-08-07 13:21:31 +02:00
Davide Andreoli 657d973858 edcref: unbreak formatting of the page
Every @block need a @context, or the table will broken up and formatting will be bad.

Also be a bit less redundant
2014-08-07 12:28:46 +02:00
Davide Andreoli 4e5d70511a edcref: small typo in doc 2014-08-07 11:01:36 +02:00
Gwanglim Lee 52fab4e55d edje: fix coverity defects
Summary:
CID 1214113: logically dead code
CID 1230295: dereference null return value
CID 1230296: use after free
@fix

Test Plan: N/A

Reviewers: raster, cedric, jpeg, q66

Reviewed By: q66

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1275
2014-08-06 10:55:32 +01:00
Daniel Kolesa 8c677a1f0e eolian: fread fix
Instead of 1 element of size N, we should read N elements of size 1 in
order to sensibly compare the result with the result of calling ftell.
2014-08-04 10:56:35 +01:00
Daniel Kolesa 97dc9cac36 ethumbd_slave: fix coverity defect
Fixes CID 1193232 (string not null terminated)
2014-08-04 10:44:35 +01:00
Daniel Kolesa 23761ed627 edje_cc_handlers: fix coverity defects
Fixes CID 1193224, 1193225, 1193226, 1193227, 1193230 (resource leak)
2014-08-04 10:26:06 +01:00
Daniel Kolesa 91bf465d52 eolian/generator: coverity fix
Fixes CID 1229130 (ignoring number of bytes read)
2014-08-04 09:59:36 +01:00
Daniel Kolesa 64c2b292ba eolian: preliminary eo file support for builtin true/false/null
Real API will use the new expression system, but that won't get into 1.11.
2014-07-28 10:16:15 +01:00
Daniel Kolesa 3636f5c9a8 elua: make generator work again
Also adds to_array API to Lua eina iterators.
2014-07-25 17:11:20 +01:00
Jean Guyomarc'h 56ce6d8e74 Unregister eina_log domain
Reviewers: cedric, q66

Reviewed By: q66

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1233
2014-07-25 11:08:47 +01:00
Daniel Kolesa 58a9de0309 eolian/generator: properly generate the data arg on class methods
For class methods, we need to generate unused void*, not a pointer to data struct.
2014-07-24 15:32:34 +01:00
Daniel Kolesa 178022ab65 eolian/generator: add support for class methods/properties 2014-07-24 12:15:55 +01:00
Daniel Zaoui 805d746910 Eolian: Generate typedefs and structs.
This patch permits the generation of typedefs and structs in the
legacy and Eo header files. It includes tests.
2014-07-24 11:59:34 +03:00
Daniel Zaoui fe3602b0d8 Eolian: little refactoring of the C generator.
This change is a preparation for the generation of the types and a
little cleaning.
2014-07-24 11:59:34 +03:00
Jaehwan Kim 7e5d2606cc edje: Add dpi feature.
Summary:
This dpi is used to get the scale for each collection.
If each collection has a described dpi, it calculates a proper scale
based on the dpi and dpi which is described in the collection.

@feature

Test Plan:
If add dpi to collection of edc, the edje will save the value as the dpi of the collection.
For example, if the dpi of your device is 100, you just set dpi: 100 in the collection of edc.
If the edj is loaded in another device(dpi is 200), it will scaled 2 times.
It is possible that the described dpi of application and theme are different.
In that case, application and theme have a different scale.
It makes the edj that made in different environment works in one device.

Reviewers: seoz, zmike, JackDanielZ, Hermet, woohyun, cedric, raster

Reviewed By: raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1190
2014-07-24 14:50:25 +09:00
Daniel Kolesa 0c3487cd3d eolian/generator: fix coverity issues
Fixes CID 1228663 and 1228634.
2014-07-24 00:32:06 +01:00
Daniel Kolesa a3182948ad eolian: use libgen.h basename 2014-07-23 19:37:03 +01:00
Daniel Kolesa 315d5de11d eolian: use just filename (not path) for eolian_class_get_by_file 2014-07-23 17:15:00 +01:00
Daniel Kolesa 88cc1167e9 eolian: eolian_parameters_get -> eolian_function_parameters_get 2014-07-23 14:17:19 +01:00
Daniel Kolesa fd0210f30e eolian: list_get -> get, find_by -> get_by 2014-07-23 14:13:21 +01:00
Daniel Kolesa 8d775fc96d eolian_cxx: fix migration to iterators 2014-07-23 13:45:25 +01:00
Daniel Zaoui 0efeeaf1c0 Eolian: modify APIs to return iterators instead of lists.
The change affects the C and the C++ generators.
2014-07-23 13:45:25 +01:00
Daniel Zaoui 48d0570786 Eolian/Generator: simplify eo_do invocation.
Since eo_do returns the Eo operation result, we can generate:
{
   return eo_do(obj, ...);
}
instead of:
{
   int ret;
   eo_do(obj, ret = ...);
   return ret;
}
2014-07-22 13:44:51 +03:00
Savio Sena 721d8ca144 eolian-cxx: Oops. Fixing function_return_is_explicit_void the right way. 2014-07-21 22:56:31 -03:00
Savio Sena b3bd72cd11 eolian-cxx: Handle exclicitly void-return getters.
Whenever a getter explicitly defines a void return the generated code
shall not convert single-parameter getters in any ways.

Actually the correct approach would be to delegate all conversions to
Eolian Database instead of for the generators.
2014-07-21 22:13:54 -03:00
Savio Sena 6e8c063f27 eolian-cxx: Added missing keyword.
Keyword "register" is also used in Elementary.
2014-07-21 21:11:33 -03:00
Savio Sena 07b75b9997 eolian-cxx: Handle C++ keywords in function names.
When function names are C++ keywords append '_' to it.
2014-07-21 20:17:44 -03:00
Daniel Kolesa 3b8a03cf7b eolian/generator: remove check_same 2014-07-21 17:13:43 +01:00
Daniel Kolesa a19adb71b9 eolian/generator: add code to check if the newly generated output is the same as old output - disabled for now because of build system issues 2014-07-21 16:00:57 +01:00
Felipe Magno de Almeida 7e84cc0154 eo-cxx: Added a few complex types to lookup table 2014-07-18 18:57:14 -03:00
Felipe Magno de Almeida 3abc94696e Fixed type looking up for complex types 2014-07-18 18:57:14 -03:00
Felipe Magno de Almeida 2ff390e087 Changed uses of std::abort to assert's with better description 2014-07-18 18:57:14 -03:00
Savio Sena e807421f60 eolian-cxx: Fixed complex-types. 2014-07-18 18:57:13 -03:00
Savio Sena 5d61edabd8 eolian-cxx: Fixed the translation of classnames 2014-07-18 18:57:13 -03:00
Felipe Magno de Almeida 637a97a0f5 eolian-cxx: Fixed using eo::base for extension_inheritance
Extended the logic for rewriting the eo::base to efl::eo::base for
parents to extension inheritance.
2014-07-18 18:57:13 -03:00
Savio Sena 67e187bebc eolian-cxx: Fixed the translation of the native type. 2014-07-18 18:57:13 -03:00
Savio Sena 78e396ac19 eolian-cxx: Initial version of complex types / callbacks / events implementation. 2014-07-18 18:57:13 -03:00
Tom Hacohen 076d816364 Eolian generator: Disable system dir scan.
This was causing trouble for cross compilation.

Thanks to q66 for the fix and cedric for reporting.
2014-07-17 16:07:57 +01:00
Chris Michael 30b048b3b0 ecore-drm: Remove ecore_drm binary files
We no longer need the ecore_drm_launch binary to open input devices.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-07-15 09:42:01 -04:00
Daniel Kolesa 3be0dce99d eolian: builtin types size, ssize, intptr, uintptr, ptrdiff 2014-07-14 16:51:38 +01:00
Daniel Kolesa 7b9276042d elua: update lualian types 2014-07-14 16:35:22 +01:00
Daniel Kolesa 10ea6e9f0f elua: use the type API in lualian (but only basics of it) 2014-07-14 16:08:31 +01:00
Daniel Kolesa 30e8d8a735 elua: make the lua generator generate things again - type stuff will need re-work 2014-07-14 15:37:32 +01:00
Daniel Kolesa 5d4cc031f9 eolian: s/dflt/default/g 2014-07-11 14:30:22 +01:00
Daniel Kolesa 888dc3b6fe eolian: remove eolian_show and replace it with variants for class/struct/typedef/all. 2014-07-11 13:10:04 +01:00
Daniel Kolesa 883c4ca7df eolian: events now use Eolian_Type* instead of stringshare 2014-07-11 11:47:37 +01:00
Jean-Philippe Andre 8ce52c2380 Edje: Add support for ETC1+Alpha
If the image is not opaque and etc1 is selected, choose
ETC1_ALPHA as encoding format.
2014-07-11 16:40:34 +09:00
Daniel Kolesa a26546bc6b eolian: the entire API is now const correct 2014-07-09 21:31:03 +01:00
Daniel Kolesa dc1ea844a7 eolian_cxx: pass everything by ref 2014-07-09 21:02:41 +01:00
Daniel Kolesa 580aea04cd eolian: refactoring step six
Move Eolian_Function as well, plus fix const correctness of several API funcs.
2014-07-09 20:59:31 +01:00
Savio Sena 012b586c8b eolian-cxx: Pass references instead of pointers.
Fix Eolian-Cxx API to pass references instead of pointers.
2014-07-09 15:55:24 -03:00
Daniel Kolesa accdd50f50 eolian: refactoring step five
Move from all instances of Eolian_Type to Eolian_Type*.
2014-07-09 17:18:02 +01:00
Daniel Kolesa 1a4f87d365 eolian: refactoring step four
Move from all isntances of Eolian_Function_Parameter to Eolian_Function_Parameter* plus const fixes.
2014-07-09 17:01:19 +01:00
Daniel Kolesa c9119b0c88 eolian: refactoring step three
Move from all instances of Eolian_Event and Eolian_Implement to Eolian_Event* and Eolian_Implement*.
2014-07-09 16:45:58 +01:00
Daniel Kolesa 96eaaaf074 eolian: refactoring step two
Move from all instances of Eolian_Class to Eolian_Class*.
2014-07-09 16:33:19 +01:00
Daniel Kolesa 892c5cba5f eolian: fix coverity defects 2014-07-09 10:19:42 +01:00
Daniel Kolesa 53fb9515e9 eolian/generator: add asterisk on inout too 2014-07-08 14:15:36 +01:00
wonguk.jeong f803ba27b7 ethumb: fix setup related API problem
Summary:
setup related API was not working at all due to below problems

1. dbus type signature is wrong. it's array of dictionary not array of struct
2. since quality value was assigned to compress value, there was a problem during saving png image (out of bound)
3. orientation_set API was not working except NONE and ORIGINAL

@fix

Test Plan: make thumbnail by using elm_thumb_add -> orientation set to 90 CCW -> check whether image is rotated properly or not

Reviewers: raster, cedric

CC: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D1138

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
2014-07-07 19:11:02 +02:00
Daniel Kolesa 5168297fdb eolian: new API: eolian_system_directory_scan, use it 2014-07-07 16:48:54 +01:00
Savio Sena 4e6825d6ac eolian-cxx: Removed Wshadow warnings.
Summary:
Removes Wshadow warnings by prepending/appending radices to
the target variables and parameters.

Reviewers: felipealmeida

CC: cedric

Differential Revision: https://phab.enlightenment.org/D1118
2014-07-04 20:04:32 -03:00
Daniel Kolesa 84451db638 eolian: have eolian_all_classes_list_get instead of eolian_class_names_list_get 2014-07-03 22:12:31 +01:00
Daniel Kolesa a1588f66e5 eolian_cxx: no need to normalize 2014-07-01 16:10:21 +01:00
Savio Sena ce63b16f40 eolian-cxx: Make proper handling of namespaces.
Summary:
The generation of class prefixes was not taking into account the full
classname -- the namespace was not being prepended to it. Fixed that and
also re-organized the code a bit, removed some Wshadow warnings also.

This commit fixes 'make examples' and 'make check'.

Reviewers: tasn, cedric, q66

CC: felipealmeida, smohanty, cedric

Differential Revision: https://phab.enlightenment.org/D1100
2014-07-01 10:55:45 +01:00
Daniel Kolesa dd22cf8148 eolian/generator: shadow fix 2014-06-30 21:53:08 +01:00
Daniel Kolesa 14a85859c5 eolian: _CLASS -> _CLASS/INTERFACE/MIXIN 2014-06-30 21:29:50 +01:00
Daniel Kolesa c05493b480 eolian-cxx: Added namespaces and more (see below)
Implemented namespaces
Added eolian_wrappers.hh with C++ code wrapping Eolain API
Changed eolian_cxx program options. Now they're eolian_gen's
Added functions to safe_str.hh (safe_lower, safe_upper, normalize_spaces, path_base)
Added a mocked version of type_lookup.hh in advance. The full
version will come as soon as complex-types are added.

Made apply again by Daniel Kolesa, original implementation by Savio Sena.
2014-06-30 19:35:06 +01:00
Daniel Kolesa 7b54a0101c eolian: new type API
This new API supports function pointer types, multiple type subtypes, const attribute without parsing
the name string, own attribute for any partial type and more. This commit also updates the C and C++
generators so that they compile and generate correct code.

@feature
2014-06-30 17:20:39 +01:00
Daniel Kolesa d870125231 elua: use the new dedup API in lualian 2014-06-30 17:20:07 +01:00
Daniel Kolesa 8a82e0fdf4 eolian_cxx: use the new eolian dedup API 2014-06-30 17:20:07 +01:00
Daniel Kolesa c0576cee73 eolian: new API: eolian_function_full_c_name_get - reduces duplication of code 2014-06-30 17:20:06 +01:00
Daniel Kolesa 5e5655463c eolian_cxx/generator: support for eot files 2014-06-30 17:20:06 +01:00
Daniel Kolesa ac22afec8a elua: update lualian against latest changes 2014-06-30 17:20:06 +01:00
Daniel Kolesa 7a8ef6d02a eolian: introducing support for .eot files
.eot files are similar to .eo, but they can't contain classes; all .eot files found in include paths
are parsed and information is added into the database. They're there for typedefs and eventually also
enums, structs and constants.

@feature
2014-06-30 17:20:06 +01:00
Vorobiov Vitalii 49344287ac Documentation: adding missed documentation to edcref (map.color param)
Summary:
There is param (of the map block in part's description) that allows user to
set a color for specified vertex/point of that part.
That param was undocumented so actually no one know that this param is exist and can be used in edj file.

Two main fixes:
- adding documentation for map.color param in edc reference.
- adding .edc source code example for seeing how map.color param works.

@fix

Reviewers: cedric, Hermet, raster, seoz

Reviewed By: cedric

CC: cedric, reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D1083
2014-06-24 17:11:09 +03:00
Daniel Kolesa 7ea7542e9e elua: eo_prefix fix + add method name deduplication to lua generator 2014-06-23 14:16:12 +01:00
Daniel Kolesa cc3809d295 eolian_cxx: support API deduplication like the main generator 2014-06-20 21:11:21 +01:00
Daniel Kolesa 43e2349203 eolian/generator: public api func name deduplication, spank tasn if it breaks 2014-06-20 17:09:03 +01:00
Daniel Kolesa 74181192ad eolian: fix error handling and memory leaks 2014-06-19 16:04:08 +01:00
Jean-Philippe Andre b06af7ace0 Edje: Add LOSSY_ETC2 to Edje_Edit
Found out using edje_inspector...
2014-06-18 16:28:37 +09:00
Jean-Philippe Andre e8d7c46253 Edje: Add support for ETC2 through LOSSY_ETC2 images
Declare your images as LOSSY_ETC2 to encode them as ETC2.
Add options to edje_cc to disable etc2.
Use ETC2 support from Eet.

@feature
2014-06-13 17:58:08 +09:00
Jean-Philippe Andre d0d9dbfdba Evas: Add encoding parameter to the savers
ecore_evas_convert: Add -e/--encoding option

This uses directly the encoding parameter.
For now, used only by the TGV saver, but there is no other way
to specify between ETC1 and ETC2. And we don't have a mixed ETC1+2
mode (yet).

@feature
2014-06-13 16:05:48 +09:00
Daniel Kolesa 4995d1a4b0 elua: fix up some names and fix a name conflict on windows 2014-06-12 10:57:08 +01:00
Daniel Kolesa 808aa0ce50 elua: remove build_args, it's useless by now with our popen variant 2014-06-11 11:16:55 +01:00
Daniel Kolesa 0f4e617e9f elua: alignment 2014-06-11 11:15:11 +01:00
Daniel Kolesa cd29d76ce5 elua: fix coverity issues 2014-06-11 11:12:27 +01:00
Daniel Kolesa 9db8aa3b3f elua: use #ifdef ENABLE_NLS 2014-06-11 10:47:12 +01:00
Daniel Kolesa f0d008abf8 elua: lose support for loadfile modes for the time being 2014-06-11 10:41:02 +01:00
Chris Michael 3fd6061505 elua: Fix building of binary
If we have ENABLE_NLS then we need to #include <locale.h> for the
'setlocale' function else we get an implicit function declaration
warning, and a build failure due to LC_ALL not being defined

@fix

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2014-06-10 15:52:50 -04:00
Daniel Kolesa 319034d683 elua: fix warnings with -Wextra -Wshadow 2014-06-10 15:48:54 +01:00
Daniel Kolesa 17698c9c7e elua: xgettext fixes 2014-06-10 15:48:53 +01:00
Daniel Kolesa 6df8766b6a elua: some janitoring (add newlines to the end of files) 2014-06-10 15:48:53 +01:00
Daniel Kolesa f8852d88ec elua: better caching behavior (try to use bytecode first) 2014-06-10 15:48:53 +01:00
Daniel Kolesa 4ebdf91ca8 elua: use eina_prefix 2014-06-10 15:48:53 +01:00
Daniel Kolesa ff519ccc4a elua: move __ctor_common, __do_start, __do_end out of the object (as it's effectively empty now, it can be generated) 2014-06-10 15:48:53 +01:00
Daniel Kolesa 072f318d44 elua: generator fix 2014-06-10 15:48:53 +01:00
Daniel Kolesa 4d5f4537c9 do not generate __M if not needed 2014-06-10 15:48:53 +01:00
Daniel Kolesa e5bdfdfff0 elua: better namespace handling in lualian generator (support more than 1 level of namespace) 2014-06-10 15:48:53 +01:00
Daniel Kolesa 39cdde7280 elua: prevent method calls on bad objects 2014-06-10 15:48:53 +01:00
Daniel Kolesa 5ee0d530ca elua: propagate property definitions down the inheritance hierarchy 2014-06-10 15:48:53 +01:00
Daniel Kolesa b665bdbd8a elua: eolian binding fix plus support namespaces in the lualian generator 2014-06-10 15:48:53 +01:00
Daniel Kolesa 822c517f93 elua: initial xgettext call parsing 2014-06-10 15:48:53 +01:00
Daniel Kolesa 890660d485 elua: String and Call objects in xgettext generator - includes methods to automatically decide flags for String, making things a lot easier (thanks to chaining) 2014-06-10 15:48:53 +01:00
Daniel Kolesa 83032e611d elua: store flags for hashing as well 2014-06-10 15:48:53 +01:00
Daniel Kolesa 2d5806294a elua: never actually fail parsing (keep error messages for debug, hidden by default) 2014-06-10 15:48:53 +01:00
Daniel Kolesa 9c3f65640c elua: pre-parse flags in xgettext app 2014-06-10 15:48:53 +01:00
Daniel Kolesa e32a1d7e78 elua: xgettext's semantics are WTF, but okay, emulate it 2014-06-10 15:48:53 +01:00
Daniel Kolesa d0ff647776 elua: new util: table.uniq, and use it in xgettext generator 2014-06-10 15:48:53 +01:00
Daniel Kolesa aab605e36a elua: properly copy flags around 2014-06-10 15:48:52 +01:00
Daniel Kolesa ef2ad4f473 elua: fix xgettext --extract-all 2014-06-10 15:48:52 +01:00
Daniel Kolesa 378b376cc8 elua: complete lexer (lex all valid tokens) 2014-06-10 15:48:52 +01:00
Daniel Kolesa 9d5b2d433e elua: prepare xgettext for flag comments and try to emulate xgettext's silly behavior when it comes to concatenating comments 2014-06-10 15:48:52 +01:00
Daniel Kolesa d8caf323d8 elua: fix xgettext 2014-06-10 15:48:52 +01:00
Daniel Kolesa 88473de76a elua: fixed up the xgettext lua lexer/parser/generator 2014-06-10 15:48:52 +01:00
Daniel Kolesa be3e046865 elua: can only specify a keyword once 2014-06-10 15:48:52 +01:00
Daniel Kolesa 819b65090b elua: support for -a (--extract-all) option in xgettext 2014-06-10 15:48:52 +01:00
Daniel Kolesa 926282026b elua: merge comments in xgettext generator 2014-06-10 15:48:52 +01:00
Daniel Kolesa 7950c55965 elua: respect add-location / no-location options in xgettext 2014-06-10 15:48:52 +01:00
Daniel Kolesa ee8cdc5411 elua: group messages with the same contents together, generate grouped line info 2014-06-10 15:48:52 +01:00
Daniel Kolesa 7cf6a8abb0 elua: line information in the generated output 2014-06-10 15:48:52 +01:00
Daniel Kolesa a0b8f72ae9 elua: respect msgstr prefix and suffix in xgettext 2014-06-10 15:48:52 +01:00
Daniel Kolesa b638f4d034 elua: respect comment tags in the lexer 2014-06-10 15:48:52 +01:00
Daniel Kolesa b2af5ff97e elua: pass opts, flags around 2014-06-10 15:48:52 +01:00
Daniel Kolesa 0e5f9bc151 elua: change xgettext lexer to never include delimiters and also expand \n escape sequence in short strings to actual newline (no other escapes get this treatment) 2014-06-10 15:48:52 +01:00
Daniel Kolesa 297f9a821a elua: almost functional xgettext generator 2014-06-10 15:48:52 +01:00
Daniel Kolesa d8010702e8 elua: initial stuff for the xgettext generator, check existence of all input files beforehand in the app, and other fixes 2014-06-10 15:48:52 +01:00
Daniel Kolesa a98b916a74 elua: get_cmdline_from_argv cleanup + use _popen on windows 2014-06-10 15:48:52 +01:00
Daniel Kolesa 4311dc0439 elua: fclose before realpath 2014-06-10 15:48:52 +01:00
Daniel Kolesa 489b5fac11 elua: do not use fork in our "array popen" impl; instead serialize args in a platform specific way 2014-06-10 15:48:52 +01:00
Daniel Kolesa 6558d1ccc9 elua: reformat C source to EFL style 2014-06-10 15:48:52 +01:00
Daniel Kolesa 5f1e08bddf elua: remove prefix stripping from lualian 2014-06-10 15:48:52 +01:00
Daniel Kolesa 6614d02a69 elua: update lualian against latest eolian API 2014-06-10 15:48:52 +01:00
Daniel Kolesa 6896f2949e elua: xgettext parser: proper keyword parsing 2014-06-10 15:48:51 +01:00
Daniel Kolesa a47dc77a8a elua: xgettext parser argument parsing 2014-06-10 15:48:51 +01:00
Daniel Kolesa 812a601548 elua: extend the xgettext parser a bit 2014-06-10 15:48:51 +01:00
Daniel Kolesa 839ce0f651 elua: xgettext keyword fix 2014-06-10 15:48:51 +01:00
Daniel Kolesa b168a515e2 elua: sanitize keywords and extract info in xgettext (include default keywords for lua), dgettext and dngettext compatibility calls 2014-06-10 15:48:51 +01:00
Daniel Kolesa 00bec70b69 elua: initial work on parser part of the extractor 2014-06-10 15:48:51 +01:00
Daniel Kolesa 3f4fd784c2 elua: file search function 2014-06-10 15:48:51 +01:00
Daniel Kolesa 7c449a14e1 elua: make xgettext use excluded_files, do some re-mappings, and have a default search dir 2014-06-10 15:48:51 +01:00
Daniel Kolesa 02ef160621 evil: add fork, adjust elua to use that 2014-06-10 15:48:51 +01:00
Daniel Kolesa 9c42595225 elua: popenv fix (read proper stack items as args), getopt fix (fixed array append), xgettext: use cutil.popenv 2014-06-10 15:48:51 +01:00
Daniel Kolesa e9b555c57b elua: popenv function 2014-06-10 15:48:51 +01:00
Daniel Kolesa a04948c02f elua: fork_win cleanup 2014-06-10 15:48:51 +01:00
Daniel Kolesa 420f7a869a elua: include fork_win.c in compilation 2014-06-10 15:48:51 +01:00
Daniel Kolesa 88ca0dbf3f elua: custom non-shell popen implementation 2014-06-10 15:48:51 +01:00
Daniel Kolesa 30415f9261 elua: fork impl for windows 2014-06-10 15:48:51 +01:00
Daniel Kolesa fd6c1f6888 elua: comment is a valid token in xgettext 2014-06-10 15:48:51 +01:00
Daniel Kolesa 5b7f44ea5b elua: add build_args function to core cutil library, for building normalized args string in a platform independent way 2014-06-10 15:48:51 +01:00
Daniel Kolesa 9bb3667e2b elua: xgettext is again at least partially functional 2014-06-10 15:48:51 +01:00
Daniel Kolesa 139502dc76 elua: handle all xgettext args correctly 2014-06-10 15:48:51 +01:00
Daniel Kolesa b1bfd90d40 elua: xgettext progress, currently broken 2014-06-10 15:48:51 +01:00
Daniel Kolesa 708aaeeb12 elua: pass opts to callback 2014-06-10 15:48:51 +01:00
Daniel Kolesa 6d739a8746 elua: ngettext support 2014-06-10 15:48:51 +01:00
Daniel Kolesa 63ccaee7fd elua: ability to specify custom opts table for each desc in getopt 2014-06-10 15:48:51 +01:00
Daniel Kolesa bc2b6b503f elua: simplified getopt (allocates fewer tables) 2014-06-10 15:48:51 +01:00
Daniel Kolesa 01a4fd89d2 elua: do not include the : in arg[0] 2014-06-10 15:48:51 +01:00
Daniel Kolesa ab05d47d7c elua: free format buffers immediately 2014-06-10 15:48:51 +01:00
Daniel Kolesa e8b356858b elua: never pcall in format, instead keep track of the types properly 2014-06-10 15:48:51 +01:00
Daniel Kolesa ebbce82403 elua: perform conversion beforehand 2014-06-10 15:48:51 +01:00
Daniel Kolesa 654653bc4a elua: check types manually instead of pcall in one place for format 2014-06-10 15:48:51 +01:00
Daniel Kolesa 5eccfb29b7 elua: some more checking for no value 2014-06-10 15:48:51 +01:00
Daniel Kolesa 0c7b3e5d6b elua: format bug fix 2014-06-10 15:48:51 +01:00
Daniel Kolesa b304316b81 elua: better error handling for format 2014-06-10 15:48:51 +01:00
Daniel Kolesa 3da9de3d41 elua: use string buffer in all places for format plus extra optimizations 2014-06-10 15:48:50 +01:00
Daniel Kolesa a6e50fa9c7 elua: use custom string buffer impl for format (avoids multiple table allocs and calls to string.char) 2014-06-10 15:48:50 +01:00
Daniel Kolesa 8738ca957d elua: slight optimization of format func 2014-06-10 15:48:50 +01:00
Daniel Kolesa 006a49ddda elua: relatively slow but very powerful string formatter with support for positional and named format arguments, invoked via % 2014-06-10 15:48:50 +01:00
Daniel Kolesa e33efdb745 elua: xgettext: support for -X 2014-06-10 15:48:50 +01:00
Daniel Kolesa c0baa15b11 elua: insert input files always after opts 2014-06-10 15:48:50 +01:00
Daniel Kolesa d90bba655f elua: expand the input file lists for xgettext call (we want to leave out lua files) 2014-06-10 15:48:50 +01:00
Daniel Kolesa bebe011676 elua: use the new app loading system 2014-06-10 15:48:50 +01:00
Daniel Kolesa 544bf37c30 elua: a general system for application loading without having to specify explicit path 2014-06-10 15:48:50 +01:00
Daniel Kolesa 85367d35be elua: match file extensions in a case insensitive way 2014-06-10 15:48:50 +01:00
Daniel Kolesa 38ae60f744 elua: more checks 2014-06-10 15:48:50 +01:00
Daniel Kolesa 69a64dd620 elua: a bit more informative getopt plus better arg handling when calling to xgettext 2014-06-10 15:48:50 +01:00
Daniel Kolesa 344c1cbaf1 elua: more informative getopt 2014-06-10 15:48:50 +01:00
Daniel Kolesa 55b7973e56 elua: xgettext lexer enhancements 2014-06-10 15:48:50 +01:00
Daniel Kolesa 23c27f06c5 elua: simplified source 2014-06-10 15:48:50 +01:00
Daniel Kolesa b71231d93d elua: typo fix 2014-06-10 15:48:50 +01:00
Daniel Kolesa 341d8a9168 elua: typo fix 2014-06-10 15:48:50 +01:00
Daniel Kolesa dd8e3b433f elua: use an appropriately sized buffer 2014-06-10 15:48:50 +01:00
Daniel Kolesa 6220dd5968 elua: lexer for xgettext 2014-06-10 15:48:50 +01:00
Daniel Kolesa cbeaf5b58a elua: utility func to exec a process (without spawning a shell like os.execute) 2014-06-10 15:48:50 +01:00
Daniel Kolesa 58409c521a elua: trigger xgettext execution from xgettext.lua, which is executed by xgettext_wrapper 2014-06-10 15:48:50 +01:00
Daniel Kolesa 4dfec82877 elua: support the EFL_RUN_IN_TREE environment variable 2014-06-10 15:48:50 +01:00
Daniel Kolesa 57ebf0e02c elua: initial code for xgettext.lua, a xgettext variant that supports lua
will be used to handle i18n for lua files in EFL (because only gettext 0.18.3+ supports Lua) and it'll be usable standalone too, it will also be able of handling more things than lua support in xgettext does (e.g. concatenated string literals will be considered one string)
2014-06-10 15:48:50 +01:00
Daniel Kolesa 3fd4399c6f elua: allow description of positional arguments in help in getopt (using metavar field without short/long) 2014-06-10 15:48:50 +01:00
Daniel Kolesa c427742634 elua: support for omitting things from help 2014-06-10 15:48:50 +01:00
Daniel Kolesa 3c42301f00 elua: in/out fix 2014-06-10 15:48:50 +01:00
Daniel Kolesa 176e41020d elua: remove leftover 2014-06-10 15:48:50 +01:00
Daniel Kolesa 98192dd8c3 elua: we don't need to include func name in conversion funcs (they're all the same...), also print out the required conversion functions during gen 2014-06-10 15:48:50 +01:00
Daniel Kolesa 13f3c616d5 elua: pass ownership information to converters 2014-06-10 15:48:49 +01:00
Daniel Kolesa e90973e5cb elua: eolian fix (return nil instead of null in type_information_get), generate different names for type conversion funcs 2014-06-10 15:48:49 +01:00
Daniel Kolesa a0838343cb elua: lualian reorg 2014-06-10 15:48:49 +01:00
Daniel Kolesa 5b307c282b elua: support for list appends in elua.getopt 2014-06-10 15:48:49 +01:00
Daniel Kolesa f0330e5692 elua: alignment 2014-06-10 15:48:49 +01:00
Daniel Kolesa 7eff92c055 elua: getopt help alignment 2014-06-10 15:48:49 +01:00
Daniel Kolesa 15dd9dd623 elua: enforce posixly_correct in getopt_long of elua 2014-06-10 15:48:49 +01:00
Daniel Kolesa ae4daa5401 elua: also use hash fields to store resulting optional arguments 2014-06-10 15:48:49 +01:00
Daniel Kolesa 8c5cfce2a4 elua: if script returns true, do not start the main loop 2014-06-10 15:48:49 +01:00
Daniel Kolesa a94c216442 elua: match help categories in a case insensitive way, and add them to lualian 2014-06-10 15:48:49 +01:00
Daniel Kolesa e293536915 elua: getopt: support for categories in help callback, fix newline insertion in help 2014-06-10 15:48:49 +01:00
Daniel Kolesa d3d09f7df6 elua: support for return values in getopt help 2014-06-10 15:48:49 +01:00
Daniel Kolesa bdecee2eca elua: support for help categories in getopt 2014-06-10 15:48:49 +01:00
Daniel Kolesa 310a8ab13b elua: support for "done" callback in getopt 2014-06-10 15:48:49 +01:00
Daniel Kolesa 131826a083 elua: error callback in getopt 2014-06-10 15:48:49 +01:00
Daniel Kolesa c9b1378217 elua: use callbacks more in lualian 2014-06-10 15:48:49 +01:00
Daniel Kolesa 46f07a670e elua: getopt support for callbacks 2014-06-10 15:48:49 +01:00
Daniel Kolesa cde3ce5220 elua: smarter progname replacement in getopt 2014-06-10 15:48:49 +01:00
Daniel Kolesa 1afd1e6f27 elua: getopt api improvement 2014-06-10 15:48:49 +01:00
Daniel Kolesa 3130a0ec20 elua: remove license printing 2014-06-10 15:48:49 +01:00
Daniel Kolesa 8056a85428 elua: support for default domain in gettext module 2014-06-10 15:48:49 +01:00
Daniel Kolesa aaaf103234 elua: gettext cleanups, use ffi for calling into gettext to speed it up 2014-06-10 15:48:49 +01:00
Daniel Kolesa 76b445fb6d elua: i18n/l10n support including gettext module for user apps, bump gettext requirement to 0.18.3 (required for lua support in xgettext) 2014-06-10 15:48:49 +01:00
Daniel Kolesa 7876dd579f elua: lualian: remove out/inout support on keys 2014-06-10 15:48:49 +01:00
Daniel Kolesa 754f0fee79 elua: lualian: with directory scanning in, there is no need to do this anymore 2014-06-10 15:48:49 +01:00
Daniel Kolesa 4f7cdefbee elua: geometry and size parsing support in getopt 2014-06-10 15:48:49 +01:00
Daniel Kolesa 6da958d462 elua: initial support for complex types in lualian plus bug fixes 2014-06-10 15:48:49 +01:00
Daniel Kolesa 6a5057ef0d elua getopt: support for optional values 2014-06-10 15:48:49 +01:00
Daniel Kolesa e2f912aa03 elua: remove getopt-like interface from getopt.lua, use descs directly instead, and add a system of aliases (optional) 2014-06-10 15:48:48 +01:00
Daniel Kolesa e742b758d2 elua: do not use ecore_getopt, getopt.lua improvements and fixes, initial lualian generator script, lualian module changes 2014-06-10 15:48:48 +01:00
Daniel Kolesa 17be497fc2 elua: help support in getopt 2014-06-10 15:48:48 +01:00
Daniel Kolesa 975ca2634f elua: declarative version of the getopt function 2014-06-10 15:48:48 +01:00
Daniel Kolesa 27a5151bd8 elua: getopt module 2014-06-10 15:48:48 +01:00
Daniel Kolesa cefd51b955 elua: adjust module system for injection into loaded table nad preload, lualian can now inject inside of existing modules 2014-06-10 15:48:48 +01:00
Daniel Kolesa 942d684825 elua: register classes in lualian generated code 2014-06-10 15:48:48 +01:00
Daniel Kolesa d301b5bb84 elua: use actual class_get functions instead of placeholder 2014-06-10 15:48:48 +01:00
Daniel Kolesa 10c68c59c8 elua: generate a default constructor if none provided 2014-06-10 15:48:48 +01:00
Daniel Kolesa 3b053abdac elua: lualian support for non-default constructors, and a fix in event generation 2014-06-10 15:48:48 +01:00
Daniel Kolesa ad2aa8e9a9 elua: basic constructor generation in lualian 2014-06-10 15:48:48 +01:00
Daniel Kolesa 2f678f862d elua: make it possible to return values from constructors 2014-06-10 15:48:48 +01:00
Daniel Kolesa 437c2cf68f elua: event fix 2014-06-10 15:48:48 +01:00
Daniel Kolesa c2d581631b elua: functional event generation 2014-06-10 15:48:48 +01:00
Daniel Kolesa 92f6397b96 elua: event ffi generation 2014-06-10 15:48:48 +01:00
Daniel Kolesa fd34396c0e elua: initial code for lualian events and remove default constructor nonsense 2014-06-10 15:48:48 +01:00
Daniel Kolesa b79bd85f8f elua: more refined type conversions in lualian 2014-06-10 15:48:48 +01:00
Daniel Kolesa f415c10f41 elua: specialize Evas_Coord 2014-06-10 15:48:48 +01:00
Daniel Kolesa f9ee9e8673 elua: get rid of a warning 2014-06-10 15:48:48 +01:00
Daniel Kolesa 8b83976295 elua: better lualian type conversions 2014-06-10 15:48:48 +01:00
Daniel Kolesa 097f02bcc7 elua: basic type conversion support in lualian 2014-06-10 15:48:48 +01:00
Daniel Kolesa 5b29cc38e1 elua: check for property/method scope in lualian (don't generate code for protected methods as they're only usable within implementations) 2014-06-10 15:48:48 +01:00
Daniel Kolesa a9d3df6523 elua: class prefix stripping support 2014-06-10 15:48:48 +01:00
Daniel Kolesa 6e119370e9 elua: wrap multiple-return properties 2014-06-10 15:48:48 +01:00
Daniel Kolesa b2aa896932 elua: lualian can now generate methods 2014-06-10 15:48:48 +01:00
Daniel Kolesa 2cb887be13 elua: bindings fixes, lualian can now generate properties correctly (doesn't perform type conversions yet) 2014-06-10 15:48:48 +01:00
Daniel Kolesa 567ff9f0b3 elua: fixes and more lualian stuff 2014-06-10 15:48:47 +01:00
Daniel Kolesa 534818eaba elua: more lualian functionality 2014-06-10 15:48:47 +01:00
Daniel Kolesa aae4567b4d elua: eina bindings fixes, include support in lualian 2014-06-10 15:48:47 +01:00
Daniel Kolesa 7508be9cdb elua: mixin 2014-06-10 15:48:47 +01:00
Daniel Kolesa b930c9c432 elua: property support in object system, lualian progress, initial (incomplete) eo bindings 2014-06-10 15:48:47 +01:00
Daniel Kolesa 2ba2b1f6bf elua: initial code for lualian, a luajit binding generator based on eolian 2014-06-10 15:48:47 +01:00
Daniel Kolesa 08e0fea8ca elua: list and readonly object fixes 2014-06-10 15:48:47 +01:00
Daniel Kolesa 588d06d157 elua: fixes 2014-06-10 15:48:47 +01:00
Daniel Kolesa c12b55696d elua: the -E parameter now works (ignores env vars) 2014-06-10 15:48:47 +01:00
Daniel Kolesa 473549219e elua: overridable core+modules directory paths (via command line argument or environment variables) plus support for extra lib paths via -L 2014-06-10 15:48:47 +01:00
Daniel Kolesa 6c8fc0a87e elua: add Readonly_Object to util.lua (its instances are read only userdata, requires special care, but is not intended for the user), use it in List 2014-06-10 15:48:47 +01:00
Daniel Kolesa 210cfb81e2 elua: use standard error() call instead of returning true/false in module init 2014-06-10 15:48:47 +01:00
Daniel Kolesa bce656b93f elua: benchmark module, plus return values for init/shutdown 2014-06-10 15:48:47 +01:00
Daniel Kolesa da9fbe677f elua: initial eina_file bindings, iterator container retrieval support and cleanup of main.c 2014-06-10 15:48:46 +01:00
Daniel Kolesa b3c36138f9 elua: elm test entry 2014-06-10 15:48:46 +01:00
Daniel Kolesa 68de26604c elua: start binding Eina
Added initial eina logging module, added library handling utility funcs in util.lua, added .gitignores
2014-06-10 15:48:46 +01:00
Daniel Kolesa 137be43b49 elua: util module, object system, organization 2014-06-10 15:48:46 +01:00
Daniel Kolesa 063dd4147e elua: use Eina_File (mmap) 2014-06-10 15:48:46 +01:00
Daniel Kolesa 26dc3505bc elua: 100% compatible module system 2014-06-10 15:48:46 +01:00
Daniel Kolesa dbaa103d1e elua: make the custom module system default 2014-06-10 15:48:46 +01:00
Daniel Kolesa 832f652a5a Elua: initial commit
Elua is a LuaJIT based runtime for the EFL meant to provide facilities for rapid application development. The name is temporary. The EFL bindings will be generated with Eolian. @feature
2014-06-10 15:48:46 +01:00
Daniel Zaoui 2160d0f27a Eolian/Generator: use a specific define for the Eo APIs.
The generation of EOAPI instead of EAPI for the Eo functions is only
needed for code readibility.
2014-06-10 07:57:09 +03:00
Daniel Zaoui 4c1cf87419 Eolian/Generator: Fix comments generation.
This patch:
- removes the @def from Doxygen, as it is not correct for API
functions.
- fixes the generation of class comments. When no class description is
supplied, no comment should be added.
2014-06-09 10:09:15 +03:00
Daniel Zaoui 233650ed9d Eolian/Generator: concentrate the function name calculation to one
place.

Instead of having the calculation (class name + function name + set/get)
in many places in the code, it is now in one place and accessible via a
function environment structure.
2014-06-08 12:41:18 +03:00
Daniel Zaoui fc2a983ab9 Eolian/Generator: remove unused code.
The removed code was needed for Eo1 and is no more necessary.
2014-06-08 12:40:42 +03:00
Daniel Zaoui e7faaf9fc5 Eolian/Generator: Fix Windows issue during string manipulation.
For Windows, it is simpler to replace all the \r\n with \n after having
read the file.
2014-06-05 11:34:44 +03:00
Daniel Zaoui 5c55ce49e6 Eolian: rename internal files.
This files were needed to be renamed a long time ago :-)
2014-06-05 10:11:13 +03:00
Daniel Zaoui 97913753ea Eolian: Fix Coverity issue.
In a certain case, the function was returning without releasing all the
resources.

CID 1220084
2014-06-05 07:40:26 +03:00
Guillaume Friloux 732f1c2a1b Fix gcc warning about uninitialized variable. 2014-06-03 16:37:50 +02:00
Tom Hacohen 26ea65b470 Eolian CXX: Remove unneeded Eo.h include.
Eo.h depends on things that are generated by normal Eolian, and because Eolian C++
is generating code pre-build (WHY THE FUCK???), the dependencies are missing.

This removes the stupid include, but a more proper fix would be to move eolian_cxx
to be part of the build process and not pre-build.
2014-06-03 13:41:38 +01:00
Tom Hacohen 62a3522fcc Eolian cxx: Fix it to use the right class names.
This is following the class name change in normal eolian.
2014-06-03 11:28:01 +01:00
Daniel Zaoui 03647b4279 Eolian: Use class name and not prefix in the class macro.
So for example a class called Eo_Base with prefix: eo, used to be
generated to EO_CLASS instead of EO_BASE_CLASS.
2014-06-03 11:26:58 +01:00
Daniel Zaoui 7a83c9c659 Eolian: Fix bad behavior when the .eo is incorrect
In this case, the section 'implements' contains bad information about the
function to override. If the first (at least) function is correct, it
will never fail but use the last correct information retrieved from the
database.
The patch fixes it by checking the result of the database function
eolian_implement_information_get.

@fix
2014-06-03 08:58:05 +03:00
Daniel Zaoui dc3178404f Eolian: modify 'implement' API parameters.
The function eolian_implement_information_get was returning strings for
the class and the function. It was written in this way at the beginning
because it was not needed to verify the correctness of the class and
the function.
Now that we have the namespace feature, this function must check it,
meaning that the class and the function are now known.
So we can return them instead of returning the strings.

The generators had to find the class from the classname. It is no more
needed.

The C++ generator has been adapted to this new API.
2014-05-29 14:48:05 +03:00