summaryrefslogtreecommitdiff
path: root/src/bin (follow)
AgeCommit message (Collapse)Author
2020-01-07efl/gesture: correct namespacing of all gesture enums in CMike Blumenkrantz
these were flattened to all be EFL_GESTURE_$MEMBER, which made them impossible to read and use effectively Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D11026
2020-01-06csharp: rename ExtensionMethodsYeongjong Lee
Summary: This patch will rename `ExtensionMethods` to `Extensions` that is commonly used in csharp project. Depends on D10972 Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true Reviewers: lauromoura, Jaehyun_Cho, felipealmeida Reviewed By: Jaehyun_Cho, felipealmeida Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10913
2020-01-06eolian_mono: add namespace to extension methods of ItemFactoryJaehyun Cho
Summary: Like other classes and methods, the classes and methods for extension methods of ItemFactory are moved inside the namespace. Consequently, the namespace in the class name for extension methods is removed to avoid duplicate namespace name. Reviewers: lauromoura, felipealmeida, YOhoho, woohyun Reviewed By: YOhoho Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10972
2020-01-02c#: Checking null for parameters generated code.Bruno da Silva Belo
Checking null for generated code ref T8399 Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D10970
2019-12-31Efl.Ui.Vg_Animation: Implaments Efl.Playable interfaceJunsuChoi
Summary: Change API .duration_time => Efl.Playable.length.get ref T8476 Depends on D10939 Test Plan: N/A Reviewers: Hermet, bu5hm4n, kimcinoo, segfaultxavi, zmike Reviewed By: segfaultxavi, zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8476 Differential Revision: https://phab.enlightenment.org/D10953
2019-12-31Efl.Ui.Animation_View : Change class name to Efl.Ui.Vg_AnimationJunsuChoi
Summary: Since "View" is a reserved word for MVVM, change the class name appropriately. Efl.Ui.Animation_View => Efl.Ui.Vg_Animation ref T8476 Depends on D10931 Test Plan: elementary_test -> "Vector Graphcis Animation" Reviewers: Hermet, bu5hm4n, kimcinoo, segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8476 Differential Revision: https://phab.enlightenment.org/D10939
2019-12-31Efl.Player: Add setter of playback_progressJunsuChoi
Summary: The setter of Efl.Player.playback_progress is implemented in each class below. Efl.Ui.Animation_View Efl.Ui.Image Efl.Ui.Image_Zoomable Efl.Canvas.Video ref T8476 Depends on D10915 Test Plan: N/A Reviewers: Hermet, bu5hm4n, kimcinoo, Jaehyun_Cho, segfaultxavi, zmike Reviewed By: zmike Subscribers: zmike, cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8476 Differential Revision: https://phab.enlightenment.org/D10931
2019-12-31Efl.Ui.Animation_View: Change state nameJunsuChoi
Summary: play-> playing play_back -> playing_backwards pause -> paused stop -> stoped Depends on D10862 ref T8476 Test Plan: N/A Reviewers: Hermet, bu5hm4n, segfaultxavi, kimcinoo Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8476 Differential Revision: https://phab.enlightenment.org/D10915
2019-12-31Efl.Ui.Animation_View: Implements Efl.Player interfaceJunsuChoi
Summary: Chnaged API .speed.set => Efl.Player.playback_speed.set .speed.get => Efl.Player.playback_speed.get .progress.get => Efl.Player.playback_progress.get .play => Efl.Player.playing.set(true) .stop => Efl.Player.playing.set(false) .pause => Efl.Player.paused.set(true) .resume => Efl.Player.paused.set(false) .play_sector => .playing_sector .auto_play => .autoplay .auto_repeat => .autorepeat Remove API .is_playing_back .playback => (use negative speed value) New feature API Efl.Player.playback_position.set Efl.Player.playback_position.get Efl.Player.playing.get Efl.Player.paused.get ref T8476 Test Plan: meson_option.txt -> remove json in evas-loaders-disabler option elementary_test -to "animation view" Reviewers: Hermet, bu5hm4n, kimcinoo, Jaehyun_Cho, segfaultxavi, zmike Reviewed By: segfaultxavi, zmike Subscribers: zmike, segfaultxavi, cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8476 Differential Revision: https://phab.enlightenment.org/D10862
2019-12-31elementary_text: Efl.Ui.Textbox Input FieldAli Alzyod
Entry was added to the same box. This commit fixes this. You could observe this problem when starting the "Textbox Input Field" demo in elm_test Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D10986
2019-12-30efl_ui_progressbar: rename from pulse to infinite_modeMarcel Hollerbach
Summary: ref T8501 Depends on D10942 Reviewers: cedric, woohyun, zmike, segfaultxavi Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T8501 Differential Revision: https://phab.enlightenment.org/D10943
2019-12-30efl_ui_progressbar: remove pulse_modeMarcel Hollerbach
Summary: pulse_mode is now implicit with pulse, if you set the progressbar to pulse, the state is internally adjusted in a way that the theme is put into the correct state. Legacy is not impacted by this because of the previous commit. ref T8501 Depends on D10941 Reviewers: cedric, woohyun, zmike, segfaultxavi Reviewed By: zmike, segfaultxavi Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T8501 Differential Revision: https://phab.enlightenment.org/D10942
2019-12-28elm - add plain and icon style radio and check and elm tests for itCarsten Haitzler (Rasterman)
this will be common enough to put into elm - there is no way to do a gimp style "tool palette" where you select one of them (like one from a set of radio buttons) at all times... but you don't want the "round circle" but instead want it to look more like a button to fit in with a palette style look. this calls for styles... so here they are. @feat
2019-12-23eolian_mono: check extension part/property existence before generate ↵Yeongjong Lee
ExtensionMethods Empty ExtensionMethods class won't be generated. Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br> Differential Revision: https://phab.enlightenment.org/D10954
2019-12-23csharp: Property Indexer implementationLauro Moura
Use Indexers to use brackets, eg [i], syntax. Keys now can be used as following: var someVal = obj.SomeProperty[key]; obj.SomeProperty[key] = someNewVal; And for multiple keys: var someVal = obj.SomeProperty[(key1, key2)]; obj.SomeProperty[(key1, key2)] = someNewVal; T8384 Reviewed-by: WooHyun Jung <wh0705.jung@samsung.com> Differential Revision: https://phab.enlightenment.org/D10791
2019-12-23eolian_mono : add verb unselect on naming helper.SangHyeon Jade Lee
Summary: currently select is verb and mono name is exposed SelectAll but unselect is non-verb and mono name is exposed AllUnselect. to fix this differencies, add unselect in the verb list. Reviewers: segfaultxavi, Jaehyun_Cho Reviewed By: Jaehyun_Cho Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10952
2019-12-20efl_text_attribute_factory: rename to efl_text_formatterAli Alzyod
Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8455 Differential Revision: https://phab.enlightenment.org/D10925
2019-12-20efl.text.style: rename methods/properties and add text_ prefixali
Summary: efl.text.style: rename methods and properties this change will avoid conflict in the future with other interfaces or class methods. ``` Efl.Text_Style.text_color { set; get; } Efl.Text_Style.text_backing_type { set; get; } Efl.Text_Style.text_background_color { set; get;} //this was backing_color Efl.Text_Style.text_underline_type { set; } Efl.Text_Style.text_underline_color { set; get; } Efl.Text_Style.text_underline2_color { set; get; } Efl.Text_Style.text_underline_dashed_color { set; get; } Efl.Text_Style.text_underline_height { set; } Efl.Text_Style.text_underline_dashed_width { set; } Efl.Text_Style.text_underline_dashed_gap { set; } Efl.Text_Style.text_strikethrough_type { set; } Efl.Text_Style.text_strikethrough_color { set; get; } Efl.Text_Style.text_effect_type { set; } Efl.Text_Style.text_shadow_direction { set; } Efl.Text_Style.text_outline_color { set; get; } Efl.Text_Style.text_shadow_color { set; get; } Efl.Text_Style.text_glow_color { set; get; } Efl.Text_Style.text_glow2_color { set; get; } ``` T8533 Reviewers: woohyun, segfaultxavi, bu5hm4n, zmike, cedric Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10897
2019-12-20eolian_mono: change Constants class to static classJaehyun Cho
Summary: Since Constants class contains static readonly values only, the Constants class is actually a static class. Therefore, Constants class is changed from public partial class to public static partial class. ref T8398 Reviewers: YOhoho, lauromoura Reviewed By: YOhoho Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10929
2019-12-19eolina_mono: prevent empty ExtensionMethods classYeongjong Lee
Test Plan: Check the code below is removed from `efl_ui_box_stack.eo.cs`. ``` #if EFL_BETA #pragma warning disable CS1591 public static class CoreUI_UIBoxStack_ExtensionMethods { } #pragma warning restore CS1591 #endif ``` Reviewers: lauromoura, Jaehyun_Cho Reviewed By: Jaehyun_Cho Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10905
2019-12-18efl_ui_format: make this usable with the standard behaviour of accessorsMarcel Hollerbach
a accessor is never delivering a value, only the pointer to a value. This makes format working with accessors for list array carray. Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10909
2019-12-18elm_test: small whitespace issueXavi Artigas
2019-12-17csharp : add move tag info to EinaAccessor, EinaIterator converterYeongjong Lee
Summary: Included commits in devs/lauromoura/remove_eina_mono-rebased ``` commit ed6679db1901c710cc6ddb50e7001cfd20caa77a Author: Lauro Moura <lauromoura@expertisesolutions.com.br> Date: Mon Dec 2 13:58:04 2019 -0300 csharp: add move information to EnumerableToAccessor Still need to fix the converted accessor ownership, maybe by creating a custom accessor class that released the pinned memory when is freed. ``` ref T8486 Depends On D10878 Co-authored-by: Lauro Moura <lauromoura@expertisesolutions.com.br> Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true Reviewers: YOhoho Reviewed By: YOhoho Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8486 Differential Revision: https://phab.enlightenment.org/D10879
2019-12-17eina_mono: replace EinaAccessor and EinaIerator with IEnumerableYeongjong Lee
Summary: Eina.Accessor<T> => System.Collections.IEnumerable<T> Eina.Iterator<T> => System.Collections.IEnumerable<T> Unit test will work with D10879. ref T8486 Test Plan: meson build -Dbindings=mono,cxx -Dmono-beta=true Reviewers: lauromoura Reviewed By: lauromoura Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8486 Differential Revision: https://phab.enlightenment.org/D10878
2019-12-16elm_test: workarounds for canvas_textblock styleXavi Artigas
The horizontally scrollable single-line text input box does not currently visible. This patch turns it into a vertically scrollable multiline input box, with an arbitrary minsize. Also, make the label unselectable.
2019-12-13elm_test: Remove unused variable in test_win_stackXavi Artigas
2019-12-12eolian_mono: proper parsing of doc notes and paragraphsXavi Artigas
Summary: The documentation tokenizer relies on proper separation of paragraphs, and we were not doing that. This fixes detection of Note:, Warning:, Remark: and TODO: tags. Additionally, we were removing the blank line between the summary and the description, artificially joining them. Test Plan: Everything builds and passes tests, and docs with `Note:` tags are correctly rendered (like `Efl.Loop_Consumer.new_promise`, for example) Reviewers: lauromoura Reviewed By: lauromoura Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10868
2019-12-12csharp: Implement Deconstruct for structs.João Paulo Taylor Ienczak Zanette
Summary: Usage example: ``` var (x, y) = somePos2D; ``` Not available on Mono environment due to [`mcs` not implementing it](https://github.com/mono/mono/blob/a3de0304a190c54124df3486ce9c34b6262787a8/mcs/mcs/tuples.cs#L590). To keep tests from breaking because of it, a `MONO` preprocessor variable is defined and checked during test compilation. Ref T8489. Reviewers: brunobelo, lauromoura, segfaultxavi Reviewed By: lauromoura Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8489 Differential Revision: https://phab.enlightenment.org/D10809
2019-12-12efl_ui: cleanup elm headersYeongjong Lee
since e2980cd9812113fc4a216749eb23d7611b02fd55, `efl.ui.text` doesn't need `elm_general.h`. This partially reverts commit 96be3cd83d3426c5a9eb8d903245c51927567dc6. Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10849
2019-12-12elementary_test: Fix efl_add_ref to efl_add for window autodelJunsuChoi
Fix this error message ERR<15404>:eo ../src/lib/eo/eo_base_class.c:710 efl_del() Calling efl_del on object Efl.Ui.Win@0x400000a4b774[2]:hidden:children=0:'(null)':'(null)' with no parent is not advised any more. Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10863
2019-12-12csharp: Add implicit conversion from tuples to structs.João Paulo Taylor Ienczak Zanette
Summary: Also generates implicit conversion for 1-field structs. Usage examples: ``` // With tuples Point2D p = (1, 2); obj.SetPoint((1, 2)); // With 1-field structs StringWrapper sw = "Must be handled by wrapper."; ``` Due to limitations of MSC compiler, implicit conversions are generated only if struct has 4 fields or less. Ref T8489. Reviewers: brunobelo, cedric, lauromoura, segfaultxavi Reviewed By: lauromoura Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T8489 Differential Revision: https://phab.enlightenment.org/D10801
2019-12-12mono: suppress unused parameter warningXavi Artigas
2019-12-12mono-docs: Nicer formatting for notesXavi Artigas
This has never been tested because so far EO "Note:" tags are only recognized when they appear at the beginning of a comment block. It turns out the note already includes the "Note:" prefix so we were adding it twice. This patch removes one of the prefixes and used a nicer formatting. Also works for "Warning:", "Remark:" and "TODO:".
2019-12-12mono-docs: Allow property refs with keysXavi Artigas
When an EO property had multiple values or keys the C# generator didn't generate a wrapping C# property. Therefore property references in the documentation were changed to references to the getter. Now multiple values are handled through tuples so the wrapping properties ARE generated. This patch removes the restriction for multiple values to doc refs can more naturally reference the property instead of the getter method. Properties with keys still reference the getter, since these are not wrapped.
2019-12-12evas_object_textblock: add support for variation sequencesAli Alzyod
Summary: update font processing to handle variation sequences unicodes to select proper glypg in respect to variation seqences Test Plan: ``` #define EFL_EO_API_SUPPORT 1 #define EFL_BETA_API_SUPPORT 1 #include <Eina.h> #include <Efl.h> #include <Elementary.h> EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *textblock; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); win = elm_win_util_standard_add("Main", ""); elm_win_autodel_set(win, EINA_TRUE); textblock = evas_object_textblock_add(win); efl_canvas_text_style_set(textblock,NULL,"DEFAULT='font=DejaVuSans font_fallbacks=SamsungColorEmoji color=#000 font_size=20'"); evas_object_textblock_text_markup_set(textblock, "8&#xfe0f;&#x20E3;&#x262a;&#xfe0f;AAA&#x262a;&#xfe0E;1234567&#xfe0f;&#x20E3;"); evas_object_size_hint_weight_set(textblock, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(textblock, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(textblock); evas_object_move(textblock, 0, 0); evas_object_resize(textblock, 320, 320); evas_object_resize(win, 320, 320); evas_object_show(win); elm_run(); return 0; } ELM_MAIN() ``` Reviewers: woohyun, bowonryu, segfaultxavi, cedric, bu5hm4n Reviewed By: woohyun, cedric Subscribers: raster, bu5hm4n, subodh6129, herdsman, segfaultxavi, zmike, cedric, #committers, #reviewers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9053
2019-12-12csharp: remove Efl.IText.Text from the blacklistYeongjong Lee
Summary: There is no conflict anymore. ref T8093 Test Plan: meson setup -Dbindings=mono,cxx -Dmono-beta=true Reviewers: lauromoura, woohyun Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8093 Differential Revision: https://phab.enlightenment.org/D10861
2019-12-12evas_textblock: content fit featureAli Alzyod
Summary: **Content Fit Feature for Evas_Object_Textblock** This Feature is available at **Evas **object level. And **Edje **level (where it is internally use evas functionality) This feature will allow text block to fit its content font size to proper size to fit its area. **Main Properties:** Fit Modes : None=Default, Width, Height, All [Width+Height] Fit Size Range : Contains maximum and minimum font size to be used (and in between). Fit Step Size : Step(Jump) value when trying fonts sizes between Size_Range max and min. Fit Size Array : Other way to resize font, where you explicitly select font sizes to be uses (for example [20, 50, 100] it will try 3 sizes only) Text Fit feature was available in Edje but: 1- It doesn't effected by ellipsis or warping in font style (or do not handle the in right way) 2- Accuracy is not good (specially if you have fix pixel size elements (spaces,tabs,items)) 3- No (Step size, Size Array) available. Test Plan: To check the Feature > elementary_test > fit > textbock fit You can modify all the modes and properties These are two examples, One using Evas other uses Edje **Evas** ``` #include <Elementary.h> enum BUTTON{ BUTTON_MODE = 0, BUTTON_MAX = 1, BUTTON_MIN = 2, BUTTON_STEP = 3, BUTTON_ARRAY = 4, BUTTON_CONTENT = 5, BUTTON_STYLE = 6, BUTTON_ALL = BUTTON_STYLE+1, }; char* BUTTON_STR[BUTTON_ALL] ={ "MODE", "MAX", "MIN", "STEP", "ARRAY", "CONTENT", "STYLE", }; char *contents[] = { "Hello World", "This is Line<br>THis is other Line", "This text contains <font_size=20 color=#F00>SPECIFIC SIZE</font_size> that does not effected by fit mode" }; char *styles[] = { "DEFAULT='font=sans font_size=30 color=#000 wrap=mixed ellipsis=1.0'", "DEFAULT='font=sans font_size=30 color=#000 wrap=mixed'", "DEFAULT='font=sans font_size=30 color=#000 ellipsis=1.0'", "DEFAULT='font=sans font_size=30 color=#000'", }; char *styles_names[] = { "wrap=<color=#F00>mixed</color> ellipsis=<color=#F00>1.0</color>", "wrap=<color=#F00>mixed</color> ellipsis=<color=#F00>NONE</color>", "wrap=<color=#F00>NONE</color> ellipsis=<color=#F00>1.0</color>", "wrap=<color=#F00>NONE</color> ellipsis=<color=#F00>NONE</color>", }; typedef struct _APP { Evas_Object *win, *box, *txtblock,*bg, *boxHor, *boxHor2; Eo *btn[BUTTON_ALL]; Eo *lbl_status; char * str; unsigned int i_contnet, i_style; } APP; APP *app; char * get_fit_status(Eo * textblock); static void _btn_clicked(void *data EINA_UNUSED, Eo *obj, void *eventInfo EINA_UNUSED){ if (obj == app->btn[BUTTON_MODE]) { unsigned int options; evas_textblock_fit_options_get(app->txtblock, &options); if (options == TEXTBLOCK_FIT_MODE_NONE) evas_textblock_fit_options_set(app->txtblock, TEXTBLOCK_FIT_MODE_HEIGHT); else if (options == TEXTBLOCK_FIT_MODE_HEIGHT) evas_textblock_fit_options_set(app->txtblock, TEXTBLOCK_FIT_MODE_WIDTH); else if (options == TEXTBLOCK_FIT_MODE_WIDTH) evas_textblock_fit_options_set(app->txtblock, TEXTBLOCK_FIT_MODE_ALL); else if (options == TEXTBLOCK_FIT_MODE_ALL) evas_textblock_fit_options_set(app->txtblock, TEXTBLOCK_FIT_MODE_NONE); } else if (obj == app->btn[BUTTON_MAX]) { unsigned int min, max; evas_textblock_fit_size_range_get(app->txtblock, &min, &max); max -= 5; evas_textblock_fit_size_range_set(app->txtblock, min, max); } else if (obj == app->btn[BUTTON_MIN]) { unsigned int min, max; evas_textblock_fit_size_range_get(app->txtblock, &min, &max); min += 5; evas_textblock_fit_size_range_set(app->txtblock, min, max); } else if (obj == app->btn[BUTTON_STEP]) { unsigned int step; evas_textblock_fit_step_size_get(app->txtblock, &step); step++; evas_textblock_fit_step_size_set(app->txtblock, step); } else if (obj == app->btn[BUTTON_ARRAY]) { unsigned int font_size[] = {10, 50, 100 ,150}; evas_textblock_fit_size_array_set(app->txtblock,font_size,4); } else if (obj == app->btn[BUTTON_CONTENT]) { app->i_contnet++; if(app->i_contnet>=sizeof(contents)/sizeof(char*)) app->i_contnet=0; evas_object_textblock_text_markup_set(app->txtblock,contents[app->i_contnet]); } else if (obj == app->btn[BUTTON_STYLE]) { app->i_style++; if(app->i_style>=sizeof(styles)/sizeof(char*)) app->i_style=0; Evas_Textblock_Style *style = evas_object_textblock_style_get(app->txtblock); evas_textblock_style_set(style,styles[app->i_style]); } elm_object_text_set(app->lbl_status, get_fit_status(app->txtblock)); } char * get_fit_status(Eo * textblock) { static char status[0xFFF]; unsigned int options,min,max,step,size_array[256]; size_t size_array_len; evas_textblock_fit_options_get(textblock,&options); evas_textblock_fit_size_range_get(textblock,&min,&max); evas_textblock_fit_step_size_get(textblock,&step); evas_textblock_fit_size_array_get(textblock,NULL,&size_array_len,0); if (size_array_len>255) size_array_len = 255; evas_textblock_fit_size_array_get(textblock,size_array,NULL,size_array_len); strcpy(status,"Mode : "); if (options == TEXTBLOCK_FIT_MODE_NONE) strcat(status,"MODE_NONE"); else if (options == TEXTBLOCK_FIT_MODE_HEIGHT) strcat(status,"MODE_HEIGHT"); else if (options == TEXTBLOCK_FIT_MODE_WIDTH) strcat(status,"MODE_WIDTH"); else if (options == TEXTBLOCK_FIT_MODE_ALL) strcat(status,"MODE_ALL"); strcat(status,"<br>"); sprintf(status + strlen(status),"Max : %d<br>",max); sprintf(status + strlen(status),"Min : %d<br>",min); sprintf(status + strlen(status),"Step : %d<br>",step); sprintf(status + strlen(status),"Array : [ "); for (size_t i = 0 ; i < 10 ; i++) { if(i<size_array_len) sprintf(status + strlen(status)," %d,",size_array[i]); } if(10<size_array_len) sprintf(status + strlen(status)," ... "); sprintf(status + strlen(status)," ]"); sprintf(status + strlen(status),"<br>"); sprintf(status + strlen(status),"%s",styles_names[app->i_style]); return status; } int elm_main(int argc, char **argv) { app = calloc(sizeof(APP), 1); elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); app->win = elm_win_util_standard_add("Main", "App"); elm_win_autodel_set(app->win, EINA_TRUE); app->box = elm_box_add(app->win); app->boxHor = elm_box_add(app->box); app->boxHor2 = elm_box_add(app->box); app->txtblock = evas_object_textblock_add(app->box); app->bg = elm_bg_add(app->box); elm_bg_color_set(app->bg,255,255,255); Evas_Textblock_Style *style = evas_textblock_style_new(); evas_textblock_style_set(style,styles[0]); evas_object_textblock_style_set(app->txtblock,style); evas_object_textblock_text_markup_set(app->txtblock,contents[0]); elm_box_horizontal_set(app->boxHor, EINA_TRUE); elm_box_horizontal_set(app->boxHor2, EINA_TRUE); evas_object_size_hint_weight_set(app->box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(app->box, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(app->box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(app->box, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(app->txtblock); evas_object_show(app->bg); evas_object_show(app->box); evas_object_show(app->boxHor); evas_object_show(app->boxHor2); elm_box_pack_end(app->box, app->bg); elm_box_pack_end(app->box, app->boxHor); elm_box_pack_end(app->box, app->boxHor2); elm_object_content_set(app->bg,app->txtblock); elm_win_resize_object_add(app->win, app->box); evas_object_resize(app->win, 320, 480); for(int i = 0 ; i < BUTTON_ALL ; i++) { app->btn[i] = elm_button_add(app->boxHor); evas_object_smart_callback_add(app->btn[i], "clicked", _btn_clicked, NULL); elm_object_text_set(app->btn[i], BUTTON_STR[i]); elm_box_pack_end(app->boxHor, app->btn[i]); evas_object_show(app->btn[i]); } app->lbl_status = elm_label_add(app->boxHor2); elm_object_text_set(app->lbl_status, get_fit_status(app->txtblock)); elm_box_pack_end(app->boxHor2, app->lbl_status); evas_object_show(app->lbl_status); evas_object_size_hint_weight_set(app->txtblock, EVAS_HINT_EXPAND,EVAS_HINT_EXPAND); evas_object_size_hint_align_set(app->txtblock, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(app->bg, EVAS_HINT_EXPAND,EVAS_HINT_EXPAND); evas_object_size_hint_align_set(app->bg, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_show(app->win); elm_run(); return 0; } ELM_MAIN() ``` **Edje** ``` // compile: edje_cc source.edc // run: edje_player source.edje collections { styles { style { name: "text_style"; base: "font=sans font_size=30 color=#FFF wrap=mixed ellipsis=1.0"; tag: "br" "\n"; tag: "ps" "ps"; tag: "tab" "\t"; tag: "b" "+ font_weight=Bold"; } } group { name: "my_group"; // must be the same as in source.c parts { part { name: "background"; type: RECT; scale: 1; description { color: 0 0 0 0; rel1.relative: 0.0 0.0; rel2.relative: 1.0 1.0; } } part { name: "text"; type: TEXTBLOCK; scale: 1; entry_mode: NONE; effect: OUTLINE_SHADOW; description { state: "default" 0.0; rel1.to : "background"; rel1.relative: 0.0 0.0; rel2.to : "background"; rel2.relative: 1.0 1.0; text { style: "text_style"; align: 0.0 0.0; text: "Hello World This is Me"; fit: 1 1; fit_step: 1; size_range: 30 200; //fit_size_array: 20 40 60 80 100 200; } } } } } } ``` Found Task T5724 relative to this Feature Reviewers: woohyun, bowonryu, cedric, raster Reviewed By: woohyun Subscribers: a.srour, #committers, #reviewers, cedric Tags: #efl Differential Revision: https://phab.enlightenment.org/D9280
2019-12-11c#: Implement IList<T> to Eina.List.Bruno da Silva Belo
Summary: Container can have three configuration over `Own` and `OwnContent`: `Own = true` and `OwnContent = true`; `Own = true` and `OwnContent = false`; `Own = false`and `OwnContent = false; If someone try to instanciate the container with `Own = false` and `OwnContent = true`, a exception raises. There is two Ownerships' behaviours in c#, where `IsReadOnly` is responsible and `IsReadOnly = !OwnContent`: Full Ownership: User can use modify/Add/Remove operations over the container, this is implemented with `OwnContent = true`. No Ownership: User **cannot** use modify/Add/Remove operations, this is implemented with `OwnContent = false`. For the memory, `Own` frees the node, while `OwnContent` frees the data portion. ref T8487 Reviewers: lauromoura, felipealmeida, YOhoho, segfaultxavi, jptiz Reviewed By: lauromoura Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8487 Differential Revision: https://phab.enlightenment.org/D10742
2019-12-11elementary_test: Add Canvas.Textblock style testXavi Artigas
This test accepts a style string (as defined in the style_apply method) and continuously applies it to a sample text block. Useful for debugging Efl.Canvas.Textblock styles. Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10853
2019-12-11efl.ui.text: rename to efl.ui.textboxAli Alzyod
Summary: This patch will rename efl.ui.text into efl.ui.textbox Effected classes: - efl.ui.text_async : efl.ui.textbox_async - efl.ui.text_editable : efl.ui.textbox_editable **will be removed anyway** Needs consider Classes: - efl.ui.text_part - efl.ui.text_factory.Emoticons - efl.ui.text_factory.Fallback - efl.ui.text_factory.Images Reviewers: woohyun, segfaultxavi, bu5hm4n, zmike, YOhoho Reviewed By: woohyun Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10835
2019-12-10csharp: Removed duplicated call_match implementationsLauro Moura
Summary: Small refactor. Keep it in a single header that other files could use. Ref T8515 Reviewers: brunobelo, felipealmeida, jptiz Reviewed By: jptiz Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8515 Differential Revision: https://phab.enlightenment.org/D10852
2019-12-10Efl.Canvas.Text rename into Efl.Canvas.TextblockAli Alzyod
Summary: Efl.Canvas.Text renamed into **Efl.Canvas.Textblock** Efl.Canvas.Text_Factory renamed into **Efl.Canvas.Textblock_Factory** Reviewers: woohyun, segfaultxavi, zmike, bu5hm4n, YOhoho Reviewed By: segfaultxavi Subscribers: cedric, #committers, #reviewers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10808
2019-12-09csharp: Refactor annotation selection functionLauro Moura
Summary: Better names to convey their intent and formatting. Removing the hardcoded `return` from them will also free the return list to be used for `@out` parameters as they have similar semantics to `return`, different from regular `@in` parameters. This change in behavior will come in a future commit, and explains why are are keeping both lists for now despite being essentially the same. Ref T8515 Test Plan: Run existing tests Reviewers: felipealmeida, brunobelo, jptiz, YOhoho Reviewed By: jptiz Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8515 Differential Revision: https://phab.enlightenment.org/D10827
2019-12-09eolian_mono: reduce duplicated code in OnXXXEventYeongjong Lee
Summary: `CallNativeEventCallback` is used to reduce duplicated code. E.g. Before ``` protected virtual void OnFullscreenChangedEvent(Efl.Ui.WinFullscreenChangedEventArgs e) { var key = "_EFL_UI_WIN_EVENT_FULLSCREEN_CHANGED"; IntPtr desc = Efl.EventDescription.GetNative(efl.Libs.Elementary, key); if (desc == IntPtr.Zero) { Eina.Log.Error($"Failed to get native event {key}"); return; } IntPtr info = Eina.PrimitiveConversion.ManagedToPointerAlloc(e.arg ? (byte) 1 : (byte) 0); try { Efl.Eo.Globals.efl_event_callback_call(this.NativeHandle, desc, info); } finally { Marshal.FreeHGlobal(info); } } ``` After ``` protected virtual void OnFullscreenChangedEvent(Efl.Ui.WinFullscreenChangedEventArgs e) { IntPtr info = Eina.PrimitiveConversion.ManagedToPointerAlloc(e.arg ? (byte) 1 : (byte) 0); CallNativeEventCallback("elementary", "_EFL_UI_WIN_EVENT_FULLSCREEN_CHANGED", info, (p) => Marshal.FreeHGlobal(p)); } ``` Test Plan: meson setup -Dbindings=mono,cxx -Dmono-beta=true Reviewers: lauromoura Reviewed By: lauromoura Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10661
2019-12-09eolian_mono: remove unused EventArgs parameter of OnXXXEventYeongjong Lee
Summary: if a event doesn't have `EventArgs`, parameter `EventArgs e` of its OnXXXEvent is naver used. ref T8414 Test Plan: meson setup -Dbindings=mono,cxx -Dmono-beta=true Reviewers: lauromoura Reviewed By: lauromoura Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8414 Differential Revision: https://phab.enlightenment.org/D10656
2019-12-09c#: Suppressing warning for CA1724.Bruno da Silva Belo
Summary: ref T8413 Reviewers: lauromoura, felipealmeida, YOhoho, jptiz Reviewed By: jptiz Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8413 Differential Revision: https://phab.enlightenment.org/D10811
2019-12-09Efl.Ui.Text : all related interfacesali
Summary: Change summary: Removed : - efl_ui_text_selectable.eo and add it functionality into efl_text_interactive.eo - efl_ui_text_editable.eo because it is same as efl_ui_text.eo (just set one property by default) Modifications: - Move all Text Input enums and functionality from efl_ui_text class into its own interface, this interface will be implemented at efl_ui_internal_text_interactive class. - Rename selection_allowed property to selectable (same as other "editable" property) in efl_text_interactive - Add select_all function into efl_text_interactive interface - Add have_selection property into efl_text_interactive interface - Move user_change , selection_start/change/clear and undo/redo events into efl_text_interactive interface. - Move methods and events of copy/paste/cut into efl_ui_text - Fix password-related functionality - Remove context menu clear and add_item methods. (these should be added later with better design) - Remove Validation event from EFL_UI_TEXT. (these should be added later with better design) Reviewers: woohyun, tasn, segfaultxavi, zmike, bu5hm4n Subscribers: stefan_schmidt, a.srour, q66, zmike, segfaultxavi, cedric Tags: #efl Differential Revision: https://phab.enlightenment.org/D10711
2019-12-04exotic: remove left-overs from Exotic supportStefan Schmidt
This seems to have been gone a long time ago and only references left that have not been disturbing the build. Time to clean up! Signed-off-by: Stefan Schmidt <s.schmidt@samsung.com> Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D10793
2019-12-04efl_canvas_animation_group: show that playing backwards is also workingMarcel Hollerbach
Summary: playing backwards is also working, this is simply shown here, the handcrafted backwards animation wasnt showing the correct animation either. Depends on D10799 Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10802
2019-12-04Efl.Canvas.Animation: Rename repeat_count to play_countXavi Artigas
Summary: play_count is a tad simpler to understand, since it means the TOTAL number of times the animation will play. The default value is now 1, and 0 means INFINITE (instead of -1). This allows removing yet another constant from header files. Depends on D10799 Test Plan: Everything builds and passes tests. Elm_test Animation.Repeat has been adjusted accordingly. Reviewers: bu5hm4n Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10800