summaryrefslogtreecommitdiff
path: root/src/lib/edje (follow)
AgeCommit message (Collapse)Author
2017-09-22eolian: rename generic_value to any_valueDaniel Kolesa
2017-09-22EFL For WIN32: Replace HAVE_EVIL define with _WIN32Vincent 'vtorri' Torri
2017-09-21edje: Add part_type_get APIJean-Philippe Andre
For now I made this EO-only but this definitely could be expose in legacy API as well. This simply gives exact information about the type of part, after doing a recursive search. Edit Edit doesn't do a recursive search, only a direct one, which can yield invalid results (eg. RECT or NONE instead of TEXT in case of "elm.units.max" for a slider). @feature
2017-09-20Edje: move selection-related part_text API to legacyDaniel Hirt
2017-09-20Edje: move IMF-related part_text API to legacyDaniel Hirt
2017-09-19edje: Ensure min size calc is always >= restrictedJean-Philippe Andre
We're not 100% sure yet but there seems to be an issue with GCC and -O2 where rage scrolling doesn't work anymore, since the first patch below: See 641a58f735e93fb9e70dc85c006b3da09645bae7 See f53fe993a6a285ddb49aa69d6c6856169f37ec63 This commit unfortunately doesn't solve the issue.
2017-09-19edje: Fix invalid storage of efl_part objectsJean-Philippe Andre
Test scenario: - elementary_test -to "ExtProgressBar" - Then click on "... from C Fixes T6032 @fix
2017-09-18Entry: use _edje_seat_name_get to get the seatDaniel Hirt
The "default" name doesn't mean a lot to edje. Use the helper function to get the proper seat name. This fixes IMF for the Entry widget, that did not get triggered on the hotkey combination. @fix
2017-09-18Edje load: reset seats counter on file_delDaniel Hirt
The seats list got emptied, but the counter progression was kept, causing needless different seat names for the same device across different edje objects.
2017-09-18edje: Merge calc_size_min_restricted & calc_size_minJean-Philippe Andre
calc_size_min was just a helper passing 0,0 to the restricted form. Let's not duplicate APIs in EO and use an optional argument instead. Bindings should be nicer and C could use a macro if it's too cumbersome to pass in 0,0.
2017-09-18edje: Use Eina.Size2D for min calcJean-Philippe Andre
2017-09-18edje: Use Eina.Size2D for group min & max sizeJean-Philippe Andre
2017-09-18efl: Use Eina.Size2D for size hint combined minJean-Philippe Andre
For this patch I decided to add a pseudo legacy wrapper as the function is called in a very large number of places. Fixing all those calls to use the size2d form is a lot of work and a greater risk of b0rking something.
2017-09-18efl: Use Eina.Size2D for size hint restricted minJean-Philippe Andre
This is the "internal" or "intrinsic" minimum size, to be set by EFL and not by applications.
2017-09-18efl: Use Eina.Size2D for Efl.Gfx.sizeJean-Philippe Andre
Big patch as a lot of things call or reimplement size_set. Hopefully I got it right... fingers crossed.
2017-09-18efl: Use Eina.Position2D for Efl.Gfx.positionJean-Philippe Andre
Note: This is a little bit more cumbersome in some places but in most it's more convenient than (x,y).
2017-09-18efl: Introduce Eina.Rect and switch EO APIs to itJean-Philippe Andre
It's a complex struct but defined in EO as a simple struct. ABI-wise it's equivalent to Eina_Rectangle. Some macros that use Eina_Rectangle also work on Eina_Rect out of the box, most of the code dealing with x,y,w,h will require no modifications either. But Eina_Rect provides direct access to a size or position 2d component, as well as the usual x,y,w,h. The field "rect" is provided as a convenience for code dealing with both Eina_Rectangle and Eina_Rect. We may or may not require it. Note: Size2D could use unsigned values but I have spotted a few places in the code that actually use -1 to indicate invalid size (as opposed to 0x0). @feature
2017-09-15efl interfaces: convert to new ownershipDaniel Kolesa
2017-09-13edje: make it handle late appearing of devicesMarcel Hollerbach
device adds can happen late, which means evas does not know the default device until a time that is later than the focusing of some edje part. Which means that keystrokes etc. are lost for the parts beeing focused before the default device appeared. This should fix that. For the later people in this world: Watch out! someone decided to map seats in edje with a linear counter starting at 1, which means seat0<->seat1 seat1<->seat2 thanks for that riddle, i feel like i have beaten the sphinxs. fix T6022
2017-09-13efl_gfx_fill: Use Eina.Rectangle for fill (EO)Jean-Philippe Andre
2017-09-13edje: Use Eina_Rectangle for parts_extends_calc (EO)Jean-Philippe Andre
2017-09-13efl_gfx: Use Eina.Rectangle for geometry (EO)Jean-Philippe Andre
This saves a few lines already (without even having the proper helpers for stack rectangles).
2017-09-13edje: Rename part external classJean-Philippe Andre
This was missed in the previous commit as this special part class didn't include the internal keyword. Ref T5315 Ref T5306
2017-09-13edje/elm: Rename _internal_ to _part_ (EO)Jean-Philippe Andre
In Edje and Elementary, we have part objects, which are what is returned by the interface efl_part(). Those objects can't be of an opaque type as this doesn't work nicely with strongly typed languages such as C++ or C#. In JS, Lua, C the types are weak and mostly runtime-based so it doesn't matter much. As a consequence, the documentation and the types need to look nice in this EO API. Thus, we remove the abusive term "internal" and explicitly call all those classes "part" something. Eventually we want the types to be declared in the EO file so bindings (C#, C++, ...) can generate the proper access methods, returning the best possible types. Note that right now a few of those part types are used in the legacy API but don't actually need to be exposed externally. This is kind of a mega commit that does all the renaming at once, but it's really just a big sed operation. The power of good IDEs :) Ref T5315 Ref T5306
2017-09-13edje: Remove use of smart clipped dataJean-Philippe Andre
This removes dependency on a legacy structure. Edje object does not change the smart data, unlike evas box and grid.
2017-09-13evas: Fix crash with smart objectsJean-Philippe Andre
This is due to the previous patches.
2017-09-13evas/edje/elm: Remove all uses of clipped groupsJean-Philippe Andre
This removes the uses of the *EO* class, obviously not the use of the clipped smart objects.
2017-09-13evas: Remove group_del override from smart clippedJean-Philippe Andre
2017-09-13evas: Remove private data for clipped objectJean-Philippe Andre
Another step towards merging both classes of smart objects.
2017-09-12edje: Add legacy compatibility codeJean-Philippe Andre
This affects: - edje_object_part_swallow - edje_object_part_swallow_get Fixes T5944 @fix
2017-09-08edje: Better debug logs for invalid calls to swallowJean-Philippe Andre
These error messages will be triggered when efl_part() is used, and the part is not a swallow part.
2017-08-23efl: Remove Efl.Orientation horiz & vert (EO)Jean-Philippe Andre
They are now replaced by Efl.Ui.Dir NOTE: The name Efl.Ui.Dir is not satisfactory. Maybe we should use Direction_Type or Direction_Value? Ref T5870
2017-08-10evas: Modify wheel events direction to bool (EO)Jean-Philippe Andre
The orientation was overkill here. We only want a bool. Ref T5870
2017-08-07edje: make the generated default program name reproducible over buildsStefan Schmidt
For programs without specific names edje_cc generated default names in the form of program_$MEMORY_ADDRESS. That worked well enough for keeping the names unique, but it causes problems if one wants to have these files being binary reproducible due to different memory layouts, compilers, etc. Simply using a counter as unique part should work well enough for our use case and help people who want to verify builds. Thanks a lot to Bernhard M. Wiedemann for review and testing. Fixes T5113 Ref T5495
2017-08-05edje - add embryo echo command for debuggingCarsten Haitzler (Rasterman)
finally add one... @feature
2017-08-05edje crash with run program references - fixCarsten Haitzler (Rasterman)
i found a crash today where a heme could cause a crash if it just did the right things. the run program was freed while still being accessed. so add some ref counting to keep it alive until references go to 0. and add soem refs while we store it in lists. @fix
2017-08-04edje: implement edje.player interface functionsAmitesh Singh
fixes T5560
2017-08-04edje: Move size_min/max and data to an interfaceJean-Philippe Andre
The new interface is: Efl.Canvas.Layout_Group I'm not fan of the name. Ref T5315
2017-08-04edje: Move signal APIs to an interfaceJean-Philippe Andre
This interface will be used by elm_layout as well. Ref T5315
2017-08-04edje: Split off calc APIs to an interface (EO)Jean-Philippe Andre
Those APIs can then be used by Elm.Layout, hopefully simplifying the API. I wonder if the APIs should be prefixed "calc_" (as is) or "layout_calc_". The extra "layout_" prefix would make it common with other layout APIs (eg. signals, data, size min/max, ...). Ref T5315
2017-08-04eo debug name: Use strbuf instead of slstrJean-Philippe Andre
This should be a little bit more efficient, even if more "risky" in terms of leaks. The final API still looks exactly the same.
2017-08-04evas/edje/elm: Override debug_name in core classesJean-Philippe Andre
This is really only a demonstration of what kind of information we can print with efl_debug_name_get(). Hopefully this can help debugging with printf/ERR logs and even help with live debugging inside gdb. This shouldn't be used for other purposes than debugging, as the exact string format is not defined. @feature
2017-07-29edje entry - remove extra else and free as sdtring is null thereCarsten Haitzler (Rasterman)
string is null so no need to free. not a bug but cleaner and analysers dont like it. found by PVS studio
2017-07-29edje edit - remove pointless setting attr_mount to 0Carsten Haitzler (Rasterman)
static analysers dont like it bug not a bug at all found by PVS studio
2017-07-29edje edit - when adding size class set max width and height to -1Carsten Haitzler (Rasterman)
since we're not using size class yet.. we hvent had to debug this... but it is a bug. fond by PVS studio @fix
2017-07-20slider: fix jumping handler bug.Hosang Kim
Summary: Actual slider value is not changed. So when user release mouse or touch, slider value is returned to the value by user set. This is a partial revert of f41e2761608fff7b070d630a738 Fixes T5745 Test Plan: elementary_test -> slider Reviewers: jpeg Subscribers: cedric Maniphest Tasks: T5745 Differential Revision: https://phab.enlightenment.org/D5031
2017-07-17Efl text: replace all usages of cursor handle to same typeDaniel Hirt
Changes cursor handle name from 'Efl.Text.Cursor.Cursor_Data' to 'Efl.Text.Cursor.Cursor'. Also, replace all usages of Efl_Canvas_Text_Cursor with Efl_Text_Cursor_Cursor as the handle for the cursor.
2017-07-17edje_signal: reduce member count when deleted edje_signal_callback is foundSungtaek Hong
Summary: - when deleted callback is found _edje_signal_callback_move_last() is called in order to pack match array. - during _edje_signal_callback_move_last() index skips when another deleted callback is found, but does not reduce members_count. - this duplicates a remaining callback and calls the callback twice. Test Plan: 1. add multiple edje_signal_callback by edje_object_signal_callback_add() which have the same source, signal, func but different data. 2. delete first and last callback by edje_object_signal_callback_del/edje_object_signal_callback_del_full. 3. emit edje_signal. 4. observe one callback is called twice. Reviewers: SanghyeonLee, conr2d, jpeg Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D4985
2017-07-12edje_edit: fix source generationAndrii Kroitor
2017-07-12edje: give proper width to entry's cursor according to its themeYoungbok Shin
Summary: evas_object_textblock_cursor_geometry_get() always return 0 as cursor's width for BEFORE type cursor. It casued different cursor width when cursor_fg2 was shown. The cursor_fg and cursor_fg2 must have same width according to its min width. Also, the patch will enclose code for cursor_fg2 by cursor_fg code. It is used when only there is cursor_fg. @fix Test Plan: 1. Give bigger width to entry's cursor by changing its theme. 2. See the width cursor_fg, cursor_fg2 when there is [LTR text + RTL text]. Reviewers: raster, herdsman, cedric, jpeg Subscribers: stefan_schmidt Differential Revision: https://phab.enlightenment.org/D4798