The engage feature was mainly there as a demo of the capabilities of bryce. Now that we are nearing release we need to clean up our gadgets. The engage style for the luncher gadget is not complete, and does not work adequately, and quite honestly better belongs as a feature of bryce itself not luncher.
Text on path (textpath) allows application to make text follow a path.
The path can be a efl_gfx_path or a circle.
Thank hermet for initializing this work.
@feature
On OSX the framespace and CSD (Client-Side Decorations) are not
supported at all... I am not able to test this case. This patch
restores the main menu functionality based on pre 1.19 themes,
where it was located inside win.edc (app content) and not in
border.edc (framespace).
Note that the initial size of a window may be wrong, eg as in
elementary_test -to "Main Menu"
Fixes T5734 (hopefully!)
in x11 the mouse pointer is separate to everything else on the screen,
and so when screensaver kicks in and we fade to/from black or we
suspend/resume and do the same... the mouse pointer stays annoyingly
visible and it just lookes like a bug. this allows that to be fixed by
allowing the pointer to be suspended or resumed... :)
@fix
for compatibility reasons this can only be changed in a signal callback
in the default theme.
all themes should now use NOGRAB for parts which can be used to trigger
window_move signal bindings
ref T5552
Previously the progressbar in fileselector use hardcoded style name
"wheel", that made unpossible to create different style for
fileselector. This commit made it possible.
@fix
Summary:
When auto update is enabled, the label of the hoversel will be that of selected
item. This feature is usually used when changing state of something.
Highlighting item previous selected will show what is current state more
explicitly especailly hoversel has many items.
Test Plan: elementary_test -to hoversel
Reviewers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4799
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
In singleline textblock, using "text.min: 1 0" and min, max width,
Edje allows to use expandable text with ellipsis. It shows ellipsis
when only text's width reach the max width.
But, Edje couldn't support same feature on multiline textblock.
Edje dose not use max height or text.max properly if ellipsis is enabled.
This feature is very useful to make a layout with dynamically aligned text.
@fix
Reviewers: cedric, tasn, woohyun, raster, herdsman
Subscribers: z-wony, eagleeye, jpeg
Differential Revision: https://phab.enlightenment.org/D3595
* make the 2 monitors fill based on tx/rx percentage vals
* try a more bluish version (still need a bit of love)
Note that this is not working atm (okra need to fix in E)
This reverts commit 5eef9da416.
This breaks full rebuilds with the following error (Jenkins logs):
00:25:40 configure: creating ./config.status
00:25:41 config.status: creating Makefile
00:25:41 config.status: error: cannot find input file: `data/Makefile.in'
This also broke incremental builds with a different but just
as confusing autofoo error message.
Summary:
When width of parameter(w) is bigger than or equal to scroller's width(pw),
scrollable object must be scrolled to x position.
Test Plan: elementary_test -> focus 4
Reviewers: woohyun, SanghyeonLee, Hermet, cedric, jpeg, raster
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4491
The frame object requires a theme of version 119 or more. In fact
I think until we are totally happy with the window API (for EO) we
might want to bump that version regularly. That would indeed disallow
theme customization for border.edc until it's done.
This patch uses a pretty brute force way to set the theme file to
the default file from EFL installation. elm_config is not reliable
here.
This is very custom made and there may be a more generic way to force
a widget to use a minimum theme version. Yes that could mean ugly
widgets if we change the theme API but at least that would make them
work. Note that the border theme contains no visual elements, so the
colors of the background, etc... should all depend on the user
selected theme. But of course CSD (in Wayland) will have to use the
default theme -- and look grey.
Fixes D4976
Like 79d76fb25e, this is useful when
debugging a core dump.
It accepts a valid pointer to an object, for example as returned from
$eo_resolve, and a name of a class or mixin, and returns a pointer to
the private data. Essentially the same as efl_data_scope_get(), but also
works on core dumps, and accepts a class name instead of a class
pointer.
Usage:
Print the pointer:
(gdb) print $eo_data_get($eo_resolve(obj), "Efl_Canvas_Object")
$1 = (void *) 0x555555eb9290
Use it directly (e.g. to print a value):
(gdb) print ((Evas_Object_Protected_Data *) $eo_data_get($eo_resolve(obj),
"Efl_Canvas_Object"))->last_event_type
$2 = EVAS_CALLBACK_MOUSE_UP
@feature
After reverting 8a21384759, I figured out how to move
the main menu back to the border group. This time the menu is in the
framespace and its layout algos have been adapted to allow non-zero
root coordinates.
Summary:
elm_calendar is not subject to current automated focus policies due to internal implementation issues.
(Each date in the calendar is an edje part. )
For the above reasons, I have implemented the focus policy support manually.
Test Plan: elementary_test - calendar sample.
Reviewers: bu5hm4n, woohyun
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4421
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
As Andy reported, the main menu geometry is not correct after
my recent changes, as the application contents slide underneath
the menu bar. In fact the menu bar is just floating above
everything else.
So I've tried to move the menu to the framespace (as it should
belong to the frame), but the sizing algos for both the window
and the menu make some assumptions that render this task quite
difficult. Eventually I would like to be able to swallow the
menu somewhere else inside the border... but not right now.
Thanks @raster for pointing this out: title bar and menu bar
were resized down to 1 pixel high rather than 0. This meant that
all CSD windows would see a 1-pixel line between the title bar
and the app content, while SSD windows would see a 2-pixel line.
Also clip out the icon, this makes a 1x1 pixel disappear from the
top-left corner.
My previous patches have broken E Wayland internal windows, as
the compositor wants to create Server-Side Decorations[1] but
based on some mysterious heuristics, E will decide to show or
not SSD. It seems the surface geometry, window geometry,
input region and maybe opaque region need to all match. There
was a pixel difference in the theme which broke everything,
also CSD shadows must be turned off in that case.
This also fixes inputs as for some reason a mismatching input
region vs window geometry would break pointer move/up/down in
those internal windows.
[1] I believe this is not a great idea and E should never draw
any server-side decorations in Wayland. Wayland was supposed
to mean only CSD, no more SSD.
For standard windows, we want to create an elm_bg object if
the theme is a legacy one. Otherwise the default theme
doesn't require an extra object, just a rectangle.
This fixes compatibility with legacy themes (ie. every single
theme in existence beyond the default one, for now), by checking
where to swallow the menu widget. If a legacy theme is used,
the legacy swallow should be used, and it will all look correct.
Moving forward I hope to get rid of the internal edje object
entirely, except for compatibility reasons.
Also converts border.edc to lazEDC (easier to read, imho).
This is still work in progress but currently this supports
CSD & no-CSD modes for normal, maximized, main menu usage, shadow
on and off.
Note that shaded support is not implemented. I've made some
attempts towards this goal, with some success under X but it
was ugly code, and didn't work under Wayland (weston). So, no
extra support for shaded mode yet.
Use Efl.Part for window to manipulate the background.
Two part names are used in EDC:
- elm.rect.background
- elm.swallow.background
For apps the part name is only "background".
To set a solid color background (alpha is ok):
efl_gfx_color_set(efl_part(win, "background"), r, g, b, a);
To set an image:
efl_file_set(efl_part(win, "background"), "image.jpg", NULL);
To set an object:
efl_content_set(efl_part(win, "background"), subobj);
The solid bg is invisible by default, will become visible and use
COPY render mode if a color is set. Standard window uses the
swallow part.
@feature
Normally when debugging Eo with gdb you can just use any of the internal
eo functions to resolve the id to its internal pointer. However, when
loading a coredump you can't execute any code, not even the id resolve
code.
This change adds a gdb function that resolves the id to its pointer form
without executing any code in the process space. This plugin is
essentially the id resolve code written in python as a gdb function.
Usage:
Print the pointer:
(gdb) print $eo_resolve(obj)
$1 = (_Eo_Object *) 0x5555559bbe70
Use it directly (e.g. to print the class name):
(gdb) $eo_resolve(obj)->klass->desc.name
This plugin requires that the coredump would be loaded with the exact
same libeo.so binary (or at least one that hasn't changed eo internals),
and that the debug symbols for libeo.so would be available for gdb to
use.
Note:
This feature is incomplete and only resolves IDs that are owned by the
main thread and in the main domain. This is not a big issue at the
moment, because almost all of our IDs are like that.
@feature
This adds more pointers to elm/pointer so that we can use these to
provide "EFL mouse pointers" inside Wayland Client applications.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Naviframe item view did not become visible if top item view is deleted
by elm_object_item_del().
To resolve this problem, program for "elm,state,visible" is fixed and
"elm,state,invisible" is added.
For a while now I had strange races during make install on Jenkins where some
image files either already existed or chmod was called on files not there yet.
It took some digging but it turns out commit
8dcd5207cc broke this as a side effect. The black
magic that already installed the files JP refers to is sitting in
data/Makefile.am. It is plain autofoo stuff and just includes the images
Makefile to get the list of files.
JP was correct though that the glayer files have not been installed into the
correct subdir. Fixing this as well here.
This fixes runtime errors such as:
ERR<29027>:edje lib/edje/edje_calc.c:756 _edje_part_description_apply()
Cannot find description "normal" in part "text2" from group
"elm/segment_control/item/default". Fallback to default description.
The "normal" (non-existant) state corresponds to a disabled state,
which is provided by the "default" state.
the makefile was wrong making multip.edj for the multitouch test in
elm the wrong src thus breaking the crosshairs. this fixes that again
so the test is right.
@fix
This widget was lacking an edje_external param to notify the widget to start or
stop pulsing from edje.
@fix Now the edje_external progressbar test works as expected.
This moves g_layer images to their folder.
Some kind of dark magic managed to install the base images
in the proper folder already.
This fixes elementary_test -to "Gesture Layer 2"
@fix
Summary:
Using edc script, there is no way to know evas object is set on swallow part or not.
So, to know that, some elm widget send signal and save some information to edc variables when object is set on swallow part.
I think it is helpful to make better edc script.
@feature
Reviewers: herb, cedric, raster, id213sin, jpeg
Reviewed By: jpeg
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D4176
combobox: add Multiple selection feature
This exposes problems with name clashes and behaviour change for the legacy API.
Revert for now and we can revisit for 1.19.
Git revert got to confused as this was committed before we merged elm in. I did
the revert manually.
Revert "elementary: disable visual hint at odd/even."
This reverts commit c64071ae13.
This reverts commit 7affe8c204.
This reverds the odd/even theme changes because this BREAKS
ENLIGHTENMENT COMPLETELY. Enlightement also uses odd/even list looks
and REMOVING this REMOVES every 2nd lost item member (it makes them
0x0 sized). This is a major break in actual FUNCTIONALITY in the name
of looks. NO. Revert.
We ship with this look. no more breaking stuff like this in the name
of cosemtics and not ACTUALLY fixing any bug at all. it creates bugs.
When focus is moved rapidly, final size of focus highlight is not
matched well with the focused object.
Without running anim in edc, it shows right performance.
@fix
This major mode provides colored output, that helps a lot to view and
edit ".eo" and ".eot" files.
It's the first version, I still see some indenting issues with
toplevel blocks such as struct and enums. Nonetheless it's much more
useful than fundamental-mode (pure text).
This is a work around a huge bug in how genlist handle index. Fixing
it in genlist for this release is way to risky. The default theme is
temporary updated to not use this feature and this patch should be
reverted as soon as we start working on 1.19.
This commit sets up a client_clip for the windows client being
swallowed so that during resize, any window contents do not draw
outside the window.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This reverts commit fdaefdbf9a. This is
being reverted because the issue of wayland borders not swallowing
clients has now been fixes and thus mouse_events work as expected wrt
client swallow.
Summary:
Suggest new mark_type for elm_calendar_mark_add().
The mark names are "weekend/day1", "weekend/day2".
It can be used for each country.
Some country can apply to "weekend/day2" to friday if day rest only a day for a week.
Until now, there is no way to separate holiday, saturday and sunday.
Test Plan:
1. saturday
```
struct tm t = { 0, 0, 12, 6, 0, 0, 6, 6, -1 };
elm_calendar_mark_add(obj, "weekend/day1", &t, ELM_CALENDAR_WEEKLY);
```
2. sunday
```
struct tm t = { 0, 0, 12, 7, 0, 0, 0, 0, -1 };
elm_calendar_mark_add(obj, "weekend/day2", &t, ELM_CALENDAR_WEEKLY);
```
Reviewers: CHAN, cedric, raster
Reviewed By: raster
Subscribers: raster, akanad, id213sin, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4148
Summary:
If there is no member styles when a text_class is updated,
newly added styles can't be updated.
So, newly added styles as member of text_class should be updated.
@fix
Test Plan:
Test case is included.
1. Run "elementary_test -to "font overlay""
2. Press Next button. Check the font size.
3. Press Prev button.
4. Put font_size as 50
5. Click Apply button.
6. Press Next button. Check the font size is not changed.
Reviewers: cedric, tasn, herdsman, raster
Subscribers: jpeg, z-wony, Blackmole
Differential Revision: https://phab.enlightenment.org/D4125
Summary:
ERR<18878>:edje lib/edje/edje_calc.c:2767 _edje_part_recalc_single() file /usr/local/share/elementary/themes/default.edj, group elm/slider/horizontal/default has a non-fixed part 'elm.swallow.icon'. You should add 'fixed: 1 0'. But in order to optimize the edje calc, we add it automatically.
ERR<18878>:edje lib/edje/edje_calc.c:2767 _edje_part_recalc_single() file /usr/local/share/elementary/themes/default.edj, group elm/slider/horizontal/default has a non-fixed part 'elm.swallow.end'. You should add 'fixed: 1 0'. But in order to optimize the edje calc, we add it automatically.
Test Plan: Launch an app with slider, open the slider and observe the console output
Reviewers: cedric, singh.amitesh, jpeg
Subscribers: seoz, minkyu
Differential Revision: https://phab.enlightenment.org/D4117
Summary:
Focus region must be located in entry object.
Therefore if it get out of entry,
it just returns last cursor position that can be shown.
@fix
Test Plan:
1. elementary_test "Entry on Page Scroll"
2. click 2nd btn and close popup
3. page should not be scrolled
Reviewers: raster, herdsman, id213sin, woohyun, tasn, cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D4072
This composite object utilizes the Efl.Canvas.Text, Efl.Canvas.Text.Cursor and
Efl.Ui.Interactive API to server as a proper replacement for the Elm Entry
widget.
@feature
After this commit you will find a new icon theme in your system,
it is called Enlightenment-X and is build using the same icons used
in the elm theme. Using this theme you can have non-efl
and efl apps to use the same icons.
#StupidAutotools that require me to list each icon and each folder
to be able to install them
so the theme build can order ok/cancel based on preference for an os,
so make configure have an option for this and build the theme
specifically based on that option. enable the option if you want mac
style cancel, ok or default ok, cancel as is common elsewhere.
--enable-cancel-ok
is the option
@feature
Summary:
In on_focus_region function,
entry returns relative x,y position from edje object.
It should be calculated from elm object's position.
@fix
Test Plan:
1. $elementary_test "Entry on Page Scroll"
2. click under button
3. click upper text in entry
4. page should not be scrolled
Reviewers: tasn, cedric, woohyun, Hermet, herdsman, raster
Subscribers: Blackmole, id213sin, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3923
The idea here is to provide a "real" fdo icon theme along the icons in the elm edje theme.
To minimize file redundancy the icons are profided directly in a fdo structure and picked
in icon_fdo.edc. Also I'm using all the icons in svg format so that we don't need to provide
all the creazy sizes as per fdo spec.
More icons will comes in the next commits
"elm.swallow.icon" and "elm.swallow.end" of group_index item were not
squrares. So change those swallow parts to be squares like default
item's swallow parts.
This reverts commit aaf8b86179.
it turns out that this was irrelevant and there was some less-than-competent
engine code trying to manhandle surface sizes
so i had a separate flat theme i was working on but i just can't keep
up with changes so i'm just putting in some of the nicest bits here
slowly like nicer shadows.
@feat
in the case where a user wants to get the current date/time from a
specified timezone, this function allows a timezone string to be passed
as a parameter
@feature
Summary:
The edc debugging is difficult because users can not check
whether or not any program is executed or the state of part.
If users can print that property, they can do debugging more easily.
This "printf" feature is for debugging edc.
@feature
Test Plan:
add printf("test : %s %d %f", "text", 1, 0.5); in the script in the edc
build it by edje_cc
excute it and see the log
Reviewers: cedric, raster, jpeg
Reviewed By: jpeg
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3499
Summary:
In edje_embryo.c, there are the list for supported methods in script.
However, methods listed from line 175 to 188 don't exist actually.
This patch implements 4 methods among them.
set_mouse_events(part_id, ev)
get_mouse_events(part_id)
set_repeat_events(part_id, rep)
get_repeat_events(part_id)
Reviewers: Hermet, woohyun, cedric
Reviewed By: cedric
Subscribers: cedric, Hermet
Differential Revision: https://phab.enlightenment.org/D2766
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Issue: Current embryo script do not provide any mechanism to set transition type in animation
Solution: A new API set_state_anim is added.
Signed-Off by: Kumar Navneet <k.navneet@samsung.com>
Signed-Off by: Shilpa Singh <shilpa.singh@samsung.com>
Test Plan: A test edc (embryo_set_state_anim.edc) is added to edje examples to test set_state_anim API.
Reviewers: shilpasingh, raster, cedric
Reviewed By: cedric
Subscribers: poornima.srinivasan, cedric
Differential Revision: https://phab.enlightenment.org/D2470
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Issue: Current embryo script do not provide any mechanism to set transition type in animation, by default supports only linear
e.g: set_tween_state API
Solution: To not break backward compatibility, a new API set_tween_state_anim is added in which we can even specify type of transition required.
Signed-Off by: Kumar Navneet <k.navneet@samsung.com>
Signed-Off by: Shilpa Singh <shilpa.singh@samsung.com>
Test Plan: A test edc (embryo_tween_anim.edc) is added to edje examples to test set_tween_state_anim API.
Reviewers: raster, cedric, shilpasingh, Hermet
Reviewed By: shilpasingh
Subscribers: poornima.srinivasan, SubodhKumar, rajeshps, cedric, govi
Differential Revision: https://phab.enlightenment.org/D2344
While we used different variation of mkdir -p all over we also had spots
where we did not use the option. This is one step in trying to make our
build system ready for parallel install. Using something like -j 10 even
for the install should help to speed up our jenkins jobs as well as distcheck.
Summary:
The SCRIPTS macro will add the executable flag (+x) to the Python scripts ; but as
these do not have a shebang (#!/bin/python) and we are executing them explicitly with
"python ...", it is useless. Plus, some build environments will issue a warning about
this.
Reviewers: tasn, JackDanielZ
Subscribers: mbachmann
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D1469
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
this adds a slave process that is useful on nvidia drivers as there
isn't another way to get vsync evenys (that i know about). i need to
make another slave process to that includes a dri2 protocol
implementation since mesa has now hidden its dri2 symbols.
This allows people to disable the building of anything GUI related.
In my case, it is used for servers.
I encourage anyone that think they can do a better patch to improve it,
as i dislike having to add all those AM_CONDITIONAL().
Maybe the macros should be improved.
Summary:
...cannot encode those things into edje.
In our case, we need vibration when longpressed. But those files are not
audio or image and cannot be encoded into edje. Also, this library is not
opensource so should not be linked directly with edje.
So we should call vibration API by using this plug-in.
Reviewers: raster, cedric, seoz, Hermet
CC: cedric
Differential Revision: https://phab.enlightenment.org/D588
Summary: Adding an option to use a cubic-bezier curve in edje transitions.
Reviewers: Sachiel, cedric, raster
Reviewed By: raster
CC: raster
Differential Revision: https://phab.enlightenment.org/D319
Summary:
Selection handlers are now implemented in elementary. So, we should remove them from edje.
The BLOCK_HANDLE mode should be removed also.
Reviewers: cedric, tasn
CC: cedric, raster
Differential Revision: https://phab.enlightenment.org/D312
Ecore will now load "system modules" on ecore_init(). The "systemd"
module will use DBus to monitor localed, hostnamed and timedated and
add system events related to those changes.
This reverts commit 4850c53350.
You can set the alias in the .gdbinit.
So my .gdbinit looks like:
source /usr/local/share/eo/gdb/eo_gdb.py
alias -a eo_bt = eo_backtrace
Special thanks to Alex-P. Natsios for the tip.
If you install the efl to a different path than the one gdb was installed to
either set gdb's data dir, or just symlink the file to the other prefix.
You can still use the old method of just loading the module.
it was failing:
- leaving missing objects (.edj, .la)
- eo was not building its examples automatically with --enable-always-build-examples
- make dist with '--enable-always-build-examples' was not including 'src/examples'
plus lots of ignored files due test changes.
SVN revision: 82894
This one was a painful bitch. The edbus2 port was quite broken, mainly
leaking eina_stringshare and also not adding the '\0' to the strings
that are represented as bytearray (paths cannot be utf8 to avoid
translations).
Emotion plugin was also quite bogus and the video thumbnail as edje
(animated) is not working yet due bug in Edje_Edit api -- someone
needs to investigate this, seems strange.
Emotion plugin also had a bug that it was deleting the object from
inside object callback.
Now it seems to work. Please report if it does not.
SVN revision: 82675
we were using "" for locale that made eina_prefix think that we did
not had a common prefix.
take the time and add a magic file "checkme" to be checked at runtime
to validate stuff.
also made the binaries be searched in MODULE_ARCH namespace.
SVN revision: 82507
Carefully compared 'svn export' and 'make dist' results and couple of
files were missing.
Changes:
* Makefile.am: removed all .pc from EXTRA_DIST, we shouldn't
distribute them here as they will contain ./configure data such as
install location.
* src/Makefile.am: moved all if-endif to files, otherwise EXTRA_DIST
won't work properly. We must EXTRA_DIST outside of the if-endif
block.
* static_libs/liblinebreak: removed couple of unused files.
SVN revision: 82241
this is still in progress, mostly the multisense stuff is pending.
it seems that when we merge ecore_audio in edje the libremix and
similar are gone, at least from Edje, and will be in ecore_audio
itself (or pulseaudio).
Changes:
* __UNUSED__ to EINA_UNUSED
* binaries (epp, embryo_cc, edje_cc) now consider EFL_RUN_IN_TREE and
will assume the binaries are still not installed, running from
build tree location (needs more testing, maybe doesn't work with
srcdir != builddir, still doesn't solve cross compile builds)
SVN revision: 82139