This is a safe version of efl_data_scope_get, meaning that it will
return NULL if the object is not of the required type, or if there
is no data for that class, or if the given class was used as an
interface (and isn't a mixin).
@feature
Summary:
Radio, MBE items, color selector items have ELM_ATSPI_ROLE_RADIO_BUTTON role, when one item
is selected the other items are automatically unselected, so a notification has to be sent in atspi mode
to read the status accordingly
Test Plan:
In ATSPI mode when radio, mbe item, color selector item is selected
status has to notified.
Reviewers: kimcinoo, cedric
Subscribers: govi, rajeshps, jpeg
Differential Revision: https://phab.enlightenment.org/D4960
Thanks @zmike for the report.
This in therory should restore behaviour from 1.18,
where the intercept function is called even if the geometry
isn't changed.
Test scenario, in E:
1. remove bryces, shelves on a screen, or mark all as autohide
2. open chromium or any CSD application as unmaximized
3. maximize the window
4. make it fullscreen (eg. with chromium: F11)
See 8a9f0bd603.
Ref T4749
Fixes T5573
@fix
This patch just moves window related functions together in the
Ecore_Wl2_Window_Group
NB: No functional changes
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to fix misleading return value when
ecore_evas_aux_hint_val_set fails. In the above code, we will return
EINA_TRUE already if the aux_hints_set works, so this return value at
the bottom of the function should be EINA_FALSE.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to support using Ecore_Evas_Interface_Wayland in order to
add support for setting auxiliary hints on a surface
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This reverts commit f69686ba40.
this causes major crashes in e every time you move and resize a
window. i cant even debug it properly because i cant move or resize
windows to get terminals up to debug it... this is bad... so until a
fix is found better to go back to working...
Summary:
There are several problem is left on recursize content calc.
previously genlist only calculate size of layout class,
but after recursive content group calculation patch,
layout couldn't get proper size because sizing eval is
not pre-processed.
Test Plan: elementary test working fine.
Reviewers: jpeg, cedric, raster, conr2d
Differential Revision: https://phab.enlightenment.org/D4952
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary: Before the value of stride is calculated, the weight and height of the rotated image should be set.
Test Plan: {F1409510}
Reviewers: jpeg
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4955
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
RETURN_* macro does unref before exiting functions.
Must be called after using PROXY_DATA_GET macro.
@fix
Test Plan:
1. Run terminology
2. Open Setting
3. Check error messages when you change something from Setting.
Reviewers: herdsman, raster
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4956
During a window destruction, the input devices are deleted and
removed from the internal devices list. Since 83d18617b4
basic devices are children of a seat, which means that the seat
deletion was triggering the devices deletion as well. As a
consequence, we were walking an invalid list of devices.
I'm not sure we should have a list of children in the device
data and I'm also not sure we should have a list of devices in
evas, instead of just the list of seats. It's a bit messy right
now.
Ref T5540
1. The word "class" is a pain point with many languages where
it's a keyword. Type is a little better. Also, the property
was already named "device_type" and not "device_class".
2. Remove Efl.Input.Device.Sub_Class
It's not used inside EFL upstream codebase, and unlikely to
be used anywhere else (even in Tizen).
Hopefully no one used the Efl_ enum types. So far only the Evas_
types should be in used.
Ref T5540
Those are now merged with Efl.Object parent, name and comment.
The reasoning is that only seats can be parent devices; And name
and description are not only name clashes but also not extremely
useful anyway.
Tested with VNC.
Fixes T5540
It was always returning true. There is little point in returning
a bool here, an invalid scale value (eg. <= 0) wouuld lead to a
state where scale_get() != scale_set() and that's about it.
This API is used by elementary widgets like:
edje_object_base_scale_get(elm_layout_edje_get(ly));
This means elm_layout in fact should also expose it directly.
Ref T5315
it seems luajit (and lua) broke api again... removed a #define from
their headers from 5.1->5.2 of lua (and seemingly luajit2.1 too). :(
this should fix T2728
@fix
eo_prefix are set to "efl_text".
Also, "Efl.Text.Format" is shortened to now include the "_format"
prefix.
"Efl.Text.Font" keeps the "_font" prefix, for better readability.
This should later be setup through the theme.
One option will be to use global text classes.
Until the above is finalized, at least set this font and size to make
setup of the widget a bit easier.
The following API is now supported with efl_part:
- Efl.Text.text { set; get; }
- Efl.Text.Cursor.cursor { get; }
- Efl.Text.Cursor.cursor_paragraph_first;
- Efl.Text.Cursor.cursor_paragraph_last;
- Efl.Text.Cursor.cursor_position { set; get; }
- Efl.Text.Cursor.cursor_coord_set;
- Efl.Text.Cursor.cursor_line_char_first;
- Efl.Text.Cursor.cursor_line_char_last;
- Efl.Text.Cursor.cursor_char_next;
- Efl.Text.Cursor.cursor_char_prev;
- Efl.Text.Cursor.cursor_line_jump_by;
- Efl.Text.Cursor.cursor_copy;
- Efl.Text.Cursor.cursor_content { get; }
- Efl.Text.Cursor.cursor_geometry { get; }
- Efl.Text.Cursor.cursor_text_insert;
Many of the 'part_text' functionality was moved to legacy, too.
See the edje_object.eo to see which ones are still supported.
You now use the following:
efl_text_set(efl_part(edje_obj, "part"), "text");
const char *text = efl_text_get(efl_part(edje_obj, "part"));
The former method of edje_object_part_text_set/get is now legacy.
Also, adjusted 'tests/emotion/emotion_test_main-eo.c' with
this change.
Originally it was its own object.
There are some valid claims that there is no justification for it to
remain an object.
Furthermore, it's apparent that it added little benefit: changes of
each cursors, in practice, triggered a query for all objects of the
same textblock. There wasn't real advantage to have a finer resolution
of controlling the cursors with their own events.
This ports back a lot of code, and changes a lot of other code in the
higher-up widgets, such as Efl.Ui.Text and co.
The usage was replaces from:
efl_canvas_text_cursor_char_next(cur_obj)
to
efl_canvas_text_cursor_char_next(text_obj, cur_obj)
that is, it is an operations on the TEXT OBJECT, rather than on the
(now removed) cursor object.
So, one less efl object to worry about now.
Hopefully, the port went smooth.
The opcodes registration request is sent directly in case the connection
is already made. Otherwise, the request is waiting for the connection to
be made by the dedicated thread (not the main loop).
That's why the request can be sent by the two different threads at the
same time, leading to send it twice. It means a callback for an opcode
would be invoked twice everytime a request with this opcode is received.
This patch fixes it by checking if the request has already been sent.
adding an "event rect" is a common use case for rectangles, but I needed
a smarter event rect so I sent one off to school and it came back like this.
an event_grabber is a smart object which functions like a normal event rect
which has color(0,0,0,0), but with an important difference: it can have smart
members. event propagation works differently for an event_grabber:
normal:
event -> layer -> smart(obj1,obj2,obj3) ->(?) other objects
in this case, obj1,obj2,obj3 are all "inside" the smart object and their stacking
will always be considered as being inside the smart object. rendering is also
tied to the smart object in this case, as is clipping.
an event which reaches a smart object will be sent to the objects inside,
and then may continue through the smart object if there are no objects which
block repeating.
event_grabber:
event -> layer -> event_grabber -> obj1,obj2,obj3 -> STOP
in this case, obj1,obj2,obj3 are unmodified after being added to the event_grabber
and can be stacked, rendered, and clipped completely independently of the
event_grabber.
the event_grabber is considered an "event_parent" for this case. member objects
are not "inside" the event_grabber, and they are unable to receive events on
their own. instead, the event_grabber, which must be stacked above all its
members, receives events and propagates them top->down through its member objects.
if none of the member objects block the repeat of an event then the event will
still be blocked from further propagation past the event_grabber.
object lifetimes are independent of the event_grabber; deleting the event_grabber
has no effect on its members.
@feature
Summary:
Add some light function docs and code comments to explain the steps
followed in processing hardware events for keyboard hits into actual
printable characters. While this is internal functionality, the process
is important and involves a couple external dependencies (libinput and
libxkbcommon) so documenting this flow may help future developers avoid
introducing bugs.
Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewers: zmike
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4953
As we now use static_libs/libdrm for compiling ecore-drm2, we can
remove the atomic #ifdefs as we can run-time check this now.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
As we now use static_libs/libdrm to build ecore_drm2, we need to
fix how our drm_mode variables are declared so we can use them.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
As we will now use static_libs/libdrm to build ecore_drm2, we no
longer need to include the copied code from the libdrm headers so
remove all of the copied code from our source files.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
As these events will be raised to ecore_evas_wl and the handlers there
do not pass along the Ecore_Evas as 'data', we need to change the type
of variable passed along in the event struture so that
ecore_event_window_match can be called to find the Ecore_Evas.
This patch also fixes some typos discovered during compile
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This patch adds an API function which can be called to determine if
window manager rotation is supported.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to add an API function which can be called to set if
window manager rotation is supported.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Dependencies are now going to be parsed strictly after the main
file, to allow proper dependency cycle behavior in all places. For
now there is correct parsing of deferred deps but they're not
queued yet.
image.zoomable can load edj files now.
usage:
efl_file_set(zoomable, "../somefile.edj", "mygroupname");
test:
elm_test -> photocam
click "open" btn
select an edj file, it would show first group in selected edj file.
@feature
Summary:
Genlist item doesn't change its size when its content size is changed,
but its size is determined in realization.
Therefore, deferred calculations for content should be performed immediately
before swallowing it by genlist item.
Test Plan: make and run attached sample
Reviewers: jpeg, SanghyeonLee, cedric
Differential Revision: https://phab.enlightenment.org/D4705
Summary:
To recieve keyboard events, the entry_edje should have Evas focus.
But, if a non editable Entry widget takes focus, it can't recieve
keyboard events even if it becomes editable after taking focus.
So, elm_entry_editable_set() function should update Entry's focus state.
@fix
Test Plan:
The code of elementary_test - entry is modified to test this issue.
Please, check the issue with the following steps.
1. Run "elementary_test entry"
2. Click "Unfocus" button to make entry to "unfocused" state.
3. Click "Edit" button to make entry to non-editable mode.
4. Click "Focus" button to make entry to "focused" state.
5. Click "Edit" button to make entry to editable mode.
6. See a cursor is blinking in entry.
=> But, you can't edit text without this patch.
Reviewers: raster, herdsman, cedric, jpeg, woohyun
Differential Revision: https://phab.enlightenment.org/D4858
If we receive bad crtc info from libdrm, then we could end up with a
SIGFPE here due to division by zero if info h/v total are not set.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This patch adds a new API function which can be used to swap x & y
pointer axis and invert them according to rotation angle. Mouse input
events occur according to canvas coordinates so this can be used when
a canvas is rotated.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch which adds an API function that can be called to swap x
and y axis and invert them according to rotation angle.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
This patch partially reverts D2951.
_edje_entry_imf_retrieve_surrounding_cb() function has to pass
whole text nearby the entry's cursor. If IMF needs to ignore
selected text when the entry has selection, IMF can check
selected text by calling _edje_entry_imf_retrieve_selection_cb().
So, we don't need remove selected text before passing it to IMF.
@fix
Test Plan: N/A
Reviewers: woohyun, jihoon, subodh6129
Reviewed By: subodh6129
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4321
This patch adds support for map with more than 4 points.
However, we only support points with multiples of 4.
This also adds efl_gfx_map_point_count_set/get APIs to
set number of points.
@feature
Summary:
- elm_panel has a property named hidden which stores
open/close status.
- This is updated when:
1. bring_in animation is done(anim_stop_cb).
2. mouse_up on panel.
3. API is called. (elm_panel_toggle, elm_panel_hidden_set)
- In case 3, API changes hidden, and starts bring_in animation
which will call anim_stop_cb() which will update hidden again.
- If bring_in animation is canceled (eg: sizing_eval),
anim_stop_cb will be called and calculate hidden status
which will not guarantee updated hidden state by APIs.
Test Plan:
1. Call any APIs which will call elm_layout_sizing_eval(panel)
right after calling elm_panel_toggle()/elm_panel_hidden_set().
2. Delete content of panel during "toggled" cb.
Reviewers: jpeg, eunue, cedric
Subscribers: conr2d, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4704
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
When calculating output dpi, we should also be considering output
height in the calculation.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to add an API function which can be called to set a buffer
transformation on a given window.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to add a new API function that can be used to retrieve the
current transform value for a given output.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch which adds an API function that can be used to find the
output where a given window resides.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Some servers may need to do special animations or other effects when
an output transformation happens, so raise an event in the output
geometry callback when this happens.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
Problem that scroller is not mirrored in RTL mode has been fixed in D4908.
However, I found a problem in init process.
I will revert D4908 commit(https://phab.enlightenment.org/D4908).
After edje_obj is initialized, mirrored_set is called.
When wanted_region_set is called, x-coordinate flip normally and acts as RTL.
Test Plan: scroller test on elementary_test.
Reviewers: raster, woohyun, SanghyeonLee, akanad, eagleeye, cedric, singh.amitesh, eunue
Subscribers: jpeg, cedric
Differential Revision: https://phab.enlightenment.org/D4944
See also eb27724eb9 which didn't fix
the reported issue. Not quite sure yet how to implement those
lock & modifiers for fake events (i.e. artificially created
by the app itself).
Fixes T5510
Summary:
This reverts commit de313d6296.
Because x-coordination mirroring is called properly from wanted_regison_set.
There was a problem in scroller init process.
Before edje_obj was initialize in elm_interface_scrollable_objects_set, mirrored_set was being called.
So Move mirrored_set after elm_interface_scrollable_objects_set
it can fix this issue(https://phab.enlightenment.org/D4944)
Reviewers: raster, woohyun, SanghyeonLee, akanad, eagleeye, cedric, singh.amitesh, eunue
Subscribers: jpeg, cedric
Differential Revision: https://phab.enlightenment.org/D4945
Summary: I had fixed some typos and wrong expressions, such as capital letters, $simbols in .eo and singulars in Ecore, Ecore_Audio, Ecore_Cocoa, Ecore_Con, and Ector API reference doxygen.
Test Plan: Doxygen Revision
Reviewers: Jaehyun_Cho, stefan, jpeg, cedric, raster
Reviewed By: Jaehyun_Cho
Differential Revision: https://phab.enlightenment.org/D4943
This was initially an experiment in trying to use Atomic properties to
set dpms on/off, however it does not turn off backlight support when
triggered so it is useless.
Fixes T5462
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
When we go to set output backlight level we use doubles, so lets just
store these values as doubles in the structure.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Small patch to add an internal function which can be used to retrieve
backlight values on output creation.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This was skipping the error path on failure and setting some state as if
it was successful. Then the next attempt at a page flip was actually
setting this state.
So _output_dpms_atomic_set (which has always been broken) wasn't actually
the function that successfully disabled dpms.
This is confounding attempts to debug why dpms isn't coming back on
properly.
Now it won't turn *off* either, because it really never should have.
Ref T5462
Summary:
Fixes that a scroller can not be moved normally even if it is changed to mirrored.
In elm_scroller, _mirrored_set is called when sizing_eval is called. because
When content size is changed, it should be scrolled based on mirrored coordinates.
Also In elm_interface_scrollable,
elm_interface_scrollable_content_pos_set of _elm_scrollable_mirrored_set
to be called regardless of mirrored state.
Test Plan: scroller test on elementary_test.
Reviewers: raster, woohyun, SanghyeonLee, akanad, eagleeye, cedric, singh.amitesh, eunue
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4908
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Reason for role change:
MBE items do not act like push buttons, they need to maintain their status and at a time only one item can be selected, they act like radio buttons.
Role change of MBE from entry to panel, because MBE is just a container and entry is one of the children, when entry gets access frame, it will work as how entry works, but making MBE role as entry does not work as expected and also MBE should not receive highlight as a whole but only its children should receive highlight one more reason why MBE role cannot be entry.
state_set_get API added to get items state.
Test Plan:
When atspi mode is enabled the access frame has to
navigate directly on item and not on MBE as a whole and state has to
be read out
Reviewers: kimcinoo, cedric
Reviewed By: cedric
Subscribers: cedric, govi, rajeshps, jpeg
Differential Revision: https://phab.enlightenment.org/D4925
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
When password mode is changed, the change has to reflect on already running
apps as well. config_sub_apply will not be called for an already running app.
Test Plan:
1. 2 running process
2. Change the config value of password last show in one process
3. Check whether the change has reflected in previous process.
Signed-off By: Shilpa Singh<shilpa.singh@samsung.com>
Reviewers: jpeg, cedric, thiepha
Subscribers: govi, rajeshps
Differential Revision: https://phab.enlightenment.org/D4916
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
GCC has started introducing a detection for series of case in a switch statement
without break for each case. We do use that trick a lot to reduce our code base.
Even if in most case we have documented this so that people using coverity don't
try to fix it. Now with GCC we need to silence it properly to avoid future
problem.
Summary:
Wordsmith phrasings to be a bit more concise. In example code,
distinguish better between the OOM and Low Mem conditions that it
is demonstrating.
Reviewers: cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D4898
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
If popup scrollable change from FALSE to TRUE after content or text is added,
content_area is deleted, so it cause null pointer problem.
main_layout has content_area in its CONTENT_PART, but in scrollable_set API,
tbl set into main_layout's CONTENT_PART, so content_area is deleted.
On the contrary, if scrollable change to FALSE,
content object in content_area is deleted, because tbl set into content_area's CONTENT_PART.
So if some object set into other object,
unset previous object and set it into properly part after that.
A case using item_append should be fixed by other patch.
@fix
Test Plan: Change scrollable repeatedly after adding content or text to popup.
Reviewers: jpeg, singh.amitesh, conr2d, cedric, raster
Reviewed By: cedric
Subscribers: herb
Differential Revision: https://phab.enlightenment.org/D4894
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The API was not working because of an internal logical error.
@fix
Test Plan: Calling elm_calendar_interval_set API in elementary_test.
Reviewers: jpeg, cedric, Hermet, woohyun
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4891
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: Added a new api to send the mime type of entry to IME.
Test Plan: Tested in Tizen device
Reviewers: woohyun, id213sin, jihoon, cedric
Reviewed By: cedric
Subscribers: cedric, jihoon, jpeg
Differential Revision: https://phab.enlightenment.org/D4929
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Eina Debug is a layer aimed to bring a way to debug EFL applications by
providing a transport channel between a debug tool and the applications
of a device.
In order to be interrupted by EFL core as less as possible, the communication
is done in a separated thread.
The Ecore loop is not used there, as well as the Ecore helpers (socket...).
Debugging operations can be registered easily by any layer of the application.
To use it:
- Launch efl_debugd
- Launch the application to debug
- Launch Clouseau (the new version will be pushed soon) or another debug tool
supporting Eina Debug
Eina Debug is a new layer aimed for EFL debugging. It offers scalability
by allowing registration of operations not specific to EFL core.
The protocol is simple and the APIs try to provide as much
functionalities/freedom as possible.
The expected usage is efl_text_set(efl_part(layout, part), text);
Same for text_get.
Also, added an example how to make API easier with providing
efl_text_set/get for the widget itself, in efl_ui_button. Please see
this example.
Summary:
Item: state_set_get, name, actions api added
Widget: children_get api added.
Test Plan:
In Accessibility mode, on item tap, color name should be read out,
and if the color is a selected color, state also should be read out.
Reviewers: kimcinoo
Subscribers: cedric, jpeg, govi, rajeshps
Differential Revision: https://phab.enlightenment.org/D4934
The internal logic should be improved further in the future to synchronize itself
with loop wake up whenever possible (Especially true for the high frequency poller).
in some cases, pulse events trigger spawning another pulse instance, and
the environment at this time is used to determine whether to attempt an
x11 connection
fix T2599
@fix
We get this callback after we've lost the drm device to logind, so
deactivating stuff here will just generate a lot of ERR messages
and break our internal book-keeping.
Instead, we just turn on DPMS on session activation instead of trying
to go through the output enable path (that will bail if it's already
enabled)
This could potentially result in a display that's enabled and DPMS
off being switched back on during session activation - if that's a real
problem we can restore the previous dpms state instead...
@fix T5483
We need to set output->enabled to disabled *after* dpms takes place or set
it to enabled *before* dpms takes place. We can't just set it at the
start of the function or one of enable/disable will hit the dpms path
with a disabled display.
Give back all buffers, and do it through the release mechanism that can
fire a callback into the engine.
Previously we just leaked one and left the rest.
Summary:
object_mirroed_set as opposed to config_mirrored_set doesn't work with
popup. This patch broadcasts a change on 'mirrored' to internal notify,
main layout, scroller and action area layout to make API work.
@fix
Reviewers: singh.amitesh, jpeg, conr2d, cedric, raster
Reviewed By: conr2d
Subscribers: herb
Differential Revision: https://phab.enlightenment.org/D4900
Since this was moved into the two genlist and gengrid files I get
redefinition warnings during the build and when generating the docs
eolian actually errors out on me and stops parsing.
elm_widget_theme_object_get now return Elm_Theme_Apply enum not bools.
only ELM_THEME_APPLY_FAILED case, need to re-apply default item edje.
Signed-off-by: SangHyeon Lee <sh10233.lee@samsung.com>
COMMIT_CONTENT is called when the input method commits content such as an image.
Change-Id: Idf238dc9b27811999b1ee733eeba2318d57e54f1
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
We're supposed to query the path for a session id instead of just
making up the string ourselves.
Fixes all input devices being dead after a vc switch for some users.
This introduces the new interface Efl.Ui.Base, intended to
share some APIs between Edje and Elm:
- mirrored (rtl)
- language
- scale
base_scale remains in Edje.Object for now. I don't think it
applies to generic widgets.
The new interface uses eo prefix "efl_ui". It could be renamed
as Efl.Ui (no Base), or anything else. As always, I'm open to
propositions!
Ref T5315
This size hint is only used by naviframe, which is not part of
our EO widgets. I also believe it might be an even more confusing
hint than the others.
I kept the typedef as is in Evas_Legacy.h in case an app is
written using EFL_GFX_ instead of EVAS_...
This changes a few method names:
- freeze -> calc_freeze
- thaw -> calc_thaw
- update_hints -> calc_update_hints
Otherwise this is mostly about reshuffling the EO file itself
and changing documentation.
Ref T5315
Still not happy with the name. I'm trying to avoid a name
clash between other "data" elements in the object. This is
the EDC group "data item".
Ref T5315
As Dave pointed out, those are meant for internal use by Edje and
the plugins implementation, rather than for apps. This removes
ugly and complex code. Makes me happy :)
Note that I've kept the composition for now. We can remove it
as efl_content_get() must work on the part handle anyway. But it
can be used as a quick solution.
This moves all part_drag APIs to legacy and implements them for
EO using efl_part(). All parts now support these APIs, even if
they are not draggable. Making this more fine grained would
probably be much extra work for little gain.
This creates a new interface Efl.Ui.Drag.
Summary:
Other widgets remove previous object when setting new content, but popup does
nothing for the part whose name is "default".
content_unset can be used to keep previous content object, so content_set
(especially with NULL) should be able to delete previous content object
for uniformity of the entire widgets.
@fix
Reviewers: jpeg, singh.amitesh, cedric, raster, conr2d
Reviewed By: conr2d
Subscribers: minkyu, herb
Differential Revision: https://phab.enlightenment.org/D4885
If atomic support is not enabled (kernel or env var), then we will not
be filling output plane_states, so no need to free them (if non-atomic).
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Units are Eolian files (eo/eot). Each unit contains information
about its class, dependencies, variables and types. This allows
for saner checking to be done.
If atomic support is disabled (via kernel or env var), then we do not
need to fill device atomic state as it will not be used anyway.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
If atomic support is not enabled (kernel or env var), then we should
not be filling in output atomic state
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This 'return' statement here is just useless as the code can fall
through and the function will return 0 anwyay.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
fix wrong initial value for ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL mode
@fix
Test Plan:
1. set zoom mode of photocam to ELM_PHOTOCAM_ZOOM_MODE_AUTO_FILL in text_photocam.c example
2. run elementary_test -to photocam
3. check it is working well
Reviewers: jpeg, cedric, raster, Hermet, singh.amitesh
Reviewed By: singh.amitesh
Differential Revision: https://phab.enlightenment.org/D4921
Summary:
map_surface does not redraw in below case.
1) parent and child are smart object and has map.
3) drawing objects.
4) apply new map to child object.
Test Plan: sample code
Reviewers: jpeg, cedric, jypark
Differential Revision: https://phab.enlightenment.org/D4889
Summary:
If multi selection have 0 column and delete the selection, 0 + 1 column also
deleted
This fix that bug.
Also, remove needless code.
Test Plan:
1. select multi line with 0 column.
2. delete the selection
Reviewers: ajwillia.ms
Reviewed By: ajwillia.ms
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4922
This implements edje_object_part_external_object_get() using
efl_content_get() on the part object. Note that there are now
two ways to call APIs on the external part:
- direct call to the efl_part() as if it was the object itself
(implemented by composition),
- get a handle with efl_content_get(efl_part()) and manipulate
it directly (it is the real object).
Do we need this? Do we need the composition trick? Should we have
only one of those solutions implemented?
This effectively replaces edje_object_part_external_object_get
and allows all function calls except those from Efl.Object.
Is this good enough? Or do we need access to the real object?
This adds a new class: Efl.Canvas.Layout.External.
I hate this long name...
This class represents an external part, and for now only
supports param_set/get as well as param_type_get. For now
param_type_get() still returns an Edje_External_Param_Type and
not another more generic type.
TODO: enumerate choices, return object, return content