Commit Graph

235 Commits

Author SHA1 Message Date
Gustavo Sverzut Barbieri 3ff5dc33e2 coverity: add modeling file to reduce false positives. 2016-12-19 11:09:02 -02:00
Hosang Kim 2b3bee1301 scrollable_interface: fixed logic for calcualting position to scroll.
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
2016-12-16 15:26:00 -08:00
Jean-Philippe Andre a07877bd57 elm: Add a test case for evas masking
This tests masks of masks in a genlist, with maybe a map.
Nothing crazy.
2016-12-16 19:18:29 +09:00
Jean-Philippe Andre c4bceb796d test.edc: Fix indentation of a group 2016-12-16 14:55:44 +09:00
Tom Hacohen 874071ca42 Eo gdb: Add workaround for gdb oddities.
These workarounds are required to make sure the plugin works across
gdb and python versions.
2016-12-08 11:19:51 +00:00
Jean-Philippe Andre bdb4977dda win: Implement stronger theme compatibility for frame_obj
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
2016-12-08 16:13:32 +09:00
Tom Hacohen ddf940320d Eo gdb: Be more strict with types and convert Eo * to uintptr_t.
This should make the results cleaner and also solve potential conversion
issues in some version combinations of gdb and python.
2016-12-07 12:51:54 +00:00
Tom Hacohen 5614e46f1f Eo gdb: Implement eo_data_get to get eo data.
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
2016-12-07 12:51:54 +00:00
Jee-Yong Um 967c7c7195 Elm.Button: fix color class descriptions
Reviewers: cedric, jpeg

Reviewed By: jpeg

Differential Revision: https://phab.enlightenment.org/D4457
2016-12-06 14:08:15 +09:00
Tom Hacohen 3302ce5499 Emacs config: Also remove from extra_dist. 2016-12-05 12:35:40 +00:00
Tom Hacohen 92f8e013ea Emacs configs: Move to designated repo. 2016-12-05 12:34:43 +00:00
Tom Hacohen 0431dd24fd Eo gdb: Remove redundant variable setting.
These were hardcoded values I used for debugging, they are not used anymore,
they are instead calculated at runtime.
2016-12-05 12:06:58 +00:00
Stephen okra Houston 2500a2d03e Luncher theme: Make sure to check the geometry of the opposite coordinate to ensure the cursor is inside of the icon. 2016-12-01 12:12:24 -06:00
Jean-Philippe Andre 0dde22488a theme: Add bevel around background (window)
This should fix (some) issues with exactness.
2016-11-30 15:15:02 +09:00
Jean-Philippe Andre 1f9dfe2ed3 win: Move main menu to the framespace
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.
2016-11-29 16:36:29 +09:00
Jean-Philippe Andre c7f2308e6c Revert "win: Move main menu back to win.edc (fix sizing)"
This reverts commit 8a21384759.
The following commit will reintroduce the menu slot inside the
border edc.
2016-11-29 16:36:05 +09:00
Woochan Lee 6c04755a92 elm/calendar: apply focus UI feature.
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>
2016-11-28 11:35:27 -08:00
Jean-Philippe Andre 8a21384759 win: Move main menu back to win.edc (fix sizing)
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.
2016-11-28 15:52:09 +09:00
Jean-Philippe Andre 8c06c47301 theme: Fix 1 pixel offset and hide clipped regions
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.
2016-11-25 11:04:00 +09:00
Jean-Philippe Andre 9fa608d631 win: Fix framespace when using CSD
This was broken for X and WL after the previous patch.
2016-11-24 17:44:29 +09:00
Jean-Philippe Andre 246023d1b3 win: Fix (hack around) E internal windows in Wayland
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.
2016-11-24 17:05:27 +09:00
Jean-Philippe Andre 0fc049a321 win: Move modal blocker to border group
Legacy themes are still supported with a fallback code.
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre 0de72b44c1 win: Fix support for legacy themes (elm_bg)
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.
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre 8c505e3191 win: Remove menu from EDC group (fixes compatibility)
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.
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre 5f6673f623 win: Implement unresizable mode (fixed size windows)
This sends a signal to the CSD frame to hide the bottom
bar and disable the resize borders.
2016-11-23 13:04:13 +09:00
Jean-Philippe Andre 9fb4f0ab2b theme: Implement CSD & non-CSD styles in window.edc
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.
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre 4b2d822733 theme: Move ews stuff to its own file
This move ews from border.edc to ews.edc
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre 0e52264ae0 win: Add background part to the win border
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
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre cb172de3da win: Move main menu to the border edje group
The main menu can now be contained inside the CSD border
rather than inside the win edje group.
2016-11-23 13:04:12 +09:00
Stephen okra Houston 6a4ae67f63 Luncher Theme: Add parts needed for the new Luncher grid. 2016-11-22 21:20:52 -06:00
Stephen okra Houston 243eb40d88 Luncher theme: Fix alignment of icons. 2016-11-21 10:07:51 -06:00
Stephen okra Houston d5183d7ab7 Luncher: Add the engage style that can be selected for luncher.
Please make sure your e and efl are updated together while using this.  It is not perfect and fairly buggy currently so use at your own risk.
2016-11-18 14:15:39 -06:00
Mike Blumenkrantz 06db737a23 elm_cursor: restore compat with previous theme api
adding new theme groups/parts is fine, but compat must be maintained for
released theme api: anything which is namespaced

ref 1422e61e62
2016-11-18 11:05:27 -05:00
Tom Hacohen 79d76fb25e Eo gdb: add a way to resolve Eo ids from GDB without a running process
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
2016-11-18 11:48:07 +00:00
Tom Hacohen 3dd51bf53d Eo gdb: remove old and broken gdb macro. 2016-11-18 11:48:07 +00:00
Mike Blumenkrantz a94351a789 theme: unclip bryce scroller along opposing orientation axis 2016-11-10 11:52:57 -05:00
Mike Blumenkrantz ada0c1bba5 theme: remove clips from bryce themes
this is automatically clipped by the scroller
2016-11-10 11:22:20 -05:00
Amitesh Singh b8903b87d8 elm: remove datetime widget internal code
datetime legacy APIs are based on Efl.Ui.Clock public APIs.
2016-11-09 16:13:38 +05:30
Daniel Zaoui c66668f041 Genlist: remove not described style content
elm.swallow.icon is declared in message style but not described later in
the section.
2016-11-09 07:42:57 +02:00
Stephen okra Houston 5e53ecb9e6 Luncher Gadget Theme: Fix alignment just a hair to a solid middle ground between Dave's theme and mine. 2016-11-08 17:10:55 -06:00
Davide Andreoli 39d266df0e Launcher gadget: keep the icon aligned
and add 2 px offset from the external border
2016-11-08 23:01:09 +01:00
Stephen okra Houston 8b523c21e2 Luncher theme: Handle the updated signal for icons in their off state. 2016-11-05 10:27:04 -05:00
Stefan Schmidt ba71b90ea7 themes: add missing uiclock edc file to build for distcheck
Another (hopefully the last) missing file from the ui clock commit which did
not make it to the tarball.
2016-11-04 14:49:53 +01:00
Amitesh Singh b0d2e987f3 Efl.Ui.Clock: Add elm module & theme
Summary: depends on D3938

Reviewers: yashu21985, bu5hm4n, woohyun, Hermet, raster, jpeg

Subscribers: gohwoon.jeong, cedric, seoz, jpeg

Differential Revision: https://phab.enlightenment.org/D3939
2016-11-03 11:59:32 +05:30
Mike Blumenkrantz 90afe6ab61 theme: remove text.min from bryce sizing text
this causes bogus min size calc values

ref T4809
2016-11-02 11:29:49 -04:00
Mike Blumenkrantz e92a8cdb81 theme: trigger recalc from time's clock themes when object is resized 2016-11-02 11:20:20 -04:00
Stephen okra Houston ff6bb81465 Luncher: Improve indicator theme. 2016-10-28 15:05:12 -05:00
Chris Michael c7fc41a2fc elementary_theme: Add 'xterm' cursor into theme
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-28 14:28:04 -04:00
Stephen okra Houston cf3b1a2235 Luncher: Add the necessary theme files for Enlightenment's new launcher 2016-10-28 13:20:41 -05:00
Chris Michael 61b1203528 elementary_theme: Standardize cursor hotspot swallow names
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-28 14:04:06 -04:00