Re: [E-devel] New git URL/SSH locations, phasing out phab (and gitolite)
Hello! I got that I have no permission to merge a PR. Would you please let us(kimcinoo, jsuya) in collaborators? I am not sure if it is too late to ask this. Thank you in adavance. Sincerely, Shinwoo Kim. 2022년 6월 1일 (수) 오후 9:02, Massimo Maiurana 님이 작성: > Vincent Torri ha scritto il 01/06/22 alle 10:50: > > On Wed, Jun 1, 2022 at 10:47 AM Carsten Haitzler > wrote: > >> > >> On Tue, 31 May 2022 15:35:10 +0200 Massimo Maiurana > said: > >> > >>> Carsten Haitzler ha scritto il 08/05/22 alle 00:40: > Phabricator has been on life support for a while now. Upstream stopped > development. Every new release of php gets stricter and phab breaks > more > each time. arcanist has become a non-working thing. It's time to move. > > In the spirit of that I have set up gitea on > https://git.enlightenment.org > - it pretty much is a miniature github that is self-hosted. It > replaces > gitolite and most of phabricator functionality in one. phab is still > running for now but I'll kill it off soon enough (set it to read-only > mode > but still run it for reference to old tasks/reviews). > > This means git repository url's will have moved. If you explore the > above > you'll see where they are. I have not made all of them public (the > default > for importing is private and you have to manually go make each > public, so I > did this for repos that are not essentially archived off as history). > > This means developers also have to re-register accounts for commit > access. > It's easy - the web UI allows you to self-serve. The only thing that > I need > is for people to join so we can set up collaborators on the shared > projects > so you have commit access again (otherwise you only can commit to > your own > private repositories you set up). > >>> > >>> Does it mean that commit accesses will be restored manually one at a > >>> time? I've just registered on git.enlightenment.org with my usual > >>> nickname but currently i can't do anything via git+ssh. I guess i'll > >>> have to check it later, am i right? :) > >> > >> An admin has to add you to projects as a collaborator - it all has to > wait for > >> people like you to make accounts and ask :) YUou actually have to be > added per > >> project - its not "all access or nothing". It starts with the account. > I added > >> you to efl, enlightenment, terminology right now (don't have time right > now to > >> go through a long list). let me know if you want others also. > >> > I've set up git commit emails again to the same > mailing list so no change there. > > Gitea takes on the following tasks: > > Listing git repositories and browsing their trees, showing commits > etc. > Bug tracking (issues). > Review (pull requests). > Markdown/wiki per repo/project > Organizations (shared code repository holders). > ... and other smaller related code/repo etc. tasks. > > > > normally i should also be able to add you > > > Thanks, i'll keep it in mind :) > > > Vincent > > > > > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Committer access proposal: ali.alzyod (Ali Alzyod)
+1 Yes he is. I actually got valuable opinions regarding color related thing. Thank you. 2020년 3월 17일 (화) 오후 3:12, Hermet Park 님이 작성: > +1 > > On Tue, Mar 17, 2020 at 2:11 PM woohyun wrote: > > > Hello. Everyone here :) > > > > I would like to promote Ali to become a committer. > > > > He has been contributing a lot in Text field, and I think he can do more > > for other fields, too. > > (Especially, he has contributed many of new Text interface features by > his > > own) > > > > Plus, he has been given valuable feedback on many patches. > > So, I think he is ready to be a committer. > > > > If nobody object, I will give access next week :) > > > > Thanks for reading !! ~ > > > > WooHyun Jung > > > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > -- > Regards, Hermet > > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Character '<' display issue when using edje_object_part_text_set
+ chenjing...@126.com 2019년 10월 17일 (목) 오후 12:28, cnook 님이 작성: > Hi. You could use for <. I found it from > > > https://www.webstandards.org/learn/reference/charts/entities/markup_entities/index.html > > 2019년 10월 17일 (목) 오전 11:49, Jing 님이 작성: > >> Hi Carsten, >> So there is no way I can display character '<' in a TEXTBLOCK part ?? >> Is there any other way I can display character '<' in my UI ? >> >> >> Thanks. >> >> >> >> At 2019-10-17 01:22:50, "Carsten Haitzler (The Rasterman)" < >> ras...@rasterman.com> wrote: >> >On Wed, 16 Oct 2019 18:05:30 +0800 (CST) Jing >> said: >> > >> >> Hi all, >> >> I failed to display '<' by using edje_object_part_text_set(layout, >> >> "part_name", "<") . Text display is empty. Please help to advise how >> to fix >> >> this issue, thanks. ___ >> >> enlightenment-devel mailing list >> enlightenment-devel@lists.sourceforge.net >> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >> > >> >if that is a part that is a TEXTBLOCK part then that is a tag like html >> - or >> >the start of one, and thus you need to escape it. >> > >> > >> >-- >> >- Codito, ergo sum - "I code, therefore I am" -- >> >Carsten Haitzler - ras...@rasterman.com >> >> ___ >> enlightenment-devel mailing list >> enlightenment-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >> > ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Character '<' display issue when using edje_object_part_text_set
Hi. You could use for <. I found it from https://www.webstandards.org/learn/reference/charts/entities/markup_entities/index.html 2019년 10월 17일 (목) 오전 11:49, Jing 님이 작성: > Hi Carsten, > So there is no way I can display character '<' in a TEXTBLOCK part ?? > Is there any other way I can display character '<' in my UI ? > > > Thanks. > > > > At 2019-10-17 01:22:50, "Carsten Haitzler (The Rasterman)" < > ras...@rasterman.com> wrote: > >On Wed, 16 Oct 2019 18:05:30 +0800 (CST) Jing said: > > > >> Hi all, > >> I failed to display '<' by using edje_object_part_text_set(layout, > >> "part_name", "<") . Text display is empty. Please help to advise how to > fix > >> this issue, thanks. ___ > >> enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > >if that is a part that is a TEXTBLOCK part then that is a tag like html - > or > >the start of one, and thus you need to escape it. > > > > > >-- > >- Codito, ergo sum - "I code, therefore I am" -- > >Carsten Haitzler - ras...@rasterman.com > > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Developer access suggestion for lauromoura
+1 2019년 9월 5일 (목) 오후 10:22, Christopher Michael 님이 작성: >+1 from me also. Seems to be doing good work on this bindings. > >dh > >On 9/5/19 9:11 AM, Mike Blumenkrantz wrote: > > +1 > > On Thu, Sep 5, 2019 at 7:08 AM Hermet Park [1] > wrote: > > > ++ > > On Thu, Sep 5, 2019 at 7:23 PM Carsten Haitzler [2] > wrote: > > > On Thu, 5 Sep 2019 11:25:21 +0200 Xavi Artigas [3] > > said: > > ++ > > > Hi, > > Lauro Moura has been working on the mono bindings for a long time now. > I think we could speed up development if he had commit rights instead > > of > > having to wait for his partners to push his patches for him. > > What do you think? > Xavi > > ___ > enlightenment-devel mailing list > [4]enlightenment-devel@lists.sourceforge.net > [5]https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > -- > - Codito, ergo sum - "I code, therefore I am" -- > Carsten Haitzler - [6]ras...@rasterman.com > > > > ___ > enlightenment-devel mailing list > [7]enlightenment-devel@lists.sourceforge.net > [8]https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > -- > Regards, Hermet > > ___ > enlightenment-devel mailing list > [9]enlightenment-devel@lists.sourceforge.net > [10]https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > ___ > enlightenment-devel mailing list > [11]enlightenment-devel@lists.sourceforge.net > [12]https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > References > >1. mailto:hermetp...@gmail.com >2. mailto:ras...@rasterman.com >3. mailto:xavierarti...@gmail.com >4. mailto:enlightenment-devel@lists.sourceforge.net >5. https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >6. mailto:ras...@rasterman.com >7. mailto:enlightenment-devel@lists.sourceforge.net >8. https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >9. mailto:enlightenment-devel@lists.sourceforge.net > 10. https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > 11. mailto:enlightenment-devel@lists.sourceforge.net > 12. https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Developer access suggestion for yohoho and jsuya
+1024 2019년 9월 3일 (화) 오전 10:38, Hermet Park 님이 작성: > Hi, > > I'd like to give developer access two developers, Yohoho and Jsuya. > Until now, I checked their activities, I think they contributed a lot of > good patches many times. > Specifically, Yohoho is good at efl ui, interfaces and Jsuya are good to > vector stuff in efl. > > I think they deserved to get this developer access, hope they will help for > our efl community further. > > > If you don't agree with me, please give me your opinion or just say -1. > > Thanks. > > > -- > Regards, Hermet > > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Fwd: [EGIT] [admin/devs] master 01/01: + two probies - bowonryu, akanad
+1 [clap and applause] 2019년 4월 24일 (수) 오후 4:53, Stefan Schmidt 님이 작성: > Hello > > On 04.04.19 12:50, Hermet Park wrote: > > Hi. guys. > > > > Recently, I added new four probies, > > > > Bowon Ryu (wonrst) > > Junsu Choi (jsuya) > > Yeongjong Lee (yohoho) > > Wonki Kim (akanad) > > > > They are a little shy but enthusiastic developers, have contributed good > > patches for several years. > > I think they already deserved to get this probie access. > > I wish this will give them better devel environment to contribute > further. > > Welcome! Hope you will enjoy your new probie access. :-) > > One thing I personally consider more important to be seen as an active > developer is the engagement inside the community. Don't be shy, get > active on the mailing list and IRC as well. I have seen you on phab > already. Don't be shy to express you own opion if you see something that > needs to be changed or where you have a good idea. > > regards > Stefan Schmidt > > > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: Revert "edje_calc: make INTP use TO_INT_ROUND"
Yeap it would be hard to figure out what was going on from the commit messages. Both commits (abandoned and reverted) could solve the incorrect calculation problem which is too hard to reproduce on my desktop. It might be possible to get what the incorrect calculation from the attached file EdjeCalc_Round.osd of D8665. I had a discussion with @hermet regarding this and finally made a decision to revert it . Sincerely Shinwoo Kim 2019년 4월 19일 (금) 오후 11:22, Mike Blumenkrantz 님이 작성: > Hi, > > I don't think there is a point in submitting patches for review if you're > going to then land them without review 20 minutes later? Also, in this case > you've cited another patch that you submitted for review--but this > referenced patch has been abandoned? > > I'm not sure what's going on here, but this doesn't seem like a very > effective workflow for you or the community. > > > Regards, > Mike > > On Fri, Apr 19, 2019 at 4:25 AM Shinwoo Kim wrote: > > > kimcinoo pushed a commit to branch master. > > > > > > > http://git.enlightenment.org/core/efl.git/commit/?id=e9b2e3c6c3a5b31c03557afbcdc59393c148f6fd > > > > commit e9b2e3c6c3a5b31c03557afbcdc59393c148f6fd > > Author: Shinwoo Kim > > Date: Fri Apr 19 17:18:26 2019 +0900 > > > > Revert "edje_calc: make INTP use TO_INT_ROUND" > > > > Summary: > > This reverts commit be00af9bc3d534ede3965693618684fe38fd8786 which > has > > incorrect calculation. For more information please refer to: > > > > https://phab.enlightenment.org/D8665 > > > > Reviewers: Hermet > > > > Subscribers: cedric, #reviewers, #committers > > > > Tags: #efl > > > > Differential Revision: https://phab.enlightenment.org/D8666 > > --- > > src/lib/edje/edje_calc.c| 35 +-- > > src/lib/edje/edje_private.h | 6 ++ > > 2 files changed, 11 insertions(+), 30 deletions(-) > > > > diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c > > index 3e3bf29850..ffb46c075b 100644 > > --- a/src/lib/edje/edje_calc.c > > +++ b/src/lib/edje/edje_calc.c > > @@ -2397,29 +2397,12 @@ _edje_filter_get(Edje *ed, > > Edje_Part_Description_Spec_Filter *filter) > > static void > > _edje_part_pixel_adjust(Edje *ed, > > Edje_Real_Part *ep, > > -Edje_Calc_Params *params, > > -Eina_Bool round) > > +Edje_Calc_Params *params) > > { > > - int xw, yh, fxw, fyh; > > - > > - xw = ABS(params->final.x) + params->final.w; > > - yh = ABS(params->final.y) + params->final.h; > > - > > - if (round) > > - { > > -fxw = TO_INT_ROUND(ADD(ABS(params->eval.x), params->eval.w)); > > -fyh = TO_INT_ROUND(ADD(ABS(params->eval.y), params->eval.h)); > > - } > > - else > > - { > > -fxw = TO_INT(ADD(ABS(params->eval.x), params->eval.w)); > > -fyh = TO_INT(ADD(ABS(params->eval.y), params->eval.h)); > > - } > > - > > /* Adjust rounding to not loose one pixels compared to float > >information only when rendering to avoid infinite adjustement > >when doing min restricted calc */ > > - if (xw < fxw) > > + if (ABS(params->final.x) + params->final.w < > > TO_INT(ADD(ABS(params->eval.x), params->eval.w))) > > { > > if (!ed->calc_only) > >{ > > @@ -2430,7 +2413,7 @@ _edje_part_pixel_adjust(Edje *ed, > > ep->invalidate = EINA_TRUE; > >} > > } > > - else if (xw > fxw) > > + else if (ABS(params->final.x) + params->final.w > > > TO_INT(ADD(ABS(params->eval.x), params->eval.w))) > > { > > if (!ed->calc_only) > >{ > > @@ -2441,8 +2424,7 @@ _edje_part_pixel_adjust(Edje *ed, > > ep->invalidate = EINA_TRUE; > >} > > } > > - > > - if (yh < fyh) > > + if (ABS(params->final.y) + params->final.h < > > TO_INT(ADD(ABS(params->eval.y), params->eval.h))) > > { > > if (!ed->calc_only) > >{ > > @@ -2453,7 +2435,7 @@ _edje_part_pixel_adjust(Edje *ed, > > ep->invalidate = EINA_TRUE; > >} > > } > > - else if (yh > fyh) > > + else if (ABS(params->final.y) + params->final.h > > > TO_INT(ADD(ABS(params->eval.y), params->eval.h))) > > { > > if (!ed->calc_only) > >{ > > @@ -2467,6 +2449,7 @@ _edje_part_pixel_adjust(Edje *ed, > > > > if (params->final.w < 0 || params->final.h < 0) > > ERR("The params final size became negative"); > > + > > } > > > > static void > > @@ -3011,7 +2994,7 @@ _edje_part_recalc_single(Edje *ed, > > params->final.w = TO_INT(params->eval.w); > > params->final.h = TO_INT(params->eval.h); > > > > - _edje_part_pixel_adjust(ed, ep, params, EINA_FALSE); > > + _edje_part_pixel_adjust(ed, ep, params); > > /* fill */ > > if (ep->part->type == EDJE_PART_TYPE_IMAGE) > > _edje_part_recalc_single_fill(ep, &((Edje_Part_Description_Image > > *)desc)->image.fill,
Re: [E-devel] Goodbye
Hey I am sorry for losing chance working with you any more. I have loved your elegant words and lines in the EFL world. Thank you for having that kind of delight. I hope you find your own great way leading to happiness. Good luck and God bless you! Sincerely Shinwoo Kim 2019년 2월 19일 (화) 오전 11:25에 Hermet Park 님이 작성: > Derek, > > Though it's shame that your're leaving the community, > But I believe you have a better opportunity for your way. > > Thanks for your huge contribution for years. > > Good Luck! > > Best Regards, > > On Sat, Feb 16, 2019 at 12:48 AM Stephen Houston > wrote: > > > Thank you for all of your valuable contributions. It was a privilege to > > work with you and get to know you. Best of luck in your future > endeavors! > > > > Stephen > > > > On Thu, Feb 14, 2019 at 10:00 PM Derek Foreman < > > derek.foreman.sams...@gmail.com> wrote: > > > > > As some of you already know, today is my last day working for Samsung, > > and > > > I no longer have a financial incentive to contribute to EFL. > > > > > > One of my primary reasons for leaving this position is that it was tied > > to > > > a continued requirement to work on EFL, and I've grown weary of doing > > that, > > > so I won't be lingering as a community developer. > > > > > > Over the years there have been times when I've felt EFL was on the cusp > > of > > > outgrowing its hobby project roots and making a shift towards grown-up > > > standards (incorporating peer review, CI, a push for better > > documentation), > > > followed by events that felt like major setbacks on that path. Some > days > > > it felt like we were reducing the insurmountable mountain of technical > > > debt, and other days hopelessly watching it increase. > > > > > > EFL is currently in a situation where leadership is frequently at odds > > with > > > the majority of contributors, and this leads to developers finding > > > themselves worrying that work they've been paid to do (and maybe > > sometimes > > > have even done well) will be unilaterally reverted, possibly with > threats > > > of commit right revocation. This makes contributing pointlessly > > stressful, > > > and drives developers away. > > > > > > I hope I've left my small corners of the project a little better than I > > > found them, and I thank you all for an opportunity to contribute. I've > > met > > > some excellent people in my time here, and hope to keep in touch. I'll > > > still be around on all the regular IRC servers, feel free to contact > me*. > > > > > > Best of luck, > > > Derek > > > > > > * Just not about EFL. Ever. Seriously. > > > > > > ___ > > > enlightenment-devel mailing list > > > enlightenment-devel@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > -- > Regards, Hermet > > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Off
Oops!!! Sorry... I created a task and assigned it to you Cedric. Have a nice time!!! 2018년 6월 2일 (토) 오후 7:25, Amitesh Singh 님이 작성: > On Wed, May 30, 2018 at 9:01 AM, Cedric Bail wrote: > > > Hello, > > > > It has been quite exhausting over the past months to deal with the major > > change and > > discussion necessary to be done for enabling a stable interfaces for > > bindings. I will thanks > > everyone that helped get things done. Still, I am clearly burnout by the > > effort put in and > > need to take some time off. So for June to August, I will be on a > > sabbatical. > > > > Cedric > > > > > Enjoy your Holidays, Cedric. Take care! :) > > > > > -- > > Check out the vibrant tech community on one of the world's most > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > > ___ > > enlightenment-devel mailing list > > enlightenment-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [core/efl] master 01/01: Fix static analysis result
Hello Stefan :-] Sure why not. I thougth it was one "dereference after null check" problem like keeping coding rule which could occur in different library parts. But yes, it would be different. When I have this kind of issue, I will create separate patches. Thank you for your updates. Sincerely, Shinwoo Kim. 2018. 4. 5. 오후 9:09에 "Stefan Schmidt"님이 작성: Hello Shinwoo. On 04/05/2018 12:42 PM, Shinwoo Kim wrote: > kimcinoo pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id=3cd2243028f80960d3fe0b464f84514f609bab51 > > commit 3cd2243028f80960d3fe0b464f84514f609bab51 > Author: Shinwoo Kim > Date: Thu Apr 5 13:18:03 2018 +0900 > > Fix static analysis result > > [Dereference after null check] > > (1) src/lib/ecore/ecore_main.c > - _efl_loop_handler_efl_object_finalize checks if pd->loop_data is NULL. >After that, _handler_reset > _handler_clear > _ecore_main_fd_handler_del > >_ecore_main_fdh_pool_del is directly dereferencing pd->pool_data. > - _efl_loop_handler_efl_object_parent_set checks if pd->loop_data as well. >Then it calls _handler_reset as well. > > (2) src/lib/ecore_wayland/ecore_wl_dnd.c > - ecore_wl_dnd_selection_set checks if t - result of wl_array_add - is NULL. > And it is dereferecing t directly for wl_data_source_offer. > > (3) src/lib/elementary/efl_ui_dnd.c > - Third parameter const char *data could be NULL. >In this case strlen dereferences NULL. The data should be non NULL value. >I have checked this with Mr. Thiep Ha. > > (4) src/lib/evas/canvas/evas_object_inform.c > - _efl_canvas_object_efl_gfx_stack_stack_below checks if obj->layer is NULL. >So it could call evas_object_inform_call_call_restack which is dereferencing >obj->layer directly. > --- > src/lib/ecore/ecore_main.c | 6 ++ > src/lib/ecore_wayland/ecore_wl_dnd.c | 7 +-- > src/lib/elementary/efl_ui_dnd.c | 1 + > src/lib/evas/canvas/evas_object_inform.c | 3 ++- > 4 files changed, 14 insertions(+), 3 deletions(-) > These are 4 different problems you are fixing in 4 different library parts. It would be appreciated if you could have separate patches for each problem you are fixing. regards Stefan Schmidt -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] EFL_UI_BG_WIDGET_DATA_GET_OR_RETURN
With great help of jpeg, I got that the efl_data_scope_get is checking if the obj_id is NULL or not using EO_OBJ_POINTER_RETURN_VAL. So, I would like to change CRI to ERR for this. Thank you very much. (please do not go jpeg~ hehe) Sincerely, Shinwoo Kim. 2018. 2. 1. 오전 11:34에 "cnook" <kimci...@gmail.com>님이 작성: > Dear all, Hello! > > As you konw, we have macro EFL_UI_GB_WIDGET_DATA_GET_OR_RETURN and we can > find similar MACROs. > As you probably do not know, the Tizen is maintaing test suite including > negative test cases. > One of TCs is calling elm_bg_load_size_set with NULL obj parameter. > In this case, CRI message occurs, and abort occurs. Then the result of TC > is ERROR. > In my opinion the api elm_bg_load_size_set should have to check if the > parameter is NULL or not. > My question is that do I have to add a line checking NULL to the macro > EFL_UI_WIDGET_DATA_GET_OR_RETURN? or add separated line? > Which one is better? Please let me know. Thank you in advance. > > Sincerely, > Shinwoo Kim. > -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] EFL_UI_BG_WIDGET_DATA_GET_OR_RETURN
Dear all, Hello! As you konw, we have macro EFL_UI_GB_WIDGET_DATA_GET_OR_RETURN and we can find similar MACROs. As you probably do not know, the Tizen is maintaing test suite including negative test cases. One of TCs is calling elm_bg_load_size_set with NULL obj parameter. In this case, CRI message occurs, and abort occurs. Then the result of TC is ERROR. In my opinion the api elm_bg_load_size_set should have to check if the parameter is NULL or not. My question is that do I have to add a line checking NULL to the macro EFL_UI_WIDGET_DATA_GET_OR_RETURN? or add separated line? Which one is better? Please let me know. Thank you in advance. Sincerely, Shinwoo Kim. -- Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] What is the best way to get device name
Dear All, Hello. I got following snippet to get device name from fd. +char name[128]; +if (ioctl(fd, JSIOCGNAME(sizeof(name)), name) < 0) + strncpy(name, "Unknown", sizeof(name)); +printf("Name: %s\n", name); I would like to add an API to get device name using this snippet. But it seems that there is our own way to get device name. I have looked into efl_input_device_name_get, and tried to check ecore_evas_cursor_example.c. But it gives following compile error message: ecore_evas_cursor_example.c:81:1: error: unknown type name ‘Efl_Event’ ecore_evas_cursor_example.c:83:37: error: request for member ‘info’ in something not a structure or union ecore_evas_cursor_example.c:151:30: error: ‘EFL_CANVAS_EVENT_DEVICE_ADDED’ undeclared (first use in this function) So... what is the EFL standard & best way to get the device name. You do not want to add ecore_input_joystick_device_name_get, or add a variable to keep device name. Sincerely, Shinwoo Kim. -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elm_menu] remove crash issue on improper usage of elm_menu_item_separator_add(), [test_menu] fill the hole.
Hi! All, [elm_menu] If you use elm_menu_item_separator_add() with parent item which does not have any children, then a segment fault occurs. So the patch comes. I have attached patch for the backport also. [test_menu] I have added test code for following APIs, even though Elementary 1.0 is released. :-) - elm_menu_close() - elm_menu_item_icon_name_set() - elm_menu_item_is_separator() - elm_menu_item_selected_set() - elm_menu_parent_set() Then, please review those patches and keep on the upstream. Sincerely, Shinwoo Kim. trunk_elm.menu.exception.handle.patch Description: Binary data backport_elm.menu.exception.handle.patch Description: Binary data test.menu.patch Description: Binary data -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elementary] elm_menu, fix improper indentation.
Hi! I have just modified the elm_menu.c because there are some improper indentation. That's it... Thanks. Sincerely, Shinwoo Kim. elm.menu.indentation.patch Description: Binary data -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elementary] accessibility for mobile device.
Dear All, Hello. I would like to add accessibility feature for the mobile device. The mobile device environment is different with desktop environment. On the desktop environment, you can make MOUSE_IN event without previous MOUSE_DOWN event. but.. on the mobile device environment, you should start with MOUSE_DOWN event first and make MOUSE_IN event. Raster.. knows this issue.. so he had supported a new mode EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN. Thanks for your help.. but on the attached patch, I just use the EVAS_OBJECT_POINTER_MODE_NOGRAB instead of it. You cannot test full features of this on the desktop environment... because there are some issue related with MOUSE events. And the patch is just initial.. (or draft) version of the accessibility on the mobile device. Please review the patch. Thanks. Sincerely, Shinwoo Kim. elm.access.on.device.patch Description: Binary data -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch] elm_diskselector, set icon to added item
Dear all, hello. I have tried to use the map with the diskselector. The attached patch is just draft version for using map. BUT.. just remind the Raster's comment at least it can retain its api... I removed number of letters feature.. when I had changed the diskselector... So.. even though an item of diskselector moves right or left side.. the item will keep its number of letters.. means... elm_diskselector_side_text_max_length_set does not work.. anyhow.. this is the draft version.. I would like to check that the map is used properly.. as the Raster's recommends it really needs to use map Please review the attached patch. Thanks. Sincerely, Shinwoo Kim. 2011/10/10 Carsten Haitzler ras...@rasterman.com On Mon, 10 Oct 2011 22:45:56 +0900 Daniel Juyung Seo seojuyu...@gmail.com said: at least it can retain its api. :) Wow this sounds like diskselector needs to be rewritten a lot. Daniel Juyung Seo (SeoZ) On Mon, Oct 10, 2011 at 6:45 PM, Carsten Haitzler ras...@rasterman.com wrote: On Thu, 22 Sep 2011 18:39:53 +0900 cnook kimci...@gmail.com said: Dear All, Hello! If the diskselector is round mode, the scroller of diskselector has additional items for its rounding(carousel) effect. Previously, elm_diskselector_item_icon_set(); did not care about theses additional items. Please review the attached patch that will care. Thanks. hmm ok - in svn. not giving this a lot of review. i was reviewing diskselector about a week ago or so and realized.. this widget needs a major overhaul in internal design and implementation. to implement a rounded disk - it really needs to use map, and even then the amount of rounding or if any at all should be configurable. it should almost definitely implement this with a pan smart like genlist does to allow for a virtual pan area (we can make it almost infinite - well make it just very very very very large) and based on position int he virtual pan, position children (really just use a box with map used to duplicate it on the curved or visibile area). -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2dcopy1 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2dcopy1 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)ras...@rasterman.com diskselector.using.map.patch Description: Binary data -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch] evas_ojbect_textblock, ellipsis handling
Dear Mr. Tom, Finally!! I have attacked patch for your example. To make the issue, please follow as below. elementary_test popup popup-center-title + text +1 button Then the popup needs some time to display itself with following log. ERR32658:evas_main evas_object_smart.c:599 evas_object_smart_need_recalculate_set() Object 0xb76d5df8 is not stable during recalc loop ERR32658:evas_main evas_object_smart.c:599 evas_object_smart_need_recalculate_set() Object 0xb76d5df8 is not stable during recalc loop ... Please check this on the textblock side. Thanks a lot. Sincerely, Shinwoo Kim. 2011/11/21 Tom Hacohen tom.haco...@partner.samsung.com On 21/11/11 16:04, cnook wrote: Dear Mr. Tom, The issue comes again with different example. So I have attached previous patch for resolving. (Actually I have made from the latest version) Dear Shinwoo, As I said in a previous email to the list, a compilable example or an edje I can run with edje_player would be very appreciated. I currently can't reproduce the issue and thus I can't even check you solution works (I trust you that it works, but still...), nor can I verify the problem. As for your patch: c-w will be smaller than c-wmax in A LOT of cases, that's actually intentional, setting c-wmax to c-w makes no sense in textblock, as it'll break a lot of code. c-wmax is used to determine the actual *used* width, and c-w is the width of the textblock object. So for example, if we have a textblock with a size of 300x300 and assuming the string a * 100 (100 'a's in a row) have a width of 1000 and that the textblock contains that string: c-w = 300; c-wmax = 1000; Making edje know that 300 is just not enough to show this string. That's how the min size calculation actually works. You can try adding fixed: 1 1; to the textblock part if you wish to implement your behaviour, that's exactly what it does. With that being said, there might be a bug there, as your condition should always be false in that place (or at least in the cases that matter), and for that, I need the example I asked for. :) -- Tom. textblock.issue.on.popup.patch Description: Binary data -- Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elm_diskselector] resolving a segmentation fault
Dear All, Hello. If the diskselector item has only icon and does not have label, it makes a segmentation fault. Because the diskselector uses strcmp() to indicate selected item even though the item does not have label - NULL with strcmp(). Then, please review the attached patch and give any feedback. Um.. There are empty ChangeLog and NEWS files in the elementary. So I leave it just as it is. Sincerely, Shinwoo Kim. elm_diskselector.fix.segment.fault.on.icon.item.without.label Description: Binary data -- Better than sec? Nothing is better than sec when it comes to monitoring Big Data applications. Try Boundary one-second resolution app monitoring today. Free. http://p.sf.net/sfu/Boundary-dev2dev___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elementary_test] test_list
Dear All, Hello. I had added test code for the elementary. but I made a pause it because of some reasons and just started again. Today I have attached a patch for the elm_list which does not have test code for the API elm_list_item_prev(); Please review the attached patch and give any feedbacks. I'll be back with other patches. Thanks! Sincerely, Shinwoo Kim. test_list.for.item.prev Description: Binary data -- Better than sec? Nothing is better than sec when it comes to monitoring Big Data applications. Try Boundary one-second resolution app monitoring today. Free. http://p.sf.net/sfu/Boundary-dev2dev___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch][Ecore][Win32] Checking control character
Thanks for your response! I missed the updating WinCE. and.. Mr. Vincent Torri enlighten me about ChangeLog and NEWS also. Thanks! Sincerely, Shinwoo Kim. 2012/4/15 Carsten Haitzler ras...@rasterman.com On Fri, 13 Apr 2012 18:15:41 +0900 cnook kimci...@gmail.com said: Dear All, Hello. The control characters are generated by holding down the Control key while you strike another letter or symbol key. Because of this reason, The Evas_Event_Key_Down in the EVAS_CALLBACK_KEY_DOWN callback does not have proper keyname. So I have shifted the control character to printing character. Please review the patch and give any feedbacks. Thanks. yeah. this is right. patch in. as such there is ANOTHER field in the key event that presents the test output - as a string so u get ctrl chars and \n's and so-on in that string, but the key itself is still a :) or z - with an additional ^z ctrl char string alongside it. -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)ras...@rasterman.com ecore_wince_event.check.control.character Description: Binary data -- For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][Ecore][Win32] Checking control character
Dear All, Hello. The control characters are generated by holding down the Control key while you strike another letter or symbol key. Because of this reason, The Evas_Event_Key_Down in the EVAS_CALLBACK_KEY_DOWN callback does not have proper keyname. So I have shifted the control character to printing character. Please review the patch and give any feedbacks. Thanks. Sincerely, Shinwoo Kim. ecore_win32_event.check.control.character Description: Binary data -- For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elementary] elc_popup.c - add hide callback
Dear all, hello. The evas_object_hide(popup) could not hide the popup. So, I added callback to hide the popup. That's it. Ah.. with the test code. :) Sincerely, Shinwoo Kim. Draw Something ID: kimcinoo elc_popup.diff.add.hide.callback Description: Binary data -- For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [patch][elementary] elc_popup, restack issue
Dear All, Hello. The elc_popup does not raise to the top of its layer even though evas_object_raise() is called with the popup object. Because the elm_widget_resize_object_set(); makes notify object which is internally used in the popup have a smart parent. Ultimately, the callback function for EVAS_CALLBACK_RESTACK of the notify is not called. So I removed elm_widget_resize_object_set(); from the popup and added some implementations to show the popup properly. Moreover, I have added test code also in the attached patch. Then, please review the patch and give any feedbacks. Thanks. Sincerely, Shinwoo Kim. elc_popup.c.support.restack.with.test Description: Binary data -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Question][Windows] Shift/Alt/Ctrl key press operation
Thanks for your response. I have attached a patch upon your comments. The meaning of bit 30(0x4000 in the patch) is as bellows The previous key state. The value is 1 if the key is down before the message is sent, or it is 0 if the key is up. The Evas_CALLBACK_KEY_DOWN event will occur once even though you hold down Shift/Ctrl/Alt key, If you keep the patch. Sincerely, Shinwoo Kim. 2012/3/21 Carsten Haitzler ras...@rasterman.com On Wed, 21 Mar 2012 19:53:30 +0900 cnook kimci...@gmail.com said: Dear All, Hello. I have a question about shift/alt/ctrl key press operation. On the X environment, shift/alt/ctrl key press event(EVAS_CALLBACK_KEY_DOWN) does not occur repeatedly . But on the Windows, shift/alt/ctrl key press event occurs repeatedly. Now let's suppose you have an application which takes care of shift/alt/ctrl key press event. The application would work improperly if there is not enough handling for those key events. correct. So how about your opinion on this. Should I change ecore_win32_things to occur EVAS_CALLBACK_KEY_DOWN event once (not repeatedly) Or should I change the Application? for modifiers (and locks - like capslock, numlock etc.) - yes, ecore_win32 should be3 changed to weed out key repeats of these. :( Would you ENLIGHTEN me on this question? Sincerely, Shinwoo Kim. -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)ras...@rasterman.com ecore_winxx_event.c.using.previous.key.state Description: Binary data -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elm_list] bug fix: crash occurs when container which contains the elm_list is deleted on the elm_list item clicked callback
Dear All, Hello. I have resolved the elm_list issue(goto ELM_LIST_CRASH_ISSUE_MAIL below, I sent mail but I cannot find the previous mail -_-;). It would be related with double free issue. In the sub-obejct-del callback which name is _sub_del() sets item-icon to NULL. And in the EVAS_CALLBACK_MOUSE_UP callback funtion which name is _mouse_up() calls evas_object_unref(); It would try to free the item-icon but the item-icon is already set to NULL. So.. the crash would occur.. Anyhow my solutiion is the following. static void _del_pre_hook(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); const Eina_List *l; Elm_List_Item *it; evas_object_smart_callback_del(obj, sub-object-del, _sub_del); if (!wd) return; EINA_LIST_FOREACH(wd-items, l, it) { if (it-icon) evas_object_event_callback_del(it-icon, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints); if (it-end) evas_object_event_callback_del(it-icon, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints); } evas_object_event_callback_del(wd-scr, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints); evas_object_event_callback_del(wd-box, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints); } I'm not sure this is the best way to resolve the issue. Anyhow the crash does not occur. I have checked this issue on the popup, ctxpopup and box already. Please let me know, if you have any other proper ideas to reslove below issue.. Thanks. ELM_LIST_CRASH_ISSUE_MAIL: Dear All, Hello. If the elm_list is contained in the container - can be whatever containers such as box, popup, ctxpopup and so on - which has item with icon object such as a elm_radio and evas_object_del() is called in the item select callback, the application is crashed. If there is no icon on the elm_list item, the crash does not occur. The example to occur the crash as the following. {{{ static void _filter_all_cb(void *data, Evas_Object *obj, void *event_info) { Evas_Object *popup = (Evas_Object *)data; evas_object_del(popup); } static void _popup_center_text_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { Evas_Object *popup, *btn1,*list, *radio; popup = elm_popup_add(data); evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); btn1 = elm_button_add(popup); elm_object_text_set(btn1, OK); elm_object_part_content_set(popup, button1, btn1); evas_object_smart_callback_add(btn1, clicked, NULL, NULL); list = elm_list_add(popup); evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_list_mode_set(list, ELM_LIST_EXPAND); evas_object_show(list); Evas_Object *group; group = radio = elm_radio_add(list); evas_object_size_hint_weight_set(radio, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_list_item_append(list, Radio, radio, NULL, _filter_all_cb, popup); evas_object_show(radio); elm_object_content_set(popup, list); evas_object_show(popup); } }}} I will check this issue also, but your help will be pretty good to me. Thanks. Index: src/lib/elm_list.c === --- src/lib/elm_list.c (revision 69534) +++ src/lib/elm_list.c (working copy) @@ -444,8 +444,25 @@ static void _del_pre_hook(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); + const Eina_List *l; + Elm_List_Item *it; + + evas_object_smart_callback_del(obj, sub-object-del, _sub_del); + if (!wd) return; + EINA_LIST_FOREACH(wd-items, l, it) + { +if (it-icon) + evas_object_event_callback_del(it-icon, + EVAS_CALLBACK_CHANGED_SIZE_HINTS, + _changed_size_hints); +if (it-end) + evas_object_event_callback_del(it-icon, + EVAS_CALLBACK_CHANGED_SIZE_HINTS, + _changed_size_hints); + } + evas_object_event_callback_del(wd-scr, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _changed_size_hints); -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elementary] elc_ctxpopup using elm_list internally.
Dear All, Hello. The patch is for using elm_list as a item controller of elc_ctxpopup. I have learned that there was an opinion to change the internal structure of ctxpopup using the list. It would be able to match up to your expectation. but it is just a draft version of using list in ctxpopup. So, It would be pretty good to me if you give any feedback on this. Thanks. Sincerely, Shinwoo Kim. elc_ctxpopup.c.using.list.internally Description: Binary data -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Question][Windows] Shift/Alt/Ctrl key press operation
Dear All, Hello. I have a question about shift/alt/ctrl key press operation. On the X environment, shift/alt/ctrl key press event(EVAS_CALLBACK_KEY_DOWN) does not occur repeatedly . But on the Windows, shift/alt/ctrl key press event occurs repeatedly. Now let's suppose you have an application which takes care of shift/alt/ctrl key press event. The application would work improperly if there is not enough handling for those key events. So how about your opinion on this. Should I change ecore_win32_things to occur EVAS_CALLBACK_KEY_DOWN event once (not repeatedly) Or should I change the Application? Would you ENLIGHTEN me on this question? Sincerely, Shinwoo Kim. -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elementary] elm_list.c - item_content_set() related.
Dear All, Hello. The Eina_Bool item-dummy_icon and item-dummy_end of Elm_List_Item indicate whether the content has REAL object or not. - not means.. if elm_object_item_part_content_set(); is called with NULL content, the Elm_List set the swallow part with rectangle which has alpha value 0 and the item-dummy_icon or item-dummy_end is set to EINA_TRUE. - But in the item_content_set(); it works the opposite way. So when content set with NULL value the flag should be EINA_TRUE. The attached patch is for this. Please review the patch and give any feedbacks. Thanks. Sincerely, Shinwoo Kim. Index: src/lib/elm_list.c === --- src/lib/elm_list.c (revision 69512) +++ src/lib/elm_list.c (working copy) @@ -1042,15 +1042,15 @@ _item_content_set(Elm_Object_Item *it, const char { icon_p = (item-icon); dummy = item-dummy_icon; -if (!content) item-dummy_icon = EINA_FALSE; -else item-dummy_icon = EINA_TRUE; +if (!content) item-dummy_icon = EINA_TRUE; +else item-dummy_icon = EINA_FALSE; } else if (!strcmp(part, end)) { icon_p = (item-end); dummy = item-dummy_end; -if (!content) item-dummy_end = EINA_FALSE; -else item-dummy_end = EINA_TRUE; +if (!content) item-dummy_end = EINA_TRUE; +else item-dummy_end = EINA_FALSE; } else return; -- This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elementary_test] test_layout
Dear All, Hello. I have attached a patch for test_layout. Please review this and give any feedbacks. Thanks. Sincerely, Shinwoo Kim. Index: src/bin/test.c === --- src/bin/test.c (revision 69071) +++ src/bin/test.c (working copy) @@ -37,6 +37,7 @@ void test_clock3(void *data, Evas_Object *obj, voi void test_check(void *data, Evas_Object *obj, void *event_info); void test_radio(void *data, Evas_Object *obj, void *event_info); void test_layout(void *data, Evas_Object *obj, void *event_info); +void test_layout2(void *data, Evas_Object *obj, void *event_info); void test_hover(void *data, Evas_Object *obj, void *event_info); void test_hover2(void *data, Evas_Object *obj, void *event_info); void test_entry(void *data, Evas_Object *obj, void *event_info); @@ -369,6 +370,7 @@ add_tests: ADD_TEST(NULL, Containers, Table 6, test_table6); ADD_TEST(NULL, Containers, Table 7, test_table7); ADD_TEST(NULL, Containers, Layout, test_layout); + ADD_TEST(NULL, Containers, Layout 2, test_layout2); ADD_TEST(NULL, Containers, Grid, test_grid); //--// Index: src/bin/test_layout.c === --- src/bin/test_layout.c (revision 69071) +++ src/bin/test_layout.c (working copy) @@ -5,6 +5,29 @@ #ifndef ELM_LIB_QUICKLAUNCH #include Elementary_Cursor.h +struct _api_data +{ + unsigned int state; /* What state we are testing */ + Evas_Object *box_layout; + Evas_Object *table_layout; + Evas_Object *ref; + Evas_Object *ref2; +}; +typedef struct _api_data api_data; + +enum _api_state +{ + LAYOUT_BOX_INSERT_AT, + LAYOUT_BOX_INSERT_BEFORE, + LAYOUT_BOX_PREPEND, + LAYOUT_BOX_REMOVE, + LAYOUT_BOX_REMOVE_ALL, + LAYOUT_TABLE_UNPACK, + LAYOUT_TABLE_CLEAR, + API_STATE_LAST +}; + +typedef enum _api_state api_state; static void _clicked_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) { @@ -80,4 +103,161 @@ test_layout(void *data __UNUSED__, Evas_Object *ob evas_object_show(win); } + +static void +set_api_state(api_data *api) +{ + Evas_Object *box_layout = api-box_layout; + Evas_Object *table_layout = api-table_layout; + Evas_Object *obj; + + /* use elm_box_children_get() to get list of children */ + switch (api-state) + { /* Put all api-changes under switch */ + case LAYOUT_BOX_INSERT_AT: +{ + obj = elm_label_add(box_layout); + elm_object_text_set(obj, elm_layout_box_insert_at(); is called); + evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, +EVAS_HINT_EXPAND); + elm_layout_box_insert_at(box_layout, elm.box.content, obj, 0); + evas_object_show(obj); + break; +} + + case LAYOUT_BOX_INSERT_BEFORE: +{ + obj = elm_label_add(box_layout); + elm_object_text_set(obj, elm_layout_box_insert_before(); is called); + evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, +EVAS_HINT_EXPAND); + elm_layout_box_insert_before(box_layout, elm.box.content, +obj, api-ref); + evas_object_show(obj); + break; +} + + case LAYOUT_BOX_PREPEND: +{ + obj = elm_label_add(box_layout); + elm_object_text_set(obj, elm_layout_box_prepend(); is called); + evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, +EVAS_HINT_EXPAND); + elm_layout_box_prepend(box_layout, elm.box.content, obj); + evas_object_show(obj); + break; +} + + case LAYOUT_BOX_REMOVE: +{ + elm_layout_box_remove(box_layout, elm.box.content, api-ref); + evas_object_del(api-ref); + break; +} + + case LAYOUT_BOX_REMOVE_ALL: +{ + elm_layout_box_remove_all(box_layout, elm.box.content, EINA_TRUE); + break; +} + + case LAYOUT_TABLE_UNPACK: +{ + elm_layout_table_unpack(table_layout, elm.table.content, api-ref2); + evas_object_del(api-ref2); + break; +} + + case LAYOUT_TABLE_CLEAR: +{ + elm_layout_table_clear(table_layout, elm.table.content, EINA_TRUE); + break; +} + + default: return; + } +} + +static void +_api_bt_clicked(void *data, Evas_Object *obj, void *event_info __UNUSED__) +{ /* Will add here a SWITCH command containing code to modify test-object */ + /* in accordance a-state value. */ + api_data *a = data; + char str[128]; + + printf(clicked event on API Button: api_state=%d\n, a-state); + set_api_state(a); + a-state++; + sprintf(str, Next API function (%u), a-state); + elm_object_text_set(obj, str); + elm_object_disabled_set(obj, a-state ==
[E-devel] [Patch][Eina] eina_file_win32 - using eina_file_statat();
Dear All. Hello! On windows, Elementary gives build error. cause.. The elm_config.c uses eina_file_statat(); but It is not in the eina_file_win32.c So the attached patch comes. Please keep the patch in the up stream. Thanks. Sincerely, Shinwoo kim. Index: src/lib/eina_file_win32.c === --- src/lib/eina_file_win32.c (revision 69036) +++ src/lib/eina_file_win32.c (working copy) @@ -1154,3 +1154,34 @@ eina_file_map_free(Eina_File *file, void *map) on_exit: eina_lock_release(file-lock); } + +EAPI int +eina_file_statat(void *container, Eina_File_Direct_Info *info, Eina_Stat *st) +{ + WIN32_FILE_ATTRIBUTE_DATA fad; + ULARGE_INTEGER length; + ULARGE_INTEGER mtime; + ULARGE_INTEGER atime; + + EINA_SAFETY_ON_NULL_RETURN_VAL(info, -1); + EINA_SAFETY_ON_NULL_RETURN_VAL(st, -1); + + if (!GetFileAttributesEx(info-path, GetFileExInfoStandard, fad)) + { +if (info-type != EINA_FILE_LNK) + info-type = EINA_FILE_UNKNOWN; +return -1; + } + + length.u.LowPart = fad.nFileSizeLow; + length.u.HighPart = fad.nFileSizeHigh; + atime.u.LowPart = fad.ftLastAccessTime.dwLowDateTime; + atime.u.HighPart = fad.ftLastAccessTime.dwHighDateTime; + mtime.u.LowPart = fad.ftLastWriteTime.dwLowDateTime; + mtime.u.HighPart = fad.ftLastWriteTime.dwHighDateTime; + + st-size = length.QuadPart; + st-atime = atime.QuadPart; + st-mtime = mtime.QuadPart; + return 0; +} -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][Evas][Edje][Elementary] typo issue
Dear All, Hello. _els_smart_icon_preload_set() and evas_object_image_preload() are ambiguous. Actually they disable and cancel the preload. So I have changed each names as attached patches. Please review patches and give any feedbacks. Thanks. Sincerely, Shinwoo Kim. Index: src/lib/canvas/evas_object_image.c === --- src/lib/canvas/evas_object_image.c (revision 68889) +++ src/lib/canvas/evas_object_image.c (working copy) @@ -1012,7 +1012,7 @@ evas_object_image_data_get(const Evas_Object *obj, } EAPI void -evas_object_image_preload(Evas_Object *obj, Eina_Bool cancel) +evas_object_image_preload_cancel(Evas_Object *obj, Eina_Bool cancel) { Evas_Object_Image *o; @@ -1053,6 +1053,12 @@ EAPI void } } +EINA_DEPRECATED EAPI void +evas_object_image_preload(Evas_Object *obj, Eina_Bool cancel) +{ + evas_object_image_preload_cancel(obj, cancel); +} + EAPI void evas_object_image_data_copy_set(Evas_Object *obj, void *data) { Index: src/lib/Evas.h === --- src/lib/Evas.h (revision 68889) +++ src/lib/Evas.h (working copy) @@ -6323,11 +6323,11 @@ EAPI Evas_Object *evas_object_rectangle_add * @code * prev = evas_object_image_filled_add(canvas); * evas_object_image_file_set(prev, /path/to/prev, NULL); - * evas_object_image_preload(prev, EINA_TRUE); + * evas_object_image_preload_cancel(prev, EINA_TRUE); * * next = evas_object_image_filled_add(canvas); * evas_object_image_file_set(next, /path/to/next, NULL); - * evas_object_image_preload(next, EINA_TRUE); + * evas_object_image_preload_cancel(next, EINA_TRUE); * @endcode * * If you're loading images which are too big, consider setting @@ -7076,14 +7076,15 @@ EAPI Eina_Boolevas_object_image_sm * Use @c EINA_TRUE for @p cancel on scenarios where you don't need * the image data preloaded anymore. * - * @note Any evas_object_show() call after evas_object_image_preload() + * @note Any evas_object_show() call after evas_object_image_preload_cancel() * will make the latter to be @b cancelled, with the loading process * now taking place @b synchronously (and, thus, blocking the return * of the former until the image is loaded). It is highly advisable, * then, that the user preload an image with it being @b hidden, just * to be shown on the #EVAS_CALLBACK_IMAGE_PRELOADED event's callback. */ -EAPI void evas_object_image_preload(Evas_Object *obj, Eina_Bool cancel) EINA_ARG_NONNULL(1); +EAPI void evas_object_image_preload_cancel(Evas_Object *obj, Eina_Bool cancel) EINA_ARG_NONNULL(1); +EINA_DEPRECATED EAPI void evas_object_image_preload(Evas_Object *obj, Eina_Bool cancel) EINA_ARG_NONNULL(1); /** * Reload an image object's image data. Index: src/examples/evas-images2.c === --- src/examples/evas-images2.c (revision 68889) +++ src/examples/evas-images2.c (working copy) @@ -163,7 +163,7 @@ main(void) evas_object_event_callback_add( d.logo, EVAS_CALLBACK_IMAGE_PRELOADED, _on_preloaded, NULL); - evas_object_image_preload(d.logo, EINA_TRUE); + evas_object_image_preload_cancel(d.logo, EINA_TRUE); evas_object_image_file_set(d.logo, img_path, NULL); evas_object_resize(d.logo, WIDTH / 2, HEIGHT / 2); Index: src/lib/edje_util.c === --- src/lib/edje_util.c (revision 68675) +++ src/lib/edje_util.c (working copy) @@ -3895,7 +3895,7 @@ edje_object_preload(Evas_Object *obj, Eina_Bool ca else { evas_object_event_callback_add(rp-object, EVAS_CALLBACK_IMAGE_PRELOADED, _edje_object_image_preload_cb, ed); - evas_object_image_preload(rp-object, cancel); + evas_object_image_preload_cancel(rp-object, cancel); } count--; } Index: src/lib/els_icon.h === --- src/lib/els_icon.h (revision 68889) +++ src/lib/els_icon.h (working copy) @@ -24,4 +24,4 @@ Eina_Bool_els_smart_icon_edit_get(const Ev Evas_Object *_els_smart_icon_edje_get(Evas_Object *obj); void _els_smart_icon_aspect_fixed_set(Evas_Object *obj, Eina_Bool fixed); Eina_Bool_els_smart_icon_aspect_fixed_get(const Evas_Object *obj); -void _els_smart_icon_preload_set(Evas_Object *obj, Eina_Bool disable); +void _els_smart_icon_preload_disabled_set(Evas_Object *obj, Eina_Bool disable); Index: src/lib/els_icon.c === --- src/lib/els_icon.c (revision 68889) +++ src/lib/els_icon.c (working copy) @@ -111,7 +111,7 @@ _els_smart_icon_memfile_set(Evas_Object *obj, cons sd-preloading = EINA_TRUE; sd-show = EINA_TRUE; evas_object_hide(sd-obj); -
Re: [E-devel] [Patch][elementary_test] test_icon
I have refined the previous patch again. The patch is for test_icon and test_image. Thanks. Sincerely, Shinwoo Kim. 2012/3/6 cnook kimci...@gmail.com: Sorry, The modification of test.c was omitted. I have refined previous path and attached. Please give any feedbacks. Thanks. Sincerely, Shinwoo Kim. 2012/3/6 cnook kimci...@gmail.com: Dear All, Hello. I have attached a patch for test_icon. please review the patch and give any feedbacks. Thanks. Sincerely, Shinwoo Kim. Index: src/bin/test.c === --- src/bin/test.c (revision 68676) +++ src/bin/test.c (working copy) @@ -9,7 +9,9 @@ void test_bg_plain(void *data, Evas_Object *obj, void *event_info); void test_bg_image(void *data, Evas_Object *obj, void *event_info); void test_bg_options(void *data, Evas_Object *obj, void *event_info); +void test_image(void *data, Evas_Object *obj, void *event_info); void test_icon(void *data, Evas_Object *obj, void *event_info); +void test_icon_transparent(void *data, Evas_Object *obj, void *event_info); void test_box_vert(void *data, Evas_Object *obj, void *event_info); void test_box_vert2(void *data, Evas_Object *obj, void *event_info); void test_box_pack(void *data, Evas_Object *obj, void *event_info); @@ -336,7 +338,9 @@ add_tests: ADD_TEST(NULL, Window / Background, Window Plug, test_win_plug); //--// - ADD_TEST(NULL, Images, Icon Transparent, test_icon); + ADD_TEST(NULL, Images, Image, test_image); + ADD_TEST(NULL, Images, Icon, test_icon); + ADD_TEST(NULL, Images, Icon Transparent, test_icon_transparent); ADD_TEST(NULL, Images, Icon Animation, test_icon_animated); ADD_TEST(NULL, Images, Photocam, test_photocam); ADD_TEST(NULL, Images, Photo, test_photo); Index: src/bin/test_icon.c === --- src/bin/test_icon.c (revision 68676) +++ src/bin/test_icon.c (working copy) @@ -3,14 +3,135 @@ # include elementary_config.h #endif #ifndef ELM_LIB_QUICKLAUNCH + static void +aspect_fixed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) +{ + Evas_Object *ic = (Evas_Object *)data; + elm_icon_aspect_fixed_set(ic, elm_check_state_get(obj)); +} + +static void +fill_outside_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) +{ + Evas_Object *ic = (Evas_Object *)data; + elm_icon_fill_outside_set(ic, elm_check_state_get(obj)); +} + +static void +smooth_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) +{ + Evas_Object *ic = (Evas_Object *)data; + elm_icon_smooth_set(ic, elm_check_state_get(obj)); +} + +static void +bt_clicked(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *win, *ic; + char buf[PATH_MAX]; + + win = elm_win_util_standard_add(preload-prescale, Preload Prescale); + elm_win_autodel_set(win, EINA_TRUE); + + ic = elm_icon_add(win); + elm_win_resize_object_add(win, ic); + snprintf(buf, sizeof(buf), %s/images/insanely_huge_test_image.jpg, +elm_app_data_dir_get()); + elm_icon_file_set(ic, buf, NULL); + + evas_object_size_hint_weight_set(ic, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_icon_scale_set(ic, EINA_TRUE, EINA_TRUE); + elm_icon_aspect_fixed_set(ic, EINA_FALSE); + elm_icon_preload_set(ic, EINA_TRUE); + elm_icon_prescale_set(ic, 350); + evas_object_show(ic); + + evas_object_resize(win, 350, 350); + evas_object_show(win); +} + +void +test_icon(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *win, *box, *content_box, *hbox, *tg, *bt; + win = elm_win_util_standard_add(icon test, Icon Test); + elm_win_autodel_set(win, EINA_TRUE); + + box = elm_box_add(win); + elm_win_resize_object_add(win, box); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(box); + + content_box = elm_box_add(win); + elm_win_resize_object_add(win, content_box); + evas_object_size_hint_weight_set(content_box, EVAS_HINT_EXPAND, +EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(content_box, EVAS_HINT_FILL, + EVAS_HINT_FILL); + elm_box_pack_end(box, content_box); + evas_object_show(content_box); + + Evas_Object *ic = elm_icon_add(win); + char buf[PATH_MAX]; + snprintf(buf, sizeof(buf), %s/images/logo.png, elm_app_data_dir_get()); + elm_icon_file_set(ic, buf, NULL); + elm_icon_scale_set(ic, EINA_TRUE, EINA_TRUE); + evas_object_size_hint_weight_set(ic, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(ic, EVAS_HINT_FILL, EVAS_HINT_FILL); + + elm_box_pack_end(content_box, ic); + evas_object_show(ic); + + hbox = elm_box_add(win); + elm_box_horizontal_set(hbox, EINA_TRUE); + evas_object_size_hint_weight_set(content_box, EVAS_HINT_EXPAND
Re: [E-devel] [Patch][elementary_test] test_icon
Please ignore the patch. elm_icon_preload_set() is weird.. elm_icon_pleload_set() should be elm_icon_preload_disable_se() I 2012/3/6 cnook kimci...@gmail.com: I have refined the previous patch again. The patch is for test_icon and test_image. Thanks. Sincerely, Shinwoo Kim. 2012/3/6 cnook kimci...@gmail.com: Sorry, The modification of test.c was omitted. I have refined previous path and attached. Please give any feedbacks. Thanks. Sincerely, Shinwoo Kim. 2012/3/6 cnook kimci...@gmail.com: Dear All, Hello. I have attached a patch for test_icon. please review the patch and give any feedbacks. Thanks. Sincerely, Shinwoo Kim. -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][Eina] eina_file_win32
Dear All, Hello. eina_lock_release() should be called before return. simple. Sincerely, Shinwoo Kim. Index: src/lib/eina_file_win32.c === --- src/lib/eina_file_win32.c (revision 68866) +++ src/lib/eina_file_win32.c (working copy) @@ -1097,6 +1097,7 @@ eina_file_map_new(Eina_File *file, Eina_File_Popul if (map-map == MAP_FAILED) { free(map); + eina_lock_release(file-lock); return NULL; } -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][Elementary] elm_image
Dear All, Hello. There was no API for preload cancel. simple Sincerely, Shinwoo Kim. Index: src/lib/elm_image.h === --- src/lib/elm_image.h (revision 68862) +++ src/lib/elm_image.h (working copy) @@ -238,6 +238,15 @@ EAPI void elm_image_fill_outside_set(E EAPI Eina_Boolelm_image_fill_outside_get(const Evas_Object *obj); /** + * Enable or disable preloading of the image + * + * @param obj The image object + * @param disable If EINA_TRUE, preloading will be disabled + * @ingroup Icon + */ +EAPI void elm_image_preload_disabled_set(Evas_Object *obj, Eina_Bool disable); + +/** * Set the prescale size for the image * * @param obj The image object Index: src/lib/elm_image.c === --- src/lib/elm_image.c (revision 68862) +++ src/lib/elm_image.c (working copy) @@ -267,6 +267,16 @@ elm_image_fill_outside_get(const Evas_Object *obj) } EAPI void +elm_image_preload_disabled_set(Evas_Object *obj, Eina_Bool disable) +{ + ELM_CHECK_WIDTYPE(obj, widtype); + Widget_Data *wd = elm_widget_data_get(obj); + + if (!wd) return; + _els_smart_icon_preload_set(wd-img, disable); +} + +EAPI void elm_image_prescale_set(Evas_Object *obj, int size) { ELM_CHECK_WIDTYPE(obj, widtype); -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elementary_test] test_index
Dear All, Hello. I have attached patch for test_index. Please review the patch and give any feedbacks. Thanks. Sincerely, Shinwoo Kim. -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch][elementary_test] test_index
Oops, The patch.. was kidnapped. :( 2012/3/7 cnook kimci...@gmail.com: Dear All, Hello. I have attached patch for test_index. Please review the patch and give any feedbacks. Thanks. Sincerely, Shinwoo Kim. Index: src/bin/test_index.c === --- src/bin/test_index.c (revision 68862) +++ src/bin/test_index.c (working copy) @@ -26,6 +26,8 @@ enum _api_state INDEX_PREPEND, INDEX_ITEM_DEL, INDEX_ITEM_FIND, + INDEX_HORIZONTAL, + INDEX_INDICATOR_DISABLED, INDEX_CLEAR, API_STATE_LAST }; @@ -37,28 +39,33 @@ set_api_state(api_data *api) Idx_Data_Type *d = api-dt; switch(api-state) { /* Put all api-changes under switch */ - case INDEX_LEVEL_SET: /* 0 */ + case INDEX_LEVEL_SET: elm_index_autohide_disabled_set(d-id, EINA_TRUE); elm_index_item_level_set(d-id, (elm_index_item_level_get(d-id) ? 0 : 1)); break; - case INDEX_ACTIVE_SET: /* 1 */ + case INDEX_ACTIVE_SET: elm_index_autohide_disabled_set(d-id, EINA_FALSE); break; - case INDEX_APPEND_RELATIVE: /* 2 */ - elm_index_item_insert_after(d-id, elm_index_item_find(d-id, d-item), W, NULL, d-item); + case INDEX_APPEND_RELATIVE: + elm_index_item_insert_after(d-id, + elm_index_item_find(d-id, d-item), + W, NULL, d-item); + elm_index_item_insert_before(d-id, + elm_index_item_find(d-id, d-item), + V, NULL, d-item); break; - case INDEX_PREPEND: /* 3 */ + case INDEX_PREPEND: elm_index_item_prepend(d-id, D, NULL, d-item); break; - case INDEX_ITEM_DEL: /* 4 */ + case INDEX_ITEM_DEL: elm_object_item_del(elm_index_item_find(d-id, d-item)); break; - case INDEX_ITEM_FIND: /* 5 */ + case INDEX_ITEM_FIND: { Elm_Object_Item *i = elm_index_item_find(d-id, d-item); if(i) @@ -69,7 +76,15 @@ set_api_state(api_data *api) } break; - case INDEX_CLEAR: /* 6 */ + case INDEX_HORIZONTAL: + elm_index_horizontal_set(d-id, EINA_TRUE); + break; + + case INDEX_INDICATOR_DISABLED: + elm_index_indicator_disabled_set(d-id, EINA_TRUE); + break; + + case INDEX_CLEAR: elm_index_item_clear(d-id); break; -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elementary_test] test_label
Dear All, Hello! I have attached a patch for test_label. Please review the patch and give any feedbacks. Thanks. Sincerely, Shinwoo Kim. Index: src/bin/test_label.c === --- src/bin/test_label.c (revision 68862) +++ src/bin/test_label.c (working copy) @@ -4,6 +4,14 @@ #endif #ifndef ELM_LIB_QUICKLAUNCH +enum _slide_style +{ + SLIDE_SHORT, + SLIDE_LONG, + SLIDE_BOUNCE, + SLIDE_STYLE_LAST +}; + void test_label(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { @@ -68,10 +76,149 @@ test_label(void *data __UNUSED__, Evas_Object *obj elm_box_pack_end(bx, lb); evas_object_show(lb); + evas_object_resize(win, 320, 300); evas_object_show(bx); evas_object_show(win); elm_win_resize_object_add(win, bx); } + +static void +_cb_size_radio_changed(void *data, Evas_Object *obj, void *event __UNUSED__) +{ + Evas_Object *lb = (Evas_Object *)data; + int style = elm_radio_value_get((Evas_Object *)obj); + switch (style) + { + case SLIDE_SHORT: + elm_object_style_set(lb, slide_short); + break; + + case SLIDE_LONG: + elm_object_style_set(lb, slide_long); + break; + + case SLIDE_BOUNCE: + elm_object_style_set(lb, slide_bounce); + break; + + default: + return; + } +} + +static void +_change_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) +{ + Evas_Object *lb = (Evas_Object *)data; + double val = elm_slider_value_get(obj); + elm_label_slide_set(lb, EINA_FALSE); + elm_label_slide_duration_set(lb, val); + elm_label_slide_set(lb, EINA_TRUE); +} + +void +test_label2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *win, *gd, *rect, *lb, *rd, *rdg, *sl; + + win = elm_win_util_standard_add(label2, Label 2); + elm_win_autodel_set(win, EINA_TRUE); + + gd = elm_grid_add(win); + elm_grid_size_set(gd, 100, 100); + evas_object_size_hint_weight_set(gd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(win, gd); + evas_object_show(gd); + + /* Test Label Ellipsis */ + lb = elm_label_add(win); + elm_object_text_set(lb, Test Label Ellipsis:); + elm_label_slide_set(lb, EINA_TRUE); + elm_grid_pack(gd, lb, 5, 5, 90, 10); + evas_object_show(lb); + + rect = evas_object_rectangle_add(evas_object_evas_get(win)); + elm_grid_pack(gd, rect, 5, 15, 90, 10); + evas_object_color_set(rect, 255, 125, 125, 255); + evas_object_show(rect); + + lb = elm_label_add(win); + elm_object_text_set(lb, + This is a label set to ellipsis. + If set ellipsis to true and the text doesn't fit + in the label an ellipsis(\...\) will be shown + at the end of the widget. + ); + elm_label_ellipsis_set(lb, EINA_TRUE); + elm_grid_pack(gd, lb, 5, 15, 90, 10); + evas_object_show(lb); + + /* Test Label Slide */ + lb = elm_label_add(win); + elm_object_text_set(lb, Test Label Slide:); + elm_label_slide_set(lb, EINA_TRUE); + elm_grid_pack(gd, lb, 5, 30, 90, 10); + evas_object_show(lb); + + rect = evas_object_rectangle_add(evas_object_evas_get(win)); + elm_grid_pack(gd, rect, 5, 40, 90, 10); + evas_object_color_set(rect, 255, 125, 125, 255); + evas_object_show(rect); + + lb = elm_label_add(win); + elm_object_style_set(lb, slide_short); + elm_object_text_set(lb, + This is a label set to slide. + If set slide to true the text of the label + will slide/scroll through the length of label. + This only works with the themes \slide_short\, + \slide_long\ and \slide_bounce\. + ); + elm_label_slide_set(lb, EINA_TRUE); + elm_grid_pack(gd, lb, 5, 40, 90, 10); + evas_object_show(lb); + + rd = elm_radio_add(win); + elm_radio_state_value_set(rd, SLIDE_SHORT); + elm_object_text_set(rd, slide_short); + evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_FILL); + evas_object_smart_callback_add(rd, changed, _cb_size_radio_changed, lb); + elm_grid_pack(gd, rd, 5, 50, 30, 10); + evas_object_show(rd); + rdg = rd; + + rd = elm_radio_add(win); + elm_radio_state_value_set(rd, SLIDE_LONG); + elm_radio_group_add(rd, rdg); + elm_object_text_set(rd, slide_long); + evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_FILL); + evas_object_smart_callback_add(rd, changed, _cb_size_radio_changed, lb); + elm_grid_pack(gd, rd, 35, 50, 30, 10); + evas_object_show(rd); + + rd = elm_radio_add(win); + elm_radio_state_value_set(rd, SLIDE_BOUNCE); + elm_radio_group_add(rd, rdg); + elm_object_text_set(rd, slide_bounce); + evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_FILL); + evas_object_smart_callback_add(rd,
[E-devel] [Patch][elementary_test] test_icon
Dear All, Hello. I have attached a patch for test_icon. please review the patch and give any feedbacks. Thanks. Sincerely, Shinwoo Kim. Index: src/bin/test_icon.c === --- src/bin/test_icon.c (revision 68676) +++ src/bin/test_icon.c (working copy) @@ -3,14 +3,136 @@ # include elementary_config.h #endif #ifndef ELM_LIB_QUICKLAUNCH + static void +aspect_fixed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) +{ + Evas_Object *ic = (Evas_Object *)data; + elm_icon_aspect_fixed_set(ic, elm_check_state_get(obj)); +} + +static void +fill_outside_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) +{ + Evas_Object *ic = (Evas_Object *)data; + elm_icon_fill_outside_set(ic, elm_check_state_get(obj)); +} + +static void +smooth_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) +{ + Evas_Object *ic = (Evas_Object *)data; + elm_icon_smooth_set(ic, elm_check_state_get(obj)); +} + +static void +bt_clicked(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *win, *ic; + char buf[PATH_MAX]; + + win = elm_win_util_standard_add(preload-prescale, Preload Prescale); + elm_win_autodel_set(win, EINA_TRUE); + + ic = elm_icon_add(win); + elm_win_resize_object_add(win, ic); + snprintf(buf, sizeof(buf), %s/images/insanely_huge_test_image.jpg, +elm_app_data_dir_get()); + elm_icon_file_set(ic, buf, NULL); + + evas_object_size_hint_weight_set(ic, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(ic, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_icon_scale_set(ic, EINA_TRUE, EINA_TRUE); + elm_icon_aspect_fixed_set(ic, EINA_FALSE); + elm_icon_preload_set(ic, EINA_TRUE); + elm_icon_prescale_set(ic, EINA_TRUE); + evas_object_show(ic); + + evas_object_resize(win, 350, 350); + evas_object_show(win); +} + +void +test_icon(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *win, *box, *content_box, *hbox, *tg, *bt; + win = elm_win_util_standard_add(icon test, Icon Test); + elm_win_autodel_set(win, EINA_TRUE); + + box = elm_box_add(win); + elm_win_resize_object_add(win, box); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(box); + + content_box = elm_box_add(win); + elm_win_resize_object_add(win, content_box); + evas_object_size_hint_weight_set(content_box, EVAS_HINT_EXPAND, +EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(content_box, EVAS_HINT_FILL, + EVAS_HINT_FILL); + elm_box_pack_end(box, content_box); + evas_object_show(content_box); + + Evas_Object *ic = elm_icon_add(win); + char buf[PATH_MAX]; + snprintf(buf, sizeof(buf), %s/images/logo.png, elm_app_data_dir_get()); + elm_icon_file_set(ic, buf, NULL); + elm_icon_scale_set(ic, EINA_TRUE, EINA_TRUE); + evas_object_size_hint_weight_set(ic, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(ic, EVAS_HINT_FILL, EVAS_HINT_FILL); + + elm_box_pack_end(content_box, ic); + evas_object_show(ic); + + hbox = elm_box_add(win); + elm_box_horizontal_set(hbox, EINA_TRUE); + evas_object_size_hint_weight_set(content_box, EVAS_HINT_EXPAND, +EVAS_HINT_EXPAND); + elm_box_pack_end(box, hbox); + evas_object_show(hbox); + + /* Test Aspect Fixed */ + tg = elm_check_add(win); + elm_object_text_set(tg, Aspect Fixed); + elm_check_state_set(tg, EINA_TRUE); + evas_object_smart_callback_add(tg, changed, aspect_fixed_cb, ic); + elm_box_pack_end(hbox, tg); + evas_object_show(tg); + + /* Test Fill Outside */ + tg = elm_check_add(win); + elm_object_text_set(tg, Fill Outside); + evas_object_smart_callback_add(tg, changed, fill_outside_cb, ic); + elm_box_pack_end(hbox, tg); + evas_object_show(tg); + + /* Test Smooth */ + tg = elm_check_add(win); + elm_object_text_set(tg, Smooth); + elm_check_state_set(tg, EINA_TRUE); + evas_object_smart_callback_add(tg, changed, smooth_cb, ic); + elm_box_pack_end(hbox, tg); + evas_object_show(tg); + + /* Test Preload, Prescale */ + bt = elm_button_add(win); + elm_object_text_set(bt, Preload Prescale); + evas_object_smart_callback_add(bt, clicked, bt_clicked, NULL); + elm_box_pack_end(hbox, bt); + evas_object_show(bt); + + evas_object_resize(win, 400, 400); + evas_object_show(win); +} + +static void icon_clicked(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { printf(clicked!\n); } void -test_icon(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +test_icon_transparent(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { Evas_Object *win, *ic; char buf[PATH_MAX];
Re: [E-devel] [Patch][elementary_test] test_icon
Sorry, The modification of test.c was omitted. I have refined previous path and attached. Please give any feedbacks. Thanks. Sincerely, Shinwoo Kim. 2012/3/6 cnook kimci...@gmail.com: Dear All, Hello. I have attached a patch for test_icon. please review the patch and give any feedbacks. Thanks. Sincerely, Shinwoo Kim. test.icon.diff.2 Description: Binary data -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elementary_test] test_gengrid
Dear All, Hello. I have attached a patch for test_gengrid. Please review this and give any feedbacks Sincerely, Shinwoo Kim. Index: src/bin/test_gengrid.c === --- src/bin/test_gengrid.c (revision 68675) +++ src/bin/test_gengrid.c (working copy) @@ -1,13 +1,35 @@ #include Elementary.h +#include Elementary_Cursor.h #include test.h #ifdef HAVE_CONFIG_H # include elementary_config.h #endif #ifndef ELM_LIB_QUICKLAUNCH + +static Elm_Gengrid_Item_Class *gic; +static Elm_Gengrid_Item_Class ggic; + +Evas_Object *grid_content_get(void *data, Evas_Object *obj, const char *part); +char *grid_text_get(void *data, Evas_Object *obj __UNUSED__, +const char *part __UNUSED__); +Eina_Bool grid_state_get(void *data __UNUSED__, Evas_Object *obj __UNUSED__, + const char *part __UNUSED__); +void grid_del(void *data __UNUSED__, Evas_Object *obj __UNUSED__); +static Evas_Object *gtt_item_icon(void *data __UNUSED__, Evas_Object *obj __UNUSED__, Evas_Object *tt, void *item __UNUSED__); + +typedef struct _Testitem +{ + Elm_Object_Item *item; + const char *path; + int mode; + int onoff; +} Testitem; + struct _api_data { unsigned int state; /* What state we are testing */ - void *box; /* Use this to get box content */ + Evas_Object *box; /* Use this to get box content */ + Evas_Object *grid; }; typedef struct _api_data api_data; @@ -21,6 +43,11 @@ enum _api_state GRID_PAGE_SIZE, GRID_TOOLTIP_SET_TEXT, GRID_TOOLTIP_UNSET, + GRID_ITEM_CLASS_SET, + GRID_ITEM_UPDATE_SET, + GRID_PAGE_BRING_IN, + GRID_PAGE_SHOW, + GRID_TOOLTIP_ETC, API_STATE_LAST }; typedef enum _api_state api_state; @@ -28,7 +55,7 @@ typedef enum _api_state api_state; static void set_api_state(api_data *api) { - Evas_Object *grid = api-box; + Evas_Object *grid = api-grid; /* use elm_box_children_get() to get list of children */ switch(api-state) @@ -72,6 +99,53 @@ set_api_state(api_data *api) } break; + case GRID_ITEM_CLASS_SET: /* 8 */ + { + gic = elm_gengrid_item_class_new(); + gic-item_style = thumb; + gic-func.content_get = grid_content_get; + gic-func.text_get = grid_text_get; + gic-func.state_get = grid_state_get; + gic-func.del = grid_del; + + Elm_Object_Item *item = elm_gengrid_first_item_get(grid); + elm_gengrid_item_item_class_set(item, gic); + elm_gengrid_item_show(item); + } + break; + + case GRID_ITEM_UPDATE_SET: /* 9 */ + { + char buf[PATH_MAX]; + Elm_Object_Item *item = elm_gengrid_first_item_get(grid); + Testitem *ti = (Testitem *)elm_object_item_data_get(item); + snprintf(buf, sizeof(buf), %s/images/twofish.jpg, elm_app_data_dir_get()); + ti-path = eina_stringshare_add(buf); + elm_gengrid_item_update(item); + } + break; + + case GRID_PAGE_BRING_IN: /* 10 */ + elm_gengrid_page_bring_in(grid, 1, 0); + break; + + case GRID_PAGE_SHOW: /* 11 */ + { + int h_page, v_page; + elm_gengrid_last_page_get(grid, h_page, v_page); + elm_gengrid_page_show(grid, h_page - 1, v_page); + } + break; + + case GRID_TOOLTIP_ETC: /* 12 */ + { + Elm_Object_Item *item = elm_gengrid_last_item_get(grid); + elm_gengrid_item_tooltip_content_cb_set(item, gtt_item_icon, NULL, NULL); + elm_gengrid_item_tooltip_style_set(item, transparent); + elm_gengrid_item_tooltip_window_mode_set(item, EINA_TRUE); + } + break; + case API_STATE_LAST: break; @@ -95,14 +169,6 @@ _api_bt_clicked(void *data, Evas_Object *obj, void elm_object_disabled_set(obj, a-state == API_STATE_LAST); } -typedef struct _Testitem -{ - Elm_Object_Item *item; - const char *path; - int mode; - int onoff; -} Testitem; - static const char *img[9] = { panel_01.jpg, @@ -116,9 +182,28 @@ static const char *img[9] = wood_01.jpg, }; -static Elm_Gengrid_Item_Class *gic; -static Elm_Gengrid_Item_Class ggic; +static const char *cur[4] = +{ + ELM_CURSOR_CIRCLE, + ELM_CURSOR_CLOCK, + ELM_CURSOR_COFFEE_MUG, + ELM_CURSOR_CROSS, +}; +static Evas_Object * +gtt_item_icon(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + Evas_Object *tt, + void *item __UNUSED__) +{ + Evas_Object *ic = elm_icon_add(tt); + char buf[PATH_MAX]; + snprintf(buf, sizeof(buf), %s/images/logo.png, elm_app_data_dir_get()); + elm_icon_file_set(ic, buf, NULL); + elm_icon_scale_set(ic, 0, 0); + return ic; +} + static int n_current_pic = 0; static void _horizontal_grid(void *data,
Re: [E-devel] [Patch][elementary_test] test_gengrid
Hey, please ignore previous path which used a deprecated API. :p I have newly attached a path for test_gengrid. Please review this and give any feedback. Thanks. 2012/3/5 cnook kimci...@gmail.com: Dear All, Hello. I have attached a patch for test_gengrid. Please review this and give any feedbacks Sincerely, Shinwoo Kim. Index: src/bin/test_gengrid.c === --- src/bin/test_gengrid.c (revision 68675) +++ src/bin/test_gengrid.c (working copy) @@ -1,13 +1,35 @@ #include Elementary.h +#include Elementary_Cursor.h #include test.h #ifdef HAVE_CONFIG_H # include elementary_config.h #endif #ifndef ELM_LIB_QUICKLAUNCH + +static Elm_Gengrid_Item_Class *gic; +static Elm_Gengrid_Item_Class ggic; + +Evas_Object *grid_content_get(void *data, Evas_Object *obj, const char *part); +char *grid_text_get(void *data, Evas_Object *obj __UNUSED__, +const char *part __UNUSED__); +Eina_Bool grid_state_get(void *data __UNUSED__, Evas_Object *obj __UNUSED__, + const char *part __UNUSED__); +void grid_del(void *data __UNUSED__, Evas_Object *obj __UNUSED__); +static Evas_Object *gtt_item_icon(void *data __UNUSED__, Evas_Object *obj __UNUSED__, Evas_Object *tt, void *item __UNUSED__); + +typedef struct _Testitem +{ + Elm_Object_Item *item; + const char *path; + int mode; + int onoff; +} Testitem; + struct _api_data { unsigned int state; /* What state we are testing */ - void *box; /* Use this to get box content */ + Evas_Object *box; /* Use this to get box content */ + Evas_Object *grid; }; typedef struct _api_data api_data; @@ -21,6 +43,11 @@ enum _api_state GRID_PAGE_SIZE, GRID_TOOLTIP_SET_TEXT, GRID_TOOLTIP_UNSET, + GRID_ITEM_CLASS_SET, + GRID_ITEM_UPDATE_SET, + GRID_PAGE_BRING_IN, + GRID_PAGE_SHOW, + GRID_TOOLTIP_ETC, API_STATE_LAST }; typedef enum _api_state api_state; @@ -28,7 +55,7 @@ typedef enum _api_state api_state; static void set_api_state(api_data *api) { - Evas_Object *grid = api-box; + Evas_Object *grid = api-grid; /* use elm_box_children_get() to get list of children */ switch(api-state) @@ -72,6 +99,53 @@ set_api_state(api_data *api) } break; + case GRID_ITEM_CLASS_SET: /* 8 */ + { + gic = elm_gengrid_item_class_new(); + gic-item_style = thumb; + gic-func.content_get = grid_content_get; + gic-func.text_get = grid_text_get; + gic-func.state_get = grid_state_get; + gic-func.del = grid_del; + + Elm_Object_Item *item = elm_gengrid_first_item_get(grid); + elm_gengrid_item_item_class_update(item, gic); + elm_gengrid_item_show(item); + } + break; + + case GRID_ITEM_UPDATE_SET: /* 9 */ + { + char buf[PATH_MAX]; + Elm_Object_Item *item = elm_gengrid_first_item_get(grid); + Testitem *ti = (Testitem *)elm_object_item_data_get(item); + snprintf(buf, sizeof(buf), %s/images/twofish.jpg, elm_app_data_dir_get()); + ti-path = eina_stringshare_add(buf); + elm_gengrid_item_update(item); + } + break; + + case GRID_PAGE_BRING_IN: /* 10 */ + elm_gengrid_page_bring_in(grid, 1, 0); + break; + + case GRID_PAGE_SHOW: /* 11 */ + { + int h_page, v_page; + elm_gengrid_last_page_get(grid, h_page, v_page); + elm_gengrid_page_show(grid, h_page - 1, v_page); + } + break; + + case GRID_TOOLTIP_ETC: /* 12 */ + { + Elm_Object_Item *item = elm_gengrid_last_item_get(grid); + elm_gengrid_item_tooltip_content_cb_set(item, gtt_item_icon, NULL, NULL); + elm_gengrid_item_tooltip_style_set(item, transparent); + elm_gengrid_item_tooltip_window_mode_set(item, EINA_TRUE); + } + break; + case API_STATE_LAST: break; @@ -95,14 +169,6 @@ _api_bt_clicked(void *data, Evas_Object *obj, void elm_object_disabled_set(obj, a-state == API_STATE_LAST); } -typedef struct _Testitem -{ - Elm_Object_Item *item; - const char *path; - int mode; - int onoff; -} Testitem; - static const char *img[9] = { panel_01.jpg, @@ -116,9 +182,28 @@ static const char *img[9] = wood_01.jpg, }; -static Elm_Gengrid_Item_Class *gic; -static Elm_Gengrid_Item_Class ggic; +static const char *cur[4] = +{ + ELM_CURSOR_CIRCLE, + ELM_CURSOR_CLOCK, + ELM_CURSOR_COFFEE_MUG, + ELM_CURSOR_CROSS, +}; +static Evas_Object * +gtt_item_icon(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + Evas_Object *tt, + void *item __UNUSED__) +{ + Evas_Object *ic = elm_icon_add(tt); + char buf[PATH_MAX]; + snprintf(buf, sizeof(buf), %s
[E-devel] [Patch][elementary_test] test_hover
Dear All, Hello. I have attached a patch for test_hover. Please review the patch and give any feedbacks. Thanks. Sincerely, Shinwoo kim. Index: src/bin/test_hover.c === --- src/bin/test_hover.c (revision 68675) +++ src/bin/test_hover.c (working copy) @@ -9,6 +9,14 @@ my_hover_bt(void *data, Evas_Object *obj __UNUSED_ evas_object_show(hv); } +static void +_top_bt_clicked(void *data, Evas_Object *obj __UNUSED__, +void *event_info __UNUSED__) +{ + Evas_Object *hv = (Evas_Object *)data; + elm_hover_dismiss(hv); +} + void test_hover(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { @@ -55,6 +63,7 @@ test_hover(void *data __UNUSED__, Evas_Object *obj bt = elm_button_add(win); elm_object_text_set(bt, Top 1); + evas_object_smart_callback_add(bt, clicked, _top_bt_clicked, hv); elm_box_pack_end(bx, bt); evas_object_show(bt); bt = elm_button_add(win); -- Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elementary_test] test_flipselector
Dear All, Hello~ I have attached a patch for test_flipselecotr. Please review this and give any feedbacks. Thanks. Sincerely, Shinwoo Kim. Index: src/bin/test_flipselector.c === --- src/bin/test_flipselector.c (revision 68289) +++ src/bin/test_flipselector.c (working copy) @@ -23,17 +23,26 @@ } void -_third_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +_last_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { Elm_Object_Item *it; Evas_Object *fp = data; - it = elm_flipselector_first_item_get(fp); - it = elm_flipselector_item_next_get(it); - it = elm_flipselector_item_next_get(it); + it = elm_flipselector_last_item_get(fp); elm_flipselector_item_selected_set(it, EINA_TRUE); } void +_third_from_end_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Elm_Object_Item *it; + Evas_Object *fp = data; + it = elm_flipselector_last_item_get(fp); + it = elm_flipselector_item_prev_get(it); + it = elm_flipselector_item_prev_get(it); + elm_flipselector_item_selected_set(it, EINA_TRUE); +} + +void _underflow_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { printf(underflow!\n); @@ -46,11 +55,35 @@ } void +slider_change_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) +{ +Evas_Object *fl; + fl = (Evas_Object *)data; + +double val = elm_slider_value_get(obj); +elm_flipselector_interval_set(fl, val); +} + +void +flip_next_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *fp = data; + elm_flipselector_flip_next(fp); +} + +void +flip_prev_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *fp = data; + elm_flipselector_flip_prev(fp); +} + +void test_flipselector(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { char buf[8]; unsigned int i; - Evas_Object *win, *bg, *bx, *fp, *bt; + Evas_Object *win, *bg, *bx, *fp, *bt, *bx2, *sl; static const char *lbl[] = { Elementary, Evas, @@ -86,21 +119,58 @@ elm_box_pack_end(bx, fp); evas_object_show(fp); + bx2 = elm_box_add(win); + evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_box_horizontal_set(bx2, EINA_TRUE); + elm_box_pack_end(bx, bx2); + evas_object_show(bx2); + fp = elm_flipselector_add(win); evas_object_smart_callback_add(fp, underflowed, _overflow_cb, NULL); evas_object_smart_callback_add(fp, overflowed, _underflow_cb, NULL); evas_object_size_hint_weight_set(fp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - for (i = 2099; i = 1990; i--) + for (i = 1990; i = 2099; i++) { snprintf(buf, 8, %d, i); elm_flipselector_item_append(fp, buf, _sel_cb, NULL); } - elm_box_pack_end(bx, fp); + + bt = elm_button_add(win); + elm_object_text_set(bt, Flip Prev); + evas_object_smart_callback_add(bt, clicked, flip_prev_cb, fp); + + elm_box_pack_end(bx2, bt); + evas_object_show(bt); + + elm_box_pack_end(bx2, fp); evas_object_show(fp); bt = elm_button_add(win); + elm_object_text_set(bt, Flip Next); + evas_object_smart_callback_add(bt, clicked, flip_next_cb, fp); + elm_box_pack_end(bx2, bt); + evas_object_show(bt); + + sl = elm_slider_add(win); + elm_object_text_set(sl, Flip Iterval:); + elm_slider_unit_format_set(sl, %1.2f); + elm_slider_min_max_set(sl, 0, 3.0); + elm_slider_value_set(sl, 0.85); + evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_box_pack_end(bx, sl); + evas_object_show(sl); + evas_object_smart_callback_add(sl, changed, slider_change_cb, fp); + + bt = elm_button_add(win); + elm_object_text_set(bt, Select Last); + evas_object_smart_callback_add(bt, clicked, _last_cb, fp); + elm_box_pack_end(bx, bt); + evas_object_show(bt); + + bt = elm_button_add(win); elm_object_text_set(bt, Select 2097); - evas_object_smart_callback_add(bt, clicked, _third_cb, fp); + evas_object_smart_callback_add(bt, clicked, _third_from_end_cb, fp); elm_box_pack_end(bx, bt); evas_object_show(bt); -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elementary_test] test_entry
Dear All, Hello. I have attached a patch for test_entry. Please check this and give any feedbacks. Thank you. Sincerely, Shinwoo Kim. Index: src/bin/test.c === --- src/bin/test.c (revision 68289) +++ src/bin/test.c (working copy) @@ -44,6 +44,7 @@ void test_entry5(void *data, Evas_Object *obj, void *event_info); void test_entry6(void *data, Evas_Object *obj, void *event_info); void test_entry7(void *data, Evas_Object *obj, void *event_info); +void test_entry8(void *data, Evas_Object *obj, void *event_info); void test_entry_notepad(void *data, Evas_Object *obj, void *event_info); void test_multibuttonentry(void *data, Evas_Object *obj, void *event_info); void test_anchorview(void *data, Evas_Object *obj, void *event_info); @@ -366,6 +367,7 @@ ADD_TEST(NULL, Entries, Entry 5, test_entry5); ADD_TEST(NULL, Entries, Entry 6, test_entry6); ADD_TEST(NULL, Entries, Entry 7, test_entry7); + ADD_TEST(NULL, Entries, Entry 8, test_entry8); ADD_TEST(NULL, Entries, Entry Notepad, test_entry_notepad); ADD_TEST(NULL, Entries, Multibuttonentry, test_multibuttonentry); Index: src/bin/test_entry.c === --- src/bin/test_entry.c (revision 68289) +++ src/bin/test_entry.c (working copy) @@ -1928,16 +1928,252 @@ } static void +filter_prepend_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *en, *en2; + static Elm_Entry_Filter_Accept_Set digits_filter_data; + + en = (Evas_Object *)data; + en2 = evas_object_data_get(en, filter-entry); + digits_filter_data.accepted = elm_object_text_get(en2); + digits_filter_data.rejected = NULL; + + elm_entry_markup_filter_append(en, elm_entry_filter_accept_set, + digits_filter_data); + elm_object_text_set(en, Markup Filter Prepend Test:); +} + +static void +filter_remove_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *en; + en = (Evas_Object *)data; + + elm_entry_markup_filter_remove(en, elm_entry_filter_accept_set, NULL); + elm_object_text_set(en, Markup Filter Prepend Test:); +} + +static void +icon_visible_changed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) +{ + Evas_Object *en; + en = (Evas_Object*)data; + + elm_entry_icon_visible_set(en, elm_check_state_get(obj)); +} + +static void +end_visible_changed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) +{ + Evas_Object *en; + en = (Evas_Object*)data; + + elm_entry_end_visible_set(en, elm_check_state_get(obj)); +} + +static void +horizontal_bounce_changed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) +{ + Evas_Object *en; + Eina_Bool vb; + Eina_Bool bounce = elm_check_state_get(obj); + en = (Evas_Object*)data; + + elm_entry_bounce_get(en, NULL, vb); + elm_entry_bounce_set(en, bounce, bounce); +} + +static void +vertical_bounce_changed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) +{ + Evas_Object *en; + Eina_Bool hb; + Eina_Bool bounce = elm_check_state_get(obj); + en = (Evas_Object*)data; + + elm_entry_bounce_get(en, hb, NULL); + elm_entry_bounce_set(en, hb, bounce); +} + +void +test_entry8(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *win, *gd, *rect, *en, *lb; + Evas_Object *bt, *en2; + Evas_Object *ch, *en3, *bx; + Evas_Object *en4; + static Elm_Entry_Filter_Limit_Size limit_filter_data; + + win = elm_win_util_standard_add(entry8, Entry 8); + elm_win_autodel_set(win, EINA_TRUE); + + gd = elm_grid_add(win); + elm_grid_size_set(gd, 100, 100); + elm_win_resize_object_add(win, gd); + evas_object_size_hint_weight_set(gd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(gd); + + rect = evas_object_rectangle_add(evas_object_evas_get(win)); + elm_grid_pack(gd, rect, 5, 5, 90, 10); + evas_object_color_set(rect, 125, 125, 255, 255); + evas_object_show(rect); + + en = elm_entry_add(win); + elm_entry_scrollable_set(en, EINA_TRUE); + elm_entry_scrollbar_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); + evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_object_text_set(en, Markup Filter Prepend Test); + elm_grid_pack(gd, en, 5, 5, 90, 10); + evas_object_show(en); + + lb = elm_label_add(win); + elm_object_text_set(lb, Markup Filter (20 Characters):); + evas_object_size_hint_weight_set(lb, 0.0, 0.0); + evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_grid_pack(gd, lb, 5, 15, 50, 10); + evas_object_show(lb); + + rect = evas_object_rectangle_add(evas_object_evas_get(win)); + elm_grid_pack(gd, rect, 55, 15, 40, 10); + evas_object_color_set(rect, 0, 125, 255, 255); + evas_object_show(rect); + +
[E-devel] [Patch][elementary_test] test_box
Dear All, Hi~ Please review the attached patch and give any feedbacks. Thanks. Sincerely, Shinwoo Kim. Index: src/bin/test.c === --- src/bin/test.c (revision 68250) +++ src/bin/test.c (working copy) @@ -43,6 +43,7 @@ void test_entry3(void *data, Evas_Object *obj, voi void test_entry4(void *data, Evas_Object *obj, void *event_info); void test_entry5(void *data, Evas_Object *obj, void *event_info); void test_entry6(void *data, Evas_Object *obj, void *event_info); +void test_entry7(void *data, Evas_Object *obj, void *event_info); void test_entry_notepad(void *data, Evas_Object *obj, void *event_info); void test_multibuttonentry(void *data, Evas_Object *obj, void *event_info); void test_anchorview(void *data, Evas_Object *obj, void *event_info); @@ -364,6 +365,7 @@ add_tests: ADD_TEST(NULL, Entries, Entry 4, test_entry4); ADD_TEST(NULL, Entries, Entry 5, test_entry5); ADD_TEST(NULL, Entries, Entry 6, test_entry6); + ADD_TEST(NULL, Entries, Entry 7, test_entry7); ADD_TEST(NULL, Entries, Entry Notepad, test_entry_notepad); ADD_TEST(NULL, Entries, Multibuttonentry, test_multibuttonentry); Index: src/bin/test_entry.c === --- src/bin/test_entry.c (revision 68250) +++ src/bin/test_entry.c (working copy) @@ -1692,6 +1692,242 @@ test_entry6(void *data __UNUSED__, Evas_Object *ob } static void +changed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) +{ + Evas_Object *en; + en = (Evas_Object*)data; + + elm_entry_editable_set(en, elm_check_state_get(obj)); +} + +static void +en_changed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) +{ + Evas_Object *sp, *en; + sp = (Evas_Object *)data; + en = (Evas_Object *)obj; + elm_spinner_min_max_set(sp, 0, strlen(elm_object_text_get(en))); +} + +static void +sp_changed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) +{ + Evas_Object *en, *sp; + en = (Evas_Object *)data; + sp = (Evas_Object *)obj; + elm_entry_cursor_pos_set(en, elm_spinner_value_get(sp)); + elm_object_focus_set(en, EINA_TRUE); +} + +static void +add_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *en; + en = (Evas_Object *)data; + + elm_entry_context_menu_item_add(en, item, NULL, ELM_ICON_NONE, NULL, NULL); +} + +static void +clear_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *en; + en = (Evas_Object *)data; + + elm_entry_context_menu_clear(en); +} + +static Evas_Object * +item_provider(void *images __UNUSED__, Evas_Object *en, const char *item) +{ + Evas_Object *o = NULL;; + char buf[1024]; + + if(!strcmp(item, itemprovider)) + { +snprintf(buf, sizeof(buf), %s/images/icon_00.png, + elm_app_data_dir_get()); +o = evas_object_image_filled_add(evas_object_evas_get(en)); +evas_object_image_file_set(o, buf, NULL); + } + + return o; +} + +static Evas_Object * +prepend_item_provider(void *images __UNUSED__, Evas_Object *en, const char *item) +{ + Evas_Object *o = NULL;; + char buf[1024]; + + if(!strcmp(item, itemprovider)) + { +snprintf(buf, sizeof(buf), %s/images/icon_10.png, + elm_app_data_dir_get()); +o = evas_object_image_filled_add(evas_object_evas_get(en)); +evas_object_image_file_set(o, buf, NULL); + } + + return o; +} + +static void +prepend_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *en; + en = (Evas_Object *)data; + + elm_entry_item_provider_prepend(en, prepend_item_provider, NULL); + elm_object_text_set(en, + Item Provider + item size=50x50 vsize=full href=itemprovider/item + ); +} + +static void +remove_bt_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *en; + en = (Evas_Object *)data; + + elm_entry_item_provider_remove(en, item_provider, NULL); + elm_entry_item_provider_remove(en, prepend_item_provider, NULL); + elm_object_text_set(en, + Item Provider + item size=50x50 vsize=full href=itemprovider/item + ); +} + +static void +enable_changed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) +{ + Evas_Object *en; + en = (Evas_Object*)data; + + elm_entry_context_menu_disabled_set(en, elm_check_state_get(obj)); +} + +void +test_entry7(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *win, *gd, *rect, *en, *sc, *tg, *lb, *sp; + Evas_Object *bt, *en2, *sc2; + win = elm_win_util_standard_add(entry7, Entry 7); + elm_win_autodel_set(win, EINA_TRUE); + + gd = elm_grid_add(win); + elm_grid_size_set(gd, 100, 100); + elm_win_resize_object_add(win, gd); +
Re: [E-devel] [Patch][elementary_test] test_box
Sorry, its for entry not box. 2012/2/22 cnook kimci...@gmail.com: Dear All, Hi~ Please review the attached patch and give any feedbacks. Thanks. Sincerely, Shinwoo Kim. -- Virtualization Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elementary_test] test_cnp
Dear All, The attachment is a patch to enhance the test_cnp in elementary_test. You can check how to use elm_cnp_selection_clear() through the patch. Thanks. Shinwoo Kim. Index: src/bin/test_cnp.c === --- src/bin/test_cnp.c (revision 68141) +++ src/bin/test_cnp.c (working copy) @@ -3,12 +3,16 @@ # include elementary_config.h #endif #ifndef ELM_LIB_QUICKLAUNCH + +static Evas_Object *glb; + static void _bt_copy_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { Evas_Object *en = (Evas_Object*)(data); const char *txt = elm_object_text_get(en); + elm_object_text_set(glb, txt); elm_cnp_selection_set(ELM_SEL_TYPE_CLIPBOARD, elm_object_parent_widget_get(en), ELM_SEL_FORMAT_TEXT, txt, strlen(txt)); } @@ -22,10 +26,19 @@ _bt_paste_clicked(void *data, Evas_Object *obj __U en, NULL, NULL); } +static void +_bt_clear_clicked(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *en = (Evas_Object*)(data); + + elm_object_text_set(glb, ); + elm_cnp_selection_clear(ELM_SEL_TYPE_CLIPBOARD, elm_object_parent_widget_get(en)); +} + void test_cnp(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { - Evas_Object *win, *bg, *gd, *bt, *en; + Evas_Object *win, *bg, *gd, *bt, *en, *lb; win = elm_win_add(NULL, CopyPaste, ELM_WIN_BASIC); elm_win_title_set(win, CopyPaste); @@ -50,15 +63,21 @@ test_cnp(void *data __UNUSED__, Evas_Object *obj _ elm_object_text_set(en, Elementary provides ); - elm_grid_pack(gd, en, 10, 10, 60, 40); + elm_grid_pack(gd, en, 10, 10, 60, 30); evas_object_show(en); bt = elm_button_add(win); elm_object_text_set(bt, Copy from left entry); evas_object_smart_callback_add(bt, clicked, _bt_copy_clicked, en); - elm_grid_pack(gd, bt, 70, 10, 22, 40); + elm_grid_pack(gd, bt, 70, 10, 22, 30); evas_object_show(bt); + bt = elm_button_add(win); + elm_object_text_set(bt, Clear clipboard); + evas_object_smart_callback_add(bt, clicked, _bt_clear_clicked, en); + elm_grid_pack(gd, bt, 70, 70, 22, 20); + evas_object_show(bt); + en = elm_entry_add(win); elm_entry_scrollable_set(en, EINA_TRUE); elm_entry_line_wrap_set(en, ELM_WRAP_CHAR); @@ -67,16 +86,30 @@ test_cnp(void *data __UNUSED__, Evas_Object *obj _ elm_object_text_set(en, rich copying and pasting functionality, ); - elm_grid_pack(gd, en, 10, 50, 60, 40); + elm_grid_pack(gd, en, 10, 40, 60, 30); evas_object_show(en); bt = elm_button_add(win); elm_object_text_set(bt, Paste to left entry); evas_object_smart_callback_add(bt, clicked, _bt_paste_clicked, en); - elm_grid_pack(gd, bt, 70, 50, 22, 40); + elm_grid_pack(gd, bt, 70, 40, 22, 30); evas_object_show(bt); - evas_object_resize(win, 480, 140); + lb = elm_label_add(win); + elm_object_text_set(lb, bClipboard:/b); + evas_object_size_hint_weight_set(lb, 0.0, 0.0); + evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_grid_pack(gd, lb, 10, 70, 60, 10); + evas_object_show(lb); + + glb = elm_label_add(win); + elm_object_text_set(glb, ); + evas_object_size_hint_weight_set(glb, 0.0, 0.0); + evas_object_size_hint_align_set(glb, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_grid_pack(gd, glb, 10, 80, 60, 10); + evas_object_show(glb); + + evas_object_resize(win, 480, 200); evas_object_show(win); } #endif -- Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elm_win] elm_win_title_set(); can make a crash with NULL
Dear All, Have ever try to call elm_win_title_set(win, NULL)? Then try... :-] It makes Segmentation Fault. Yeah, we can add patch in the Ecore side, but we can prevent the segmentation fault before go inside. Please check the patch and give any feedbacks. Thanks a lot. Sincerely, Shinwoo Kim. Index: src/lib/elm_win.c === --- src/lib/elm_win.c (revision 68141) +++ src/lib/elm_win.c (working copy) @@ -1908,7 +1908,7 @@ elm_win_title_set(Evas_Object *obj, const char *ti Elm_Win *win; ELM_CHECK_WIDTYPE(obj, widtype); win = elm_widget_data_get(obj); - if (!win) return; + if (!win || !title) return; ecore_evas_title_set(win-ee, title); if (win-frame_obj) edje_object_part_text_set(win-frame_obj, elm.text.title, title); -- Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][Evil] evil_util.c and build errors
Dear All, Hello~ #include Evil.h is removed 3days before. and there is no #include limints.h (for ULONG_MAX) instead of removing. So I have added as attached... Please review the patch and give any feedbacks. And.. build errors in evil_printa.c, __mingw_strtold, __mingw_strtof make build error I have no idea for this. Please check this.. Thanks, Shinwoo Kimm. Index: src/lib/evil_util.c === --- src/lib/evil_util.c (revision 68179) +++ src/lib/evil_util.c (working copy) @@ -6,6 +6,7 @@ #include stdio.h #include string.h #include wchar.h +#include limits.h #ifndef WIN32_LEAN_AND_MEAN # define WIN32_LEAN_AND_MEAN -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Qustion][Windows] Cannot execute elementary_test.exe
Dear All, I have a problem as following. You guys have any idea? Would you kindly ENLIGHTEN me on this question? I tested using r68179. $ ELM_ENGINE=gdi elementary_test.exe CRI: eina_share_common.c:542 _eina_share_common_node_from_str() *** Eina Magic Check Failed !!! Input handle is wrong type Expected: 98761254 - Eina Stringshare Node Supplied: 031c - (unknown) *** NAUGHTY PROGRAMMER!!! *** SPANK SPANK SPANK!!! *** Now go fix your code. Tut tut tut! CRI:eina_stringshare eina_stringshare.c:608 eina_stringshare_del() EEEK trying to del non-shared stringshare C:\MinGW\m sys\1.0\opt\efl\share\elementary/config/profile.cfg CRI: eina_share_common.c:542 _eina_share_common_node_from_str() *** Eina Magic Check Failed !!! Input handle is wrong type Expected: 98761254 - Eina Stringshare Node Supplied: 0324 - (unknown) *** NAUGHTY PROGRAMMER!!! *** SPANK SPANK SPANK!!! *** Now go fix your code. Tut tut tut! CRI:eina_stringshare eina_stringshare.c:608 eina_stringshare_del() EEEK trying to del non-shared stringshare C:\MinGW\m sys\1.0\opt\efl\share\elementary/config/default/base.cfg CRI: eina_share_common.c:542 _eina_share_common_node_from_str() *** Eina Magic Check Failed !!! Input handle is wrong type Expected: 98761254 - Eina Stringshare Node Supplied: 0454 - (unknown) *** NAUGHTY PROGRAMMER!!! *** SPANK SPANK SPANK!!! *** Now go fix your code. Tut tut tut! CRI:eina_stringshare eina_stringshare.c:608 eina_stringshare_del() EEEK trying to del non-shared stringshare C:\MinGW\m sys\1.0\opt\efl\share\elementary/themes/default.edj CRI: eina_share_common.c:542 _eina_share_common_node_from_str() *** Eina Magic Check Failed !!! Input handle is wrong type Expected: 98761254 - Eina Stringshare Node Supplied: 044c - (unknown) *** NAUGHTY PROGRAMMER!!! *** SPANK SPANK SPANK!!! *** Now go fix your code. Tut tut tut! CRI:eina_stringshare eina_stringshare.c:608 eina_stringshare_del() EEEK trying to del non-shared stringshare C:\MinGW\m sys\1.0\opt\efl\share\elementary/themes/default.edj CRI: eina_share_common.c:542 _eina_share_common_node_from_str() *** Eina Magic Check Failed !!! Input handle is wrong type Expected: 98761254 - Eina Stringshare Node Supplied: 0448 - (unknown) *** NAUGHTY PROGRAMMER!!! *** SPANK SPANK SPANK!!! *** Now go fix your code. Tut tut tut! CRI:eina_stringshare eina_stringshare.c:608 eina_stringshare_del() EEEK trying to del non-shared stringshare C:\MinGW\m sys\1.0\opt\efl\share\elementary/themes/default.edj -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elementary_test] test_check, test_clock
Dear All, Hello~ I have attached patch for elementary_test as following. - test_check: using elm_check_state_pointer_set(); - test_clock: using elm_clock_interval_set(); Please review this. Thanks always. Shinwoo Kim. Index: src/bin/test_check.c === --- src/bin/test_check.c (revision 67994) +++ src/bin/test_check.c (working copy) @@ -3,6 +3,9 @@ # include elementary_config.h #endif #ifndef ELM_LIB_QUICKLAUNCH + +static Eina_Bool eb; + static void changed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__) { @@ -12,6 +15,12 @@ changed_cb(void *data, Evas_Object *obj, void *eve printf(ck2 %p is now %i\n, ck2, elm_check_state_get(ck2)); } +static void +state_changed_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + printf(State Pointer Value: %d\n, eb); +} + void test_check(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { @@ -66,6 +75,18 @@ test_check(void *data __UNUSED__, Evas_Object *obj elm_box_pack_end(bx, ck); evas_object_show(ck); + ck = elm_check_add(win); + elm_object_text_set(ck, Using State Pointer); + elm_check_state_pointer_set(ck, eb); + elm_box_pack_end(bx, ck); + evas_object_show(ck); + + ck = elm_check_add(win); + elm_object_text_set(ck, Check State Pointer Value); + elm_box_pack_end(bx, ck); + evas_object_show(ck); + evas_object_smart_callback_add(ck, changed, state_changed_cb, NULL); + ic = elm_icon_add(win); snprintf(buf, sizeof(buf), %s/images/logo_small.png, elm_app_data_dir_get()); elm_icon_file_set(ic, buf, NULL); Index: src/bin/test.c === --- src/bin/test.c (revision 68141) +++ src/bin/test.c (working copy) @@ -29,6 +29,7 @@ void test_fileselector_entry(void *data, Evas_Obje void test_toggle(void *data, Evas_Object *obj, void *event_info); void test_clock(void *data, Evas_Object *obj, void *event_info); void test_clock2(void *data, Evas_Object *obj, void *event_info); +void test_clock3(void *data, Evas_Object *obj, void *event_info); void test_check(void *data, Evas_Object *obj, void *event_info); void test_radio(void *data, Evas_Object *obj, void *event_info); void test_layout(void *data, Evas_Object *obj, void *event_info); @@ -491,6 +492,7 @@ add_tests: ADD_TEST(NULL, Times Dates, Calendar 2, test_calendar2); ADD_TEST(NULL, Times Dates, Clock, test_clock); ADD_TEST(NULL, Times Dates, Clock 2, test_clock2); + ADD_TEST(NULL, Times Dates, Clock 3, test_clock3); //--// ADD_TEST(NULL, Text, Anchorview, test_anchorview); Index: src/bin/test_clock.c === --- src/bin/test_clock.c (revision 68141) +++ src/bin/test_clock.c (working copy) @@ -145,4 +145,55 @@ test_clock2(void *data __UNUSED__, Evas_Object *ob evas_object_show(win); } +void +test_clock3(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) +{ + Evas_Object *win, *bg, *bx, *ck, *lb; + + win = elm_win_add(NULL, clock3, ELM_WIN_BASIC); + elm_win_title_set(win, Clock 3); + elm_win_autodel_set(win, EINA_TRUE); + + bg = elm_bg_add(win); + elm_win_resize_object_add(win, bg); + evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_show(bg); + + bx = elm_box_add(win); + evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(win, bx); + evas_object_show(bx); + + lb = elm_label_add(win); + elm_object_text_set(lb, + Check time updates for an user mouse button hold. + ); + evas_object_size_hint_weight_set(lb, 0.0, 0.0); + evas_object_size_hint_align_set(lb, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_box_pack_end(bx, lb); + evas_object_show(lb); + + ck = elm_clock_add(win); + elm_clock_show_seconds_set(ck, 1); + elm_clock_edit_set(ck, EINA_TRUE); + elm_clock_interval_set(ck, 0.4); + elm_box_pack_end(bx, ck); + evas_object_show(ck); + + ck = elm_clock_add(win); + elm_clock_show_seconds_set(ck, 1); + elm_clock_edit_set(ck, EINA_TRUE); + elm_clock_interval_set(ck, 1.2); + elm_box_pack_end(bx, ck); + evas_object_show(ck); + + ck = elm_clock_add(win); + elm_clock_show_seconds_set(ck, 1); + elm_clock_edit_set(ck, EINA_TRUE); + elm_clock_interval_set(ck, 2.0); + elm_box_pack_end(bx, ck); + evas_object_show(ck); + + evas_object_show(win); +} #endif -- Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now!
[E-devel] [Patch][elementary_test] test_actionslider, test_bg, test_box
Dear All, Hello~ As you guess, the patch is for the elementary_test. Please review the patch and give any feedbacks. The test_actionslider patch is mainly for elm_actionslider_xxx_get() APIs. It would not be a good idea to add test code for such APIs. So I have planed to add test code except elm_xxx_get() APIs Sincerely, Shinwoo Kim. Index: src/bin/test_actionslider.c === --- src/bin/test_actionslider.c (revision 67888) +++ src/bin/test_actionslider.c (working copy) @@ -6,8 +6,68 @@ static void _pos_selected_cb(void *data __UNUSED__, Evas_Object *obj, void *event_info) { + Elm_Actionslider_Pos ipos, mpos, epos; + printf(Selection: %s\n, (char *)event_info); printf(Label selected: %s\n, elm_actionslider_selected_label_get(obj)); + + ipos = elm_actionslider_indicator_pos_get(obj); + + switch(ipos) + { + case ELM_ACTIONSLIDER_NONE: + printf(actionslider indicator pos: none!\n); + break; + case ELM_ACTIONSLIDER_LEFT: + printf(actionslider indicator pos: left!\n); + break; + case ELM_ACTIONSLIDER_CENTER: + printf(actionslider indicator pos: center!\n); + break; + case ELM_ACTIONSLIDER_RIGHT: + printf(actionslider indicator pos: right!\n); + break; + case ELM_ACTIONSLIDER_ALL: + printf(actionslider indicator pos: all!\n); + break; + } + + mpos = elm_actionslider_magnet_pos_get(obj); + + switch(mpos) + { + case ELM_ACTIONSLIDER_NONE: + printf(actionslider magnet pos: none!\n); + break; + case ELM_ACTIONSLIDER_LEFT: + printf(actionslider magnet pos: left!\n); + break; + case ELM_ACTIONSLIDER_CENTER: + printf(actionslider magnet pos: center!\n); + break; + case ELM_ACTIONSLIDER_RIGHT: + printf(actionslider magnet pos: right!\n); + break; + case ELM_ACTIONSLIDER_ALL: + printf(actionslider magnet pos: all!\n); + break; + } + + epos = elm_actionslider_enabled_pos_get(obj); + + switch(epos) + { + case ELM_ACTIONSLIDER_ALL: + printf(actionslider enabled pos: all!\n); + break; + default: + if (epos ELM_ACTIONSLIDER_LEFT) +printf(actionslider enabled pos: left!\n); + if (epos ELM_ACTIONSLIDER_CENTER) +printf(actionslider enabled pos: center!\n); + if (epos ELM_ACTIONSLIDER_RIGHT) +printf(actionslider enabled pos: right!\n); + } } static void Index: src/bin/test_bg.c === --- src/bin/test_bg.c (revision 67888) +++ src/bin/test_bg.c (working copy) @@ -5,6 +5,15 @@ #ifndef ELM_LIB_QUICKLAUNCH static void +_cb_size_radio_changed(void *data, Evas_Object *obj, void *event __UNUSED__) +{ + Evas_Object *o_bg = data; + int size; + size = elm_radio_value_get((Evas_Object *)obj); + elm_bg_load_size_set(o_bg, size, size); +} + +static void _cb_radio_changed(void *data, Evas_Object *obj, void *event __UNUSED__) { Evas_Object *o_bg = data; @@ -83,6 +92,8 @@ void test_bg_image(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { Evas_Object *win, *bg; + Evas_Object *box, *hbox, *o_bg; + Evas_Object *rd, *rdg; char buf[PATH_MAX]; win = elm_win_add(NULL, bg-image, ELM_WIN_BASIC); @@ -90,12 +101,60 @@ test_bg_image(void *data __UNUSED__, Evas_Object * elm_win_autodel_set(win, EINA_TRUE); bg = elm_bg_add(win); - snprintf(buf, sizeof(buf), %s/images/plant_01.jpg, elm_app_data_dir_get()); - elm_bg_file_set(bg, buf, NULL); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bg); evas_object_show(bg); + box = elm_box_add(win); + evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(win, box); + evas_object_show(box); + + o_bg = elm_bg_add(win); + snprintf(buf, sizeof(buf), %s/images/plant_01.jpg, elm_app_data_dir_get()); + elm_bg_file_set(o_bg, buf, NULL); + evas_object_size_hint_weight_set(o_bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(o_bg, EVAS_HINT_FILL, EVAS_HINT_FILL); + elm_box_pack_end(box, o_bg); + + hbox = elm_box_add(win); + elm_box_horizontal_set(hbox, EINA_TRUE); + evas_object_size_hint_weight_set(hbox, EVAS_HINT_EXPAND, EVAS_HINT_FILL); + evas_object_size_hint_align_set(hbox, EVAS_HINT_FILL, EVAS_HINT_FILL); + + rd = elm_radio_add(win); + elm_radio_state_value_set(rd, 50); + elm_object_text_set(rd, 50 x 50); + evas_object_size_hint_weight_set(rd, EVAS_HINT_EXPAND, EVAS_HINT_FILL); + evas_object_smart_callback_add(rd, changed, _cb_size_radio_changed, o_bg); + elm_box_pack_end(hbox, rd); + evas_object_show(rd); + rdg = rd; + + rd = elm_radio_add(win); + elm_radio_state_value_set(rd, 100); + elm_radio_group_add(rd, rdg); +
[E-devel] [Patch] eina_inline_lock_win32
Hello All. I have got a build error as following. ../../src/include/eina_inline_lock_win32.x:496:30: error: 'ev' undeclared (first use in this function) So I have changed ev-shared-lock to *sem. That's all. Please review the patch. Sincerely, Shinwoo Kim. Index: src/include/eina_inline_lock_win32.x === --- src/include/eina_inline_lock_win32.x (revision 67292) +++ src/include/eina_inline_lock_win32.x (working copy) @@ -493,7 +493,7 @@ eina_semaphore_lock(Eina_Semaphore *sem) if (!sem) return EINA_FALSE; - res = WaitForSingleObject(ev-shared-lock, 0L); + res = WaitForSingleObject(*sem, 0L); if (res == WAIT_OBJECT_0) return EINA_TRUE; -- Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][Notify] Remove Unnecessary Code
Dear All, Hello~ I have attached a patch for removing unnecessary code in the elm_notify. There is no swallow area for the parent In the notify.edc also. Even if the removed line is necessary, then it will cause an improper result. So it should be removed definitely and absolutely! Please review this and give any feedbacks. Thank you. Sincerely, Shinwoo Kim. Index: src/lib/elm_notify.c === --- src/lib/elm_notify.c (revision 67011) +++ src/lib/elm_notify.c (working copy) @@ -568,7 +568,6 @@ elm_notify_parent_set(Evas_Object *obj, Evas_Objec _parent_del, obj); evas_object_event_callback_add(parent, EVAS_CALLBACK_HIDE, _parent_hide, obj); -edje_object_part_swallow(wd-notify, elm.swallow.parent, parent); _sizing_eval(obj); } _calc(obj); -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] Removing content resize callback before the ctxpopup is deleted.
Dear All, Hello! Sometimes, widget data is referred after ctxpopup is deleted. So before the ctxpopup is deleted, the content resize callback should be removed. Please review the attached patch. Thanks Sincerely, Shinwoo Kim. Index: src/lib/elc_ctxpopup.c === --- src/lib/elc_ctxpopup.c (revision 66731) +++ src/lib/elc_ctxpopup.c (working copy) @@ -729,6 +729,8 @@ _del_pre_hook(Evas_Object *obj) wd = elm_widget_data_get(obj); if (!wd) return; + evas_object_event_callback_del_full(wd-box, EVAS_CALLBACK_RESIZE, + _content_resize, obj); _parent_cut_off(obj); } -- Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex infrastructure or vast IT resources to deliver seamless, secure access to virtual desktops. With this all-in-one solution, easily deploy virtual desktops for less than the cost of PCs and save 60% on VDI infrastructure costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] elc_ctxpopup, using elm_smart_scroller_freeze_set() not elm_object_scroll_freeze_push(), pop()
Dear All, Hello~ The ctxpopup had used elm_ojbect_scroll_freeze_push(), pop() for the scroll-freeze-on,of callback. If user calls elm_object_scroll_freeze_pop() only after elm_ojbect_scroll_freeze_push(), then it will be fine. But sometimes user calls elm_object_scroll_freeze_pop() two times in a row.. Then you can find there is infinite loop in following.. EAPI void elm_widget_scroll_freeze_pop(Evas_Object *obj) { API_ENTRY return; sd-scroll_freeze--; if (sd-scroll_freeze 0) sd-scroll_freeze = 0; if (!sd-scroll_freeze) evas_object_smart_callback_call(obj, scroll-freeze-off, obj); if (sd-parent_obj) elm_widget_scroll_freeze_pop(sd-parent_obj); } ctxpopup calls elm_widget_scroll_freeze_pop(wd-scr);finally. wd-scr is widget data of ctxpopup. Now the the sd-parent_obj is ctxpopup, next time evas_object_smart_callback_call(obj, scroll-freeze-off, obj); is called again by using ctxpopup as obj. Anyhow, other widgets.. the ctxpopup should use elm_smart_scroller_freeze_set() with an attached patch. Sincerely, Shinwoo Kim. Index: src/lib/elc_ctxpopup.c === --- src/lib/elc_ctxpopup.c (revision 66566) +++ src/lib/elc_ctxpopup.c (working copy) @@ -148,7 +148,7 @@ Widget_Data *wd = elm_widget_data_get(obj); if ((!wd) || (!wd-scr)) return; - elm_object_scroll_freeze_push(wd-scr); + elm_smart_scroller_freeze_set(wd-scr, EINA_TRUE); } static void @@ -158,7 +158,7 @@ Widget_Data *wd = elm_widget_data_get(obj); if ((!wd) || (!wd-scr)) return; - elm_object_scroll_freeze_pop(wd-scr); + elm_smart_scroller_freeze_set(wd-scr, EINA_FALSE); } static void -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] elc_ctxpopup, add restacking feature
Dear All, Hello I have attached two files, one is the patch(*.diff) for adding restacking feature to the ctxpopup. The other is test example(*.TEST_EXAMPLE). You can test on the elementary_test ctxpopup Ctxpopup with user content And click the button which is labeled Enlightenment. Then label will overlap the ctxpopup.. The ctxpopup will raise in a little time. Please review the patch and if there is no problem, please throw the test example away! :-) Sincerely, Shinwoo Kim. ctxpopup_add_restacking_feature.TEST_EXAMPLE Description: Binary data Index: src/lib/elc_ctxpopup.c === --- src/lib/elc_ctxpopup.c (revision 66326) +++ src/lib/elc_ctxpopup.c (working copy) @@ -119,6 +119,7 @@ static void _ctxpopup_move(void *data, Evas *e, Evas_Object *obj, void *event_info); +static void _restack(void *data, Evas *e, Evas_Object *obj, void *event_info); static void _item_select_cb(void *data, Evas_Object *obj, const char *emission, const char *source); @@ -1103,6 +1104,17 @@ _ctxpopup_move(void *data __UNUSED__, Evas *e __UN } static void +_restack(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) +{ + Widget_Data *wd = elm_widget_data_get(obj); + if (!wd) return; + evas_object_layer_set(wd-bg, + evas_object_layer_get(obj)); + evas_object_layer_set(wd-base, + evas_object_layer_get(obj)); +} + +static void _item_select_cb(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__) { @@ -1272,6 +1284,7 @@ elm_ctxpopup_add(Evas_Object *parent) NULL); evas_object_event_callback_add(obj, EVAS_CALLBACK_MOVE, _ctxpopup_move, NULL); + evas_object_event_callback_add(obj, EVAS_CALLBACK_RESTACK, _restack, obj); evas_object_smart_callback_add(obj, scroll-freeze-on, _freeze_on, obj); evas_object_smart_callback_add(obj, scroll-freeze-off, _freeze_off, obj); evas_object_smart_callback_add(obj, scroll-hold-on, _hold_on, obj); -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] elc_ctxpopup: using calculated value, getting size from the style also.
Dear All, Hello! As the title, attached patch has followings. 1) Using Calculated Value: The _update_arrow(); had used evas_object_geometry_get(); internally for getting its base size. But the _calc_base_geometry(); already got the base size which is more accurate. 2) Getting Size From The Style Also: If the ctxpopup has content which is composed using the style (means, the size of content can get from *.edc file only), then ctxpopup does not come properly. So resolving this, the patch is using a box, and add a RESIZE callback to the box. When the box is resized, the callback calls elm_box_recalculate(); Then, please review this patch and give any feedbacks. Thanks a lot. Sincerely, Shinwoo Kim. Index: src/lib/elc_ctxpopup.c === --- src/lib/elc_ctxpopup.c (revision 65885) +++ src/lib/elc_ctxpopup.c (working copy) @@ -64,7 +64,7 @@ static void _adjust_pos_y(Evas_Coord_Point *pos, Evas_Coord_Rectangle *hover_area); static Elm_Ctxpopup_Direction _calc_base_geometry(Evas_Object *obj, Evas_Coord_Rectangle *rect); -static void _update_arrow(Evas_Object *obj, Elm_Ctxpopup_Direction dir); +static void _update_arrow(Evas_Object *obj, Elm_Ctxpopup_Direction dir, Evas_Coord_Rectangle rect); static void _sizing_eval(Evas_Object *obj); static void _shift_base_by_arrow(Evas_Object *arrow, Elm_Ctxpopup_Direction dir, @@ -504,11 +504,10 @@ _calc_base_geometry(Evas_Object *obj, Evas_Coord_R } static void -_update_arrow(Evas_Object *obj, Elm_Ctxpopup_Direction dir) +_update_arrow(Evas_Object *obj, Elm_Ctxpopup_Direction dir, Evas_Coord_Rectangle base_size) { Evas_Coord x, y; Evas_Coord_Rectangle arrow_size; - Evas_Coord_Rectangle base_size; Widget_Data *wd; double drag; @@ -518,8 +517,6 @@ static void evas_object_geometry_get(obj, x, y, NULL, NULL); evas_object_geometry_get(wd-arrow, NULL, NULL, arrow_size.w, arrow_size.h); - evas_object_geometry_get(wd-base, base_size.x, base_size.y, -base_size.w, base_size.h); edje_object_part_unswallow(wd-base, wd-arrow); @@ -677,7 +674,7 @@ _sizing_eval(Evas_Object *obj) //Base wd-dir = _calc_base_geometry(obj, rect); _show_signal_emit(obj, wd-dir); - _update_arrow(obj, wd-dir); + _update_arrow(obj, wd-dir, rect); _shift_base_by_arrow(wd-arrow, wd-dir, rect); //resize scroller according to final size. @@ -1027,6 +1024,19 @@ _ctxpopup_hide(void *data __UNUSED__, Evas *e __UN } static void +_content_resize(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + Widget_Data *wd; + + wd = elm_widget_data_get(data); + if (!wd) return; + + elm_box_recalculate(wd-box); + _sizing_eval(data); +} + +static void _scroller_resize(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__) { @@ -1499,7 +1509,20 @@ elm_ctxpopup_item_disabled_get(const Elm_Object_It EAPI void elm_ctxpopup_content_set(Evas_Object *obj, Evas_Object *content) { - elm_object_content_set(obj, content); + Widget_Data *wd; + wd = elm_widget_data_get(obj); + if (!wd) return; + + wd-box = elm_box_add(obj); + evas_object_size_hint_weight_set(wd-box, EVAS_HINT_EXPAND, +EVAS_HINT_EXPAND); + evas_object_show(content); + + elm_box_pack_end(wd-box, content); + + evas_object_event_callback_add(content, EVAS_CALLBACK_RESIZE, + _content_resize, obj); + elm_object_content_set(obj, wd-box); } EAPI Evas_Object * -- All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][Ecore][Win32] Some Issues
Dear All, Hello~ There are some issues as following 1) Key combination like Ctrl + a, Alt +a does not work properly. 2) event-keyname: should be lower case 3) event-modifiers: should be handled - This is used on the Entry of elementary_test. EX: Ctrl+A should work for selecting all 4) ecore_win32_event_char_get(); is not called when key is released, So, the event ECORE_EVENT_KEY_UP with character does not occur. 5) Tab key does not work properly on the Entry of elementary_test. 6) Improper Null check in _ecore_win32_event_char_get(); It returns 1 always.. Maybe there is a better solution than my patch. 7) VK_PROCESSKY was not handled. When you click button the VK_PROCESSKY comes. I think attached patch would be resolved these issues. Please check the patch and give any feedbacks. Thanks Sincerely, Shinwoo Kim. Index: src/lib/ecore_win32/ecore_win32_private.h === --- src/lib/ecore_win32/ecore_win32_private.h (revision 65535) +++ src/lib/ecore_win32/ecore_win32_private.h (working copy) @@ -135,7 +135,7 @@ extern Ecore_Win32_Window *_ecore_win32_event_last void _ecore_win32_event_handle_key_press(Ecore_Win32_Callback_Data *msg, int is_keystroke); -void _ecore_win32_event_handle_key_release(Ecore_Win32_Callback_Data *msg, int is_keystroke); +void _ecore_win32_event_handle_key_release(Ecore_Win32_Callback_Data *msg); void _ecore_win32_event_handle_button_press(Ecore_Win32_Callback_Data *msg, int button); void _ecore_win32_event_handle_button_release(Ecore_Win32_Callback_Data *msg, int button); void _ecore_win32_event_handle_motion_notify(Ecore_Win32_Callback_Data *msg); Index: src/lib/ecore_win32/ecore_win32.c === --- src/lib/ecore_win32/ecore_win32.c (revision 65535) +++ src/lib/ecore_win32/ecore_win32.c (working copy) @@ -88,13 +88,14 @@ _ecore_win32_window_procedure(HWND window, _ecore_win32_event_handle_key_press(data, 1); return 0; case WM_CHAR: + case WM_SYSCHAR: INF(char message); _ecore_win32_event_handle_key_press(data, 0); return 0; case WM_KEYUP: case WM_SYSKEYUP: INF(keyup message); - _ecore_win32_event_handle_key_release(data, 1); + _ecore_win32_event_handle_key_release(data); return 0; case WM_SETFOCUS: INF(setfocus message); Index: src/lib/ecore_win32/ecore_win32_event.c === --- src/lib/ecore_win32/ecore_win32_event.c (revision 65535) +++ src/lib/ecore_win32/ecore_win32_event.c (working copy) @@ -4,6 +4,7 @@ #include stdlib.h #include stdio.h /* for printf */ +#include ctype.h /* for tolower */ #define WIN32_LEAN_AND_MEAN #include windows.h @@ -107,12 +108,19 @@ _ecore_win32_event_handle_key_press(Ecore_Win32_Ca _ecore_win32_event_last_time = e-timestamp; + SHORT res; + res = GetKeyState(VK_SHIFT); + if (res 0x8000) e-modifiers = 1; + res = GetKeyState(VK_CONTROL); + if (res 0x8000) e-modifiers = 2; + res = GetKeyState(VK_MENU); + if (res 0x8000) e-modifiers = 4; + ecore_event_add(ECORE_EVENT_KEY_DOWN, e, _ecore_win32_event_free_key_down, NULL); } void -_ecore_win32_event_handle_key_release(Ecore_Win32_Callback_Data *msg, - intis_keystroke) +_ecore_win32_event_handle_key_release(Ecore_Win32_Callback_Data *msg) { Ecore_Event_Key *e; @@ -121,22 +129,14 @@ void e = (Ecore_Event_Key *)calloc(1, sizeof(Ecore_Event_Key)); if (!e) return; - if (is_keystroke) + if (!_ecore_win32_event_keystroke_get(LOWORD(msg-window_param), + msg-data_param 0x0100, + EINA_FALSE, + (char **)e-keyname, + (char **)e-key, + (char **)e-string)) { -if (!_ecore_win32_event_keystroke_get(LOWORD(msg-window_param), - msg-data_param 0x0100, - EINA_FALSE, - (char **)e-keyname, - (char **)e-key, - (char **)e-string)) - { - free(e); - return; - } - } - else - { -if (!_ecore_win32_event_char_get(LOWORD(msg-window_param), +if(!_ecore_win32_event_char_get(LOWORD(msg-window_param), (char **)e-keyname, (char **)e-key, (char **)e-string)) @@ -157,7 +157,16 @@ void _ecore_win32_event_last_time = e-timestamp; + SHORT res; + res = GetKeyState(VK_SHIFT); + if (res 0x8000) e-modifiers = 1; + res = GetKeyState(VK_CONTROL); + if (res 0x8000) e-modifiers = 2; + res = GetKeyState(VK_MENU); + if (res 0x8000) e-modifiers = 4; +
Re: [E-devel] [Patch] evas_ojbect_textblock, ellipsis handling
Dear Mr. Tom, The issue comes again with different example. So I have attached previous patch for resolving. (Actually I have made from the latest version) c-wmax would be ellipsis calculated width c-w would be Edje_Real_Part-req.w I think.. c-w should be bigger than c-wmax. (It is strange semantically.. ;-]) Anyhow sometimes c-wmax is bigger than c-w. so edje_object_size_min_restricted_calc() takes loop again. (tb_mw: 406, ep-req.w: 395, the difference 11.. then 363 times) As before, If this patch is reasonable, please take it before we find more proper way. Sincerely, Shinwoo Kim. 2011년 8월 18일 오후 2:40, Tom Hacohen t...@stosb.com님의 말: On 18/08/11 08:09, cnook wrote: Dear Mr. Tom, I have checked with latest evas (evas_object_textblock, and some dependent files evas_font_dir and so on) The problem never comes again. Thanks. Glad to hear. :) -- Tom. Index: src/lib/canvas/evas_object_textblock.c === --- src/lib/canvas/evas_object_textblock.c (revision 65482) +++ src/lib/canvas/evas_object_textblock.c (working copy) @@ -3486,6 +3486,7 @@ _layout_handle_ellipsis(Ctxt *c, Evas_Object_Textb eina_inlist_append(EINA_INLIST_GET(c-ln-items), EINA_INLIST_GET(_ITEM(ellip_ti))); _layout_line_finalize(c, ellip_ti-parent.format); + if (c-w c-wmax) c-wmax = c-w; } #ifdef BIDI_SUPPORT -- All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-novd2d___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][Ecore][Win32] Resolving the issue of mouse-down inside and mouse-up outside
Dear All, Hello~ I think you (especially Mr. Vincent, Raster) know this issue. If user mouse-down on the one of items in elementary_test, move(drag) the mouse to the outside of window, and mouse-up, Then.. it works improperly.. For example.. You can scroll the list of elementary_test without mouse-down. The attached patch will resolve this issue. Please review the patch and give any feedbacks. Thanks. Sincerely, Shinwoo Kim. Index: src/lib/ecore_win32/ecore_win32.c === --- src/lib/ecore_win32/ecore_win32.c (revision 65287) +++ src/lib/ecore_win32/ecore_win32.c (working copy) @@ -107,6 +107,7 @@ /* Mouse input notifications */ case WM_LBUTTONDOWN: INF(left button down message); + SetCapture(window); _ecore_win32_event_handle_button_press(data, 1); return 0; case WM_MBUTTONDOWN: @@ -119,6 +120,7 @@ return 0; case WM_LBUTTONUP: { + ReleaseCapture(); Ecore_Win32_Window *w = NULL; INF(left button up message); @@ -126,7 +128,6 @@ w = (Ecore_Win32_Window *)GetWindowLongPtr(window, GWLP_USERDATA); if (w-drag.dragging) { - ReleaseCapture(); w-drag.dragging = 0; return 0; } Index: src/lib/ecore_win32/ecore_win32_event.c === --- src/lib/ecore_win32/ecore_win32_event.c (revision 65287) +++ src/lib/ecore_win32/ecore_win32_event.c (working copy) @@ -47,6 +47,13 @@ /* Global functions definitions */ +static void +_ecore_win32_event_free_mouse_move(void *data __UNUSED__, void *ev) +{ + Ecore_Event_Mouse_Move *e; + e = ev; + free(e); +} void _ecore_win32_event_handle_key_press(Ecore_Win32_Callback_Data *msg, @@ -332,7 +339,7 @@ e-y = GET_Y_LPARAM(msg-data_param); e-timestamp = msg-time; - ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL); + ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, _ecore_win32_event_free_mouse_move, NULL); } void @@ -395,7 +402,7 @@ _ecore_win32_event_last_time = e-timestamp; _ecore_win32_event_last_window = (Ecore_Win32_Window *)e-window; - ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, NULL, NULL); + ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, _ecore_win32_event_free_mouse_move, NULL); } { -- RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][Ecore][Win32] Add some window messages and virtual keys for Shift, Ctrl, Alt
Dear All(maybe not All but Mr. Vincent 8-] ), Hello~ I have attached patch as subject of this mail. That's all. Please check the patch and let me know your opinions. Thanks always. Shinwoo Kim. Index: src/lib/ecore_win32/ecore_win32.c === --- src/lib/ecore_win32/ecore_win32.c (revision 64980) +++ src/lib/ecore_win32/ecore_win32.c (working copy) @@ -82,6 +82,10 @@ _ecore_win32_window_procedure(HWND window, switch (data-message) { /* Keyboard input notifications */ + case WM_SYSKEYDOWN: + INF(syskeydown message); + _ecore_win32_event_handle_key_press(data, 1); + return 0; case WM_KEYDOWN: INF(keydown message); _ecore_win32_event_handle_key_press(data, 1); @@ -90,6 +94,10 @@ _ecore_win32_window_procedure(HWND window, INF(char message); _ecore_win32_event_handle_key_press(data, 0); return 0; + case WM_SYSKEYUP: + INF(syskeyup message); + _ecore_win32_event_handle_key_release(data, 1); + return 0; case WM_KEYUP: INF(keyup message); _ecore_win32_event_handle_key_release(data, 1); Index: src/lib/ecore_win32/ecore_win32_event.c === --- src/lib/ecore_win32/ecore_win32_event.c (revision 64980) +++ src/lib/ecore_win32/ecore_win32_event.c (working copy) @@ -798,6 +798,21 @@ _ecore_win32_event_keystroke_get(intkey, kc = KP_Delete; } break; + case VK_SHIFT: + kn = Shift; + ks = Shift; + kc = Shift; + break; + case VK_CONTROL: + kn = Control; + ks = Control; + kc = Control; + break; + case VK_MENU: + kn = Menu; + ks = Menu; + kc = Menu; + break; case VK_F1: kn = F1; ks = F1; -- RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] Fwd: [Patch][Ecore][Win32][Wince] Add some window messages and virtual keys for Shift, Ctrl, Alt
Sorry I overlooked wince again. Jihoon Kim who is having eagle eyes told me. Thanks! TGIF!! -- Forwarded message -- From: cnook kimci...@gmail.com Date: 2011/11/11 Subject: [Patch][Ecore][Win32] Add some window messages and virtual keys for Shift,Ctrl,Alt To: EFL enlightenment-devel@lists.sourceforge.net Dear All(maybe not All but Mr. Vincent 8-] ), Hello~ I have attached patch as subject of this mail. That's all. Please check the patch and let me know your opinions. Thanks always. Shinwoo Kim. Index: src/lib/ecore_win32/ecore_win32.c === --- src/lib/ecore_win32/ecore_win32.c (revision 64980) +++ src/lib/ecore_win32/ecore_win32.c (working copy) @@ -83,6 +83,7 @@ _ecore_win32_window_procedure(HWND window, { /* Keyboard input notifications */ case WM_KEYDOWN: + case WM_SYSKEYDOWN: INF(keydown message); _ecore_win32_event_handle_key_press(data, 1); return 0; @@ -91,6 +92,7 @@ _ecore_win32_window_procedure(HWND window, _ecore_win32_event_handle_key_press(data, 0); return 0; case WM_KEYUP: + case WM_SYSKEYUP: INF(keyup message); _ecore_win32_event_handle_key_release(data, 1); return 0; Index: src/lib/ecore_win32/ecore_win32_event.c === --- src/lib/ecore_win32/ecore_win32_event.c (revision 64980) +++ src/lib/ecore_win32/ecore_win32_event.c (working copy) @@ -798,6 +798,21 @@ _ecore_win32_event_keystroke_get(intkey, kc = KP_Delete; } break; + case VK_SHIFT: + kn = Shift; + ks = Shift; + kc = Shift; + break; + case VK_CONTROL: + kn = Control; + ks = Control; + kc = Control; + break; + case VK_MENU: + kn = Menu; + ks = Menu; + kc = Menu; + break; case VK_F1: kn = F1; ks = F1; Index: src/lib/ecore_wince/ecore_wince_event.c === --- src/lib/ecore_wince/ecore_wince_event.c (revision 64980) +++ src/lib/ecore_wince/ecore_wince_event.c (working copy) @@ -251,6 +251,16 @@ _ecore_wince_event_keystroke_get(intkey, ks = Application; kc = ; break; + case VK_SHIFT: + kn = Shift; + ks = Shift; + kc = Shift; + break; + case VK_CONTROL: + kn = Control; + ks = Control; + kc = Control; + break; case VK_MENU: kn = Menu; ks = Menu; -- RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] ecore_evas_win32, window focus-in/out event callback
Dear All, Hello~ There were unimplemented callback for window focus in/out event on Win32. I have added these two callbacks. Please review the attached patch. Sincerely, Shinwoo Kim. Index: src/lib/ecore_evas/ecore_evas_win32.c === --- src/lib/ecore_evas/ecore_evas_win32.c (revision 64980) +++ src/lib/ecore_evas/ecore_evas_win32.c (working copy) @@ -29,6 +29,10 @@ static Eina_Bool _ecore_evas_win32_event_mouse_in( static Eina_Bool _ecore_evas_win32_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event); +static Eina_Bool _ecore_evas_win32_event_window_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event); + +static Eina_Bool _ecore_evas_win32_event_window_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event); + static Eina_Bool _ecore_evas_win32_event_window_damage(void *data __UNUSED__, int type __UNUSED__, void *event); static Eina_Bool _ecore_evas_win32_event_window_destroy(void *data __UNUSED__, int type __UNUSED__, void *event); @@ -96,12 +100,14 @@ _ecore_evas_win32_init(void) ecore_evas_event_handlers[0] = ecore_event_handler_add(ECORE_WIN32_EVENT_MOUSE_IN, _ecore_evas_win32_event_mouse_in, NULL); ecore_evas_event_handlers[1] = ecore_event_handler_add(ECORE_WIN32_EVENT_MOUSE_OUT, _ecore_evas_win32_event_mouse_out, NULL); - ecore_evas_event_handlers[2] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DAMAGE, _ecore_evas_win32_event_window_damage, NULL); - ecore_evas_event_handlers[3] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DESTROY, _ecore_evas_win32_event_window_destroy, NULL); - ecore_evas_event_handlers[4] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_SHOW, _ecore_evas_win32_event_window_show, NULL); - ecore_evas_event_handlers[5] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_HIDE, _ecore_evas_win32_event_window_hide, NULL); - ecore_evas_event_handlers[6] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_CONFIGURE, _ecore_evas_win32_event_window_configure, NULL); - ecore_evas_event_handlers[7] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DELETE_REQUEST, _ecore_evas_win32_event_window_delete_request, NULL); + ecore_evas_event_handlers[2] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_FOCUS_IN, _ecore_evas_win32_event_window_focus_in, NULL); + ecore_evas_event_handlers[3] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_FOCUS_OUT, _ecore_evas_win32_event_window_focus_out, NULL); + ecore_evas_event_handlers[4] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DAMAGE, _ecore_evas_win32_event_window_damage, NULL); + ecore_evas_event_handlers[5] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DESTROY, _ecore_evas_win32_event_window_destroy, NULL); + ecore_evas_event_handlers[6] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_SHOW, _ecore_evas_win32_event_window_show, NULL); + ecore_evas_event_handlers[7] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_HIDE, _ecore_evas_win32_event_window_hide, NULL); + ecore_evas_event_handlers[8] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_CONFIGURE, _ecore_evas_win32_event_window_configure, NULL); + ecore_evas_event_handlers[9] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DELETE_REQUEST, _ecore_evas_win32_event_window_delete_request, NULL); ecore_event_evas_init(); return _ecore_evas_init_count; @@ -173,6 +179,40 @@ _ecore_evas_win32_event_mouse_out(void *data __UNU } static Eina_Bool +_ecore_evas_win32_event_window_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event) +{ + Ecore_Evas *ee; + Ecore_Win32_Event_Window_Focus_In *e; + + e = event; + ee = ecore_event_window_match(e-window); + if ((!ee) || (ee-ignore_events)) return ECORE_CALLBACK_PASS_ON; + if (e-window != ee-prop.window) return ECORE_CALLBACK_PASS_ON; + + ee-prop.focused = 1; + evas_focus_in(ee-evas); + if (ee-func.fn_focus_in) ee-func.fn_focus_in(ee); + return ECORE_CALLBACK_PASS_ON; +} + +static Eina_Bool +_ecore_evas_win32_event_window_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event) +{ + Ecore_Evas *ee; + Ecore_Win32_Event_Window_Focus_Out *e; + + e = event; + ee = ecore_event_window_match(e-window); + if ((!ee) || (ee-ignore_events)) return ECORE_CALLBACK_PASS_ON; + if (e-window != ee-prop.window) return ECORE_CALLBACK_PASS_ON; + + evas_focus_out(ee-evas); + ee-prop.focused = 0; + if (ee-func.fn_focus_out) ee-func.fn_focus_out(ee); + return ECORE_CALLBACK_PASS_ON; +} + +static Eina_Bool _ecore_evas_win32_event_window_damage(void *data __UNUSED__, int type __UNUSED__, void *event) { Ecore_Evas *ee; -- RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1___ enlightenment-devel mailing list
Re: [E-devel] [Patch] ecore_evas_win32, window focus-in/out event callback
Dear Mr. Vincent Torri, Hi~ I have attached refined patch based on your comments include wince related also. Thanks a lot! Sincerely, Shinwoo Kim. 2011/11/9 cnook kimci...@gmail.com: Dear All, Hello~ There were unimplemented callback for window focus in/out event on Win32. I have added these two callbacks. Please review the attached patch. Sincerely, Shinwoo Kim. Index: src/lib/ecore_evas/ecore_evas_win32.c === --- src/lib/ecore_evas/ecore_evas_win32.c (revision 64980) +++ src/lib/ecore_evas/ecore_evas_win32.c (working copy) @@ -19,7 +19,7 @@ #ifdef BUILD_ECORE_EVAS_WIN32 -#define ECORE_EVAS_EVENT_COUNT 8 +#define ECORE_EVAS_EVENT_COUNT 10 static int _ecore_evas_init_count = 0; @@ -29,6 +29,10 @@ static Eina_Bool _ecore_evas_win32_event_mouse_in( static Eina_Bool _ecore_evas_win32_event_mouse_out(void *data __UNUSED__, int type __UNUSED__, void *event); +static Eina_Bool _ecore_evas_win32_event_window_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event); + +static Eina_Bool _ecore_evas_win32_event_window_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event); + static Eina_Bool _ecore_evas_win32_event_window_damage(void *data __UNUSED__, int type __UNUSED__, void *event); static Eina_Bool _ecore_evas_win32_event_window_destroy(void *data __UNUSED__, int type __UNUSED__, void *event); @@ -96,12 +100,14 @@ _ecore_evas_win32_init(void) ecore_evas_event_handlers[0] = ecore_event_handler_add(ECORE_WIN32_EVENT_MOUSE_IN, _ecore_evas_win32_event_mouse_in, NULL); ecore_evas_event_handlers[1] = ecore_event_handler_add(ECORE_WIN32_EVENT_MOUSE_OUT, _ecore_evas_win32_event_mouse_out, NULL); - ecore_evas_event_handlers[2] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DAMAGE, _ecore_evas_win32_event_window_damage, NULL); - ecore_evas_event_handlers[3] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DESTROY, _ecore_evas_win32_event_window_destroy, NULL); - ecore_evas_event_handlers[4] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_SHOW, _ecore_evas_win32_event_window_show, NULL); - ecore_evas_event_handlers[5] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_HIDE, _ecore_evas_win32_event_window_hide, NULL); - ecore_evas_event_handlers[6] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_CONFIGURE, _ecore_evas_win32_event_window_configure, NULL); - ecore_evas_event_handlers[7] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DELETE_REQUEST, _ecore_evas_win32_event_window_delete_request, NULL); + ecore_evas_event_handlers[2] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_FOCUS_IN, _ecore_evas_win32_event_window_focus_in, NULL); + ecore_evas_event_handlers[3] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_FOCUS_OUT, _ecore_evas_win32_event_window_focus_out, NULL); + ecore_evas_event_handlers[4] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DAMAGE, _ecore_evas_win32_event_window_damage, NULL); + ecore_evas_event_handlers[5] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DESTROY, _ecore_evas_win32_event_window_destroy, NULL); + ecore_evas_event_handlers[6] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_SHOW, _ecore_evas_win32_event_window_show, NULL); + ecore_evas_event_handlers[7] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_HIDE, _ecore_evas_win32_event_window_hide, NULL); + ecore_evas_event_handlers[8] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_CONFIGURE, _ecore_evas_win32_event_window_configure, NULL); + ecore_evas_event_handlers[9] = ecore_event_handler_add(ECORE_WIN32_EVENT_WINDOW_DELETE_REQUEST, _ecore_evas_win32_event_window_delete_request, NULL); ecore_event_evas_init(); return _ecore_evas_init_count; @@ -173,6 +179,40 @@ _ecore_evas_win32_event_mouse_out(void *data __UNU } static Eina_Bool +_ecore_evas_win32_event_window_focus_in(void *data __UNUSED__, int type __UNUSED__, void *event) +{ + Ecore_Evas *ee; + Ecore_Win32_Event_Window_Focus_In *e; + + e = event; + ee = ecore_event_window_match(e-window); + if ((!ee) || (ee-ignore_events)) return ECORE_CALLBACK_PASS_ON; + if (e-window != ee-prop.window) return ECORE_CALLBACK_PASS_ON; + + ee-prop.focused = 1; + evas_focus_in(ee-evas); + if (ee-func.fn_focus_in) ee-func.fn_focus_in(ee); + return ECORE_CALLBACK_PASS_ON; +} + +static Eina_Bool +_ecore_evas_win32_event_window_focus_out(void *data __UNUSED__, int type __UNUSED__, void *event) +{ + Ecore_Evas *ee; + Ecore_Win32_Event_Window_Focus_Out *e; + + e = event; + ee = ecore_event_window_match(e-window); + if ((!ee) || (ee-ignore_events)) return ECORE_CALLBACK_PASS_ON; + if (e-window != ee-prop.window) return ECORE_CALLBACK_PASS_ON; + + evas_focus_out(ee-evas); + ee-prop.focused = 0; + if (ee-func.fn_focus_out) ee-func.fn_focus_out(ee); + return ECORE_CALLBACK_PASS_ON; +} + +static Eina_Bool _ecore_evas_win32_event_window_damage(void *data
[E-devel] [Build on Windows] edje_cc problem
Dear All, Hello! When I tried to make install for elementary, some errors occurred as following C:\MinGW\msys\1.0\local\share/edje/include/edje.inc(166) : error 070: rational number support was not enabled ... C:/Users/???/AppData/Local/Temp/edje_cc.sma-tmp-Q1Jpia(31) : error 017: undefined symbol round ... C:/Users/???/AppData/Local/Temp/edje_cc.sma-tmp-Q1Jpia(75) : error 017: undefined symbol getarg If you have any idea, please let me know. Thanks always. Sincerely, Shinwoo Kim. -- RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Question][elementary] notify related
Dear All, Hello~ I have a query on the notify. There are 9 modes for notify (BOTTOM, CENTER, TOP, LEFT/RIGHT for Each). Anyhow, if user use BOTTOM and set content of notify bigger than its parent, then notify gets its size bigger than parent. It is fine, but.. Sometimes user want to make notify size smaller (or equal) than parent size. So, I want to ask, Can I make three more MODEs.. BOTTOM_FIT, CENTER_FIT, TOP_FIT! Please let me your Opinion. Thanks always! -- RSA#174; Conference 2012 Save $700 by Nov 18 Register now#33; http://p.sf.net/sfu/rsa-sfdev2dev1 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] elm_diskselector, using parent width
Hello, This patch will make elm_diskselector to use its parent width for its minimum width value. Please review the attached patch. Sincerely, Shinwoo Kim Index: src/lib/elm_diskselector.c === --- src/lib/elm_diskselector.c (revision 64194) +++ src/lib/elm_diskselector.c (working copy) @@ -169,7 +169,12 @@ _theme_data_get(Widget_Data *wd) str = edje_object_data_get(wd-right_blank, min_width); if (str) wd-minw = MAX(-1, atoi(str)); - else wd-minw = -1; + else + { +parent = elm_widget_parent_widget_get(wd-self); +if (!parent) wd-minw = -1; +else evas_object_geometry_get(parent, NULL, NULL, wd-minw, NULL); + } str = edje_object_data_get(wd-right_blank, min_height); if (str) wd-minh = MAX(-1, atoi(str)); -- The demand for IT networking professionals continues to grow, and the demand for specialized networking skills is growing even more rapidly. Take a complimentary Learning@Ciosco Self-Assessment and learn about Cisco certifications, training, and career opportunities. http://p.sf.net/sfu/cisco-dev2dev___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] elc_ctxpopup, arrow direction problem.
Dear All, Hello. The arrow of ctxpopup is swallowed in one of 4 swallow parts(left, right, top, bottom) of base group. If user REuses ctxpopup which is already displayed with different direction, then the arrow will be swallowed in previous position. So the attached patch will unswallow arrow from the base before swallow... Please review the patch and give any feedbacks. Sincerely, Shinwoo Kim. Index: src/lib/elc_ctxpopup.c === --- src/lib/elc_ctxpopup.c (revision 64044) +++ src/lib/elc_ctxpopup.c (working copy) @@ -507,6 +507,9 @@ _update_arrow(Evas_Object *obj, Elm_Ctxpopup_Direc evas_object_geometry_get(wd-base, base_size.x, base_size.y, base_size.w, base_size.h); + // unswallow arrow from base + edje_object_part_unswallow(wd-base, wd-arrow); + switch (dir) { case ELM_CTXPOPUP_DIRECTION_RIGHT: -- All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2d-oct___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] Evil, Configure.ac and Question.
Dear All, Hello! [Patch] The current configure.ac reset $win32-libs. This patch will append additional value without reset. Please review this and give any feedback. [Question] I have got a build error from ecore_con.c as following. undefined reference to: inet_ntop(); In the Evil, inet_ntop() is defined evil_inet_ntop(); means as following #define inet_ntop(x,y,z,s) evil_inet_ntop(x,y,z,s) and ecore_con.c include Evil.h. So I think this is correct.. (inet_ntop() is defined and can be referenced) but I have no idea why the build error comes. Sincerely, Shinwoo Kim. Index: configure.ac === --- configure.ac (revision 63906) +++ configure.ac (working copy) @@ -99,19 +99,18 @@ AC_C___ATTRIBUTE__ win32_cppflags=-DEFL_EVIL_BUILD win32_cflags=-Wall -Wextra -Wshadow -Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls win32_cxxflags= -win32_libs= have_wince=no case $host_os in mingw32ce*) have_wince=yes win32_cppflags=${win32_cppflags} -D_WIN32_WCE=0x0420 -win32_libs=-ltoolhelp +win32_libs=${win32_libs} -ltoolhelp ;; *) have_wince=no win32_cxxflags=-fno-rtti -fno-exceptions win32_cppflags=${win32_cppflags} -D_WIN32_WINNT=0x0501 -DSECURITY_WIN32 -win32_libs=-lpsapi +win32_libs=${win32_libs} -lpsapi ;; esac AC_SUBST([win32_cppflags]) -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2dcopy2___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] elc_ctxpopup, compress item
Dear All, Hi! If the ctxpopup is vertical mode and it has too long text item to display, then the text item is not compressed and the ctxpopup has vertical scrollbar, horizontal scrollbar both. User can scroll both sides and diagonally(?) also. So, the attached patch will compress text item, when the text item is too long to display. Please review this patch and give any feedback. Thanks. Sincerely, Shinwoo Kim. Index: src/lib/elc_ctxpopup.c === --- src/lib/elc_ctxpopup.c (revision 63873) +++ src/lib/elc_ctxpopup.c (working copy) @@ -1,6 +1,5 @@ #include Elementary.h #include elm_priv.h - typedef struct _Widget_Data Widget_Data; typedef struct _Elm_Ctxpopup_Item Elm_Ctxpopup_Item; @@ -25,10 +24,11 @@ struct _Widget_Data Eina_List *items; Elm_Ctxpopup_Direction dir; Elm_Ctxpopup_Direction dir_priority[4]; - Evas_Coord max_sc_w, max_sc_h; + Evas_Coord max_sc_w, max_sc_h, compress_size; Eina_Bool horizontal:1; Eina_Bool visible:1; Eina_Bool finished:1; + Eina_Bool compress:1; }; static const char *widtype = NULL; @@ -236,6 +236,7 @@ _parent_resize(void *data, if (!wd) return; wd-dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN; + wd-compress = EINA_FALSE; _hide(data); } @@ -251,6 +252,7 @@ _parent_move(void *data, if (!wd) return; wd-dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN; + wd-compress = EINA_FALSE; if (wd-visible) { @@ -600,6 +602,23 @@ _show_signal_emit(Evas_Object *obj, Elm_Ctxpopup_D } static void +_compress_item(Evas_Object *obj) +{ + Widget_Data *wd; + Eina_List *elist; + Elm_Ctxpopup_Item *item; + + wd = elm_widget_data_get(obj); + if (!wd) return; + + EINA_LIST_FOREACH(wd-items, elist, item) + { + _elm_theme_object_set(obj, item-base.view, ctxpopup, item_compress, elm_widget_style_get(obj)); + edje_object_part_text_set(item-base.view, elm.text, item-label); + } +} + +static void _sizing_eval(Evas_Object *obj) { Widget_Data *wd; @@ -635,12 +654,28 @@ _sizing_eval(Evas_Object *obj) if (!wd-content) { -evas_object_size_hint_min_set(wd-box, box_size.x, box_size.y); -evas_object_size_hint_min_set(wd-scr, box_size.x, box_size.y); +if(!wd-horizontal wd-compress) + { + evas_object_size_hint_min_set(wd-box, wd-compress_size, box_size.y); + evas_object_size_hint_min_set(wd-scr, wd-compress_size, box_size.y); + } +else + { + evas_object_size_hint_min_set(wd-box, box_size.x, box_size.y); + evas_object_size_hint_min_set(wd-scr, box_size.x, box_size.y); + } } //Base wd-dir = _calc_base_geometry(obj, rect); + + if (!wd-horizontal box_size.x rect.w) + { +wd-compress = EINA_TRUE; +wd-compress_size = rect.w; +_compress_item(obj); + } + _show_signal_emit(obj, wd-dir); _update_arrow(obj, wd-dir); _shift_base_by_arrow(wd-arrow, wd-dir, rect); @@ -754,6 +789,7 @@ _theme_hook(Evas_Object *obj) } wd-dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN; + wd-compress = EINA_FALSE; if (wd-visible) { @@ -785,6 +821,7 @@ _content_set_hook(Evas_Object *obj, const char *pa wd-content = content; wd-dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN; + wd-compress = EINA_FALSE; if (wd-visible) _sizing_eval(obj); @@ -1093,6 +1130,7 @@ elm_ctxpopup_add(Evas_Object *parent) wd-dir_priority[2] = ELM_CTXPOPUP_DIRECTION_RIGHT; wd-dir_priority[3] = ELM_CTXPOPUP_DIRECTION_DOWN; wd-dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN; + wd-compress = EINA_FALSE; evas_object_event_callback_add(obj, EVAS_CALLBACK_SHOW, _ctxpopup_show, NULL); @@ -1134,6 +1172,7 @@ elm_ctxpopup_item_icon_set(Elm_Object_Item *it, Ev _item_icon_set(ctxpopup_it, icon); wd-dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN; + wd-compress = EINA_FALSE; if (wd-visible) { @@ -1163,6 +1202,7 @@ elm_ctxpopup_item_label_set(Elm_Object_Item *it, c _item_label_set(ctxpopup_it, label); wd-dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN; + wd-compress = EINA_FALSE; if (wd-visible) { @@ -1235,6 +1275,7 @@ elm_ctxpopup_clear(Evas_Object * obj) _remove_items(wd); _list_del(wd); wd-dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN; + wd-compress = EINA_FALSE; } EAPI void @@ -1264,6 +1305,7 @@ elm_ctxpopup_horizontal_set(Evas_Object *obj, Eina } wd-dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN; + wd-compress = EINA_FALSE; if (wd-visible) _sizing_eval(obj); @@ -1321,6 +1363,7 @@ elm_ctxpopup_item_append(Evas_Object *obj, const c elm_box_pack_end(wd-box, item-base.view); wd-items = eina_list_append(wd-items, item); wd-dir = ELM_CTXPOPUP_DIRECTION_UNKNOWN; + wd-compress = EINA_FALSE; if (wd-visible) { @@ -1352,6 +1395,7 @@ elm_ctxpopup_item_del(Elm_Object_Item *it) wd-items =
Re: [E-devel] [Patch] elm_diskselector, set icon to added item
Please review this patch. Thanks. 2011/9/22 cnook kimci...@gmail.com: Dear All, Hello! If the diskselector is round mode, the scroller of diskselector has additional items for its rounding(carousel) effect. Previously, elm_diskselector_item_icon_set(); did not care about theses additional items. Please review the attached patch that will care. Thanks. Sincerely, Shinwoo Kim. -- All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2dcopy1 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] elm_diskselector, set icon to added item
Dear All, Hello! If the diskselector is round mode, the scroller of diskselector has additional items for its rounding(carousel) effect. Previously, elm_diskselector_item_icon_set(); did not care about theses additional items. Please review the attached patch that will care. Thanks. Sincerely, Shinwoo Kim. Index: src/lib/elm_diskselector.c === --- src/lib/elm_diskselector.c (revision 63533) +++ src/lib/elm_diskselector.c (working copy) @@ -597,7 +597,7 @@ _move_scroller(void *data) { Evas_Object *obj = data; Widget_Data *wd; - Eina_List *l; + Eina_List *list, *l; Elm_Diskselector_Item *dit; Evas_Coord y, w, h; int i; @@ -605,17 +605,26 @@ _move_scroller(void *data) wd = elm_widget_data_get(obj); if (!wd) return EINA_FALSE; - if (wd-round) - i = 1; + if (!wd-round) + { +i = 0; +list = wd-items; + } else - i = 0; + { +i = 1; +list = wd-r_items; + } - EINA_LIST_FOREACH(wd-items, l, dit) + EINA_LIST_FOREACH(list, l, dit) { if (wd-selected_item == dit) - break; + break; i++; } + + if (wd-round) i -= CEIL(wd-display_item_num); + if (!dit) { wd-selected_item = @@ -748,6 +757,73 @@ _round_items_add(Widget_Data *wd) } } +static void +_item_icon_set(Elm_Diskselector_Item *it, Evas_Object *icon) +{ + if (it-icon == icon) return; + if (it-icon) + evas_object_del(it-icon); + it-icon = icon; + if (it-base.view) + { +evas_object_size_hint_min_set(it-icon, 24, 24); +evas_object_size_hint_max_set(it-icon, 40, 40); +edje_object_part_swallow(it-base.view, elm.swallow.icon, it-icon); +evas_object_show(it-icon); +elm_widget_sub_object_add(it-base.widget, it-icon); + } +} + +static void +_check_identical_item(Elm_Diskselector_Item *it, Evas_Object *icon) +{ + Widget_Data *wd; + Elm_Diskselector_Item *dit; + Eina_List *l; + int idx = 0; + int ic = 0; + int ac = 0; + + wd = elm_widget_data_get(it-base.widget); + if (!wd) return; + + if (wd-round) + { +// Get index from indentical item from round items +EINA_LIST_FOREACH(wd-r_items, l, dit) + { + if (it == dit) break; + idx++; + } + +// No item to match +ic = eina_list_count(wd-r_items); +if (idx = ic) return; +dit = NULL; + +// Number of added items: CEIL(wd-display_item_num) +ac = CEIL(wd-display_item_num); + +if (((idx = 0) (idx ac)) || +((idx = ac) (idx (2 * ac + { + // Selected item: under, low region + dit = eina_list_nth(wd-r_items, + idx + ic - (2 * ac)); + } +else if (((idx = (ic - ac)) (idx ic)) || + ((idx = (ic - (2 * ac))) (idx ic - ac))) + { + // Selected item: over, high region + dit = eina_list_nth(wd-r_items, + idx - ic + (2 * ac)); + } + +if(dit) _item_icon_set(dit, icon); +_sizing_eval(wd-self); + } +} + EAPI Evas_Object * elm_diskselector_add(Evas_Object *parent) { @@ -1220,18 +1296,8 @@ EAPI void elm_diskselector_item_icon_set(Elm_Diskselector_Item *it, Evas_Object *icon) { ELM_DISKSELECTOR_ITEM_CHECK_OR_RETURN(it); - if (it-icon == icon) return; - if (it-icon) - evas_object_del(it-icon); - it-icon = icon; - if (it-base.view) - { -evas_object_size_hint_min_set(it-icon, 24, 24); -evas_object_size_hint_max_set(it-icon, 40, 40); -edje_object_part_swallow(it-base.view, elm.swallow.icon, it-icon); -evas_object_show(it-icon); -elm_widget_sub_object_add(it-base.widget, it-icon); - } + _item_icon_set(it, icon); + _check_identical_item(it, icon); } EAPI Elm_Diskselector_Item * -- All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2dcopy1___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch][Evil] add some variables on evil_langinfo
Dear Mr. Vincent Torri Hello When it comes to the following, can we use the mingw-langinfo? Or.. have to use the evil_langinfo? And I have one more question. If someone have installed library mingw-langinfo properly and previously before the building Evil, then he/she would get a build error when he/she try to build the module Evil. Because of multiple definition. For building module Evil, the clean(ie, just installed) MinGW environment is necessary. How about your opinion? Is there any solution for this(multiple definition error) Sincerely, Shinwoo Kim. 2011/6/22 cnook kimci...@gmail.com: Head of each file gives... This file has no copyright assinged and is placed in the Public Domain. No warranty is given; refer to the file DISCLAIMER within mingw-runtime package. Then, we can use it? Anyhow, I'm not sure this library(mingw-langinfo) works properly or not. Sincerely, Shinwoo Kim. 2011/6/22 Vincent Torri vto...@univ-evry.fr On Wed, 22 Jun 2011, cnook wrote: Means.. How about install the mingw-langifo instead of using evil_langinfo? what is the licence of mingw-langinfo ? Vincent Sincerely, Shinwoo Kim. 2011/6/22 Vincent Torri vto...@univ-evry.fr On Wed, 22 Jun 2011, cnook wrote: Dear Mr. Vincent, Thanks for your response. Actually I refer to the previous version mingw-langinfo-0.1. Anyhow why don't you use the reference tar ball as other dependent modules(that is, libcurl, libgcrypt, and so on)? sorry, i don't understand the question Vincent -- Using storage to extend the benefits of virtualization and iSCSI Virtualization increases hardware utilization and delivers a new level of agility. Learn what those decisions are and how to modernize your storage and backup environments for virtualization. http://www.accelacomm.com/jaw/sfnl/114/51434361/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] elm_diskselector (ticket #853)
Dear All, Hello~ The attached patch for resolving the ticket #853. (http://trac.enlightenment.org/e/ticket/853) There is an issue when it comes to rounded item. Anyhow, I will fix it also. Sincerely, Shinwoo Kim Index: src/lib/elm_diskselector.c === --- src/lib/elm_diskselector.c (revision 63279) +++ src/lib/elm_diskselector.c (working copy) @@ -1225,7 +1225,13 @@ elm_diskselector_item_icon_set(Elm_Diskselector_It evas_object_del(it-icon); it-icon = icon; if (it-base.view) - edje_object_part_swallow(it-base.view, elm.swallow.icon, icon); + { +evas_object_size_hint_min_set(it-icon, 24, 24); +evas_object_size_hint_max_set(it-icon, 40, 40); +edje_object_part_swallow(it-base.view, elm.swallow.icon, it-icon); +evas_object_show(it-icon); +elm_widget_sub_object_add(it-base.widget, it-icon); + } } EAPI Elm_Diskselector_Item * -- Doing More with Less: The Next Generation Virtual Desktop What are the key obstacles that have prevented many mid-market businesses from deploying virtual desktops? How do next-generation virtual desktops provide companies an easier-to-deploy, easier-to-manage and more affordable virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] Build on Windows - Build Error
Dear All, Hello! I have tried to build EFL on Windows 7 and met a problem when I had build evas_ddraw_buffer.cpp evas_ddraw_buffer.cpp includes its evas_engine.h And evas_engine.h includes evas_common_soft16.h that includes evas_private.h finally. (evas_ddraw_buffer.cpp - evas_engine.h - evas_common_soft16.h - evas_private.h) g++ is used for compile the evas_ddraw_buffer.cpp. it gives some error message as the followings. 1) evas_prevate.h:50:14: error: use of enum '_Evas_Font_Style' without previous declaration you would be able to test using gcc and g++ to compile following code. g++ will give error message as above. #include stdio.h typedef enum _myenum myenum; enum _myenum { A, B, C }; int main() { printf(%d\n, B); return 0; } 2) evas_prevate.h:651:14: error: expected unqualified-id before 'new' you would be able to test using gcc and g++ to compile following code. g++ will give error message. #include stdio.h struct ex1 { int new; }; int main() { struct ex1 ev; ev.new = 9; printf(%d\n, ev.new); return 0; } Anyhow I have attached patch to resolve this issue. Please review this and give your opinion. Thanks. Index: src/lib/include/evas_private.h === --- src/lib/include/evas_private.h (revision 63050) +++ src/lib/include/evas_private.h (working copy) @@ -47,6 +47,48 @@ typedef struct _Evas_Map_Point Evas_M typedef struct _Evas_Smart_Cb_Description_Array Evas_Smart_Cb_Description_Array; typedef struct _Evas_Post_Callback Evas_Post_Callback; +enum _Evas_Font_Style +{ + EVAS_FONT_STYLE_SLANT, + EVAS_FONT_STYLE_WEIGHT, + EVAS_FONT_STYLE_WIDTH +}; + +enum _Evas_Font_Slant +{ + EVAS_FONT_SLANT_NORMAL, + EVAS_FONT_SLANT_OBLIQUE, + EVAS_FONT_SLANT_ITALIC +}; + +enum _Evas_Font_Weight +{ + EVAS_FONT_WEIGHT_NORMAL, + EVAS_FONT_WEIGHT_THIN, + EVAS_FONT_WEIGHT_ULTRALIGHT, + EVAS_FONT_WEIGHT_LIGHT, + EVAS_FONT_WEIGHT_BOOK, + EVAS_FONT_WEIGHT_MEDIUM, + EVAS_FONT_WEIGHT_SEMIBOLD, + EVAS_FONT_WEIGHT_BOLD, + EVAS_FONT_WEIGHT_ULTRABOLD, + EVAS_FONT_WEIGHT_BLACK, + EVAS_FONT_WEIGHT_EXTRABLACK +}; + +enum _Evas_Font_Width +{ + EVAS_FONT_WIDTH_NORMAL, + EVAS_FONT_WIDTH_ULTRACONDENSED, + EVAS_FONT_WIDTH_EXTRACONDENSED, + EVAS_FONT_WIDTH_CONDENSED, + EVAS_FONT_WIDTH_SEMICONDENSED, + EVAS_FONT_WIDTH_SEMIEXPANDED, + EVAS_FONT_WIDTH_EXPANDED, + EVAS_FONT_WIDTH_EXTRAEXPANDED, + EVAS_FONT_WIDTH_ULTRAEXPANDED +}; + typedef enum _Evas_Font_Style Evas_Font_Style; typedef enum _Evas_Font_Slant Evas_Font_Slant; typedef enum _Evas_Font_Weight Evas_Font_Weight; @@ -595,48 +637,6 @@ struct _Evas_Font_Alias Evas_Font *fn; }; -enum _Evas_Font_Style -{ - EVAS_FONT_STYLE_SLANT, - EVAS_FONT_STYLE_WEIGHT, - EVAS_FONT_STYLE_WIDTH -}; - -enum _Evas_Font_Slant -{ - EVAS_FONT_SLANT_NORMAL, - EVAS_FONT_SLANT_OBLIQUE, - EVAS_FONT_SLANT_ITALIC -}; - -enum _Evas_Font_Weight -{ - EVAS_FONT_WEIGHT_NORMAL, - EVAS_FONT_WEIGHT_THIN, - EVAS_FONT_WEIGHT_ULTRALIGHT, - EVAS_FONT_WEIGHT_LIGHT, - EVAS_FONT_WEIGHT_BOOK, - EVAS_FONT_WEIGHT_MEDIUM, - EVAS_FONT_WEIGHT_SEMIBOLD, - EVAS_FONT_WEIGHT_BOLD, - EVAS_FONT_WEIGHT_ULTRABOLD, - EVAS_FONT_WEIGHT_BLACK, - EVAS_FONT_WEIGHT_EXTRABLACK -}; - -enum _Evas_Font_Width -{ - EVAS_FONT_WIDTH_NORMAL, - EVAS_FONT_WIDTH_ULTRACONDENSED, - EVAS_FONT_WIDTH_EXTRACONDENSED, - EVAS_FONT_WIDTH_CONDENSED, - EVAS_FONT_WIDTH_SEMICONDENSED, - EVAS_FONT_WIDTH_SEMIEXPANDED, - EVAS_FONT_WIDTH_EXPANDED, - EVAS_FONT_WIDTH_EXTRAEXPANDED, - EVAS_FONT_WIDTH_ULTRAEXPANDED -}; - struct _Evas_Font_Description { int ref; @@ -649,7 +649,7 @@ struct _Evas_Font_Description Evas_Font_Weight weight; Evas_Font_Width width; - Eina_Bool new : 1; + Eina_Bool is_new : 1; }; struct _Evas_Object_Func Index: src/lib/canvas/evas_object_textblock.c === --- src/lib/canvas/evas_object_textblock.c (revision 63050) +++ src/lib/canvas/evas_object_textblock.c (working copy) @@ -1164,7 +1164,7 @@ _format_command(Evas_Object *obj, Evas_Object_Text { fmt-font.fdesc = evas_font_desc_new(); } -else if (!fmt-font.fdesc-new) +else if (!fmt-font.fdesc-is_new) { Evas_Font_Description *old = fmt-font.fdesc; fmt-font.fdesc = evas_font_desc_dup(fmt-font.fdesc); Index: src/lib/canvas/evas_font_dir.c === --- src/lib/canvas/evas_font_dir.c (revision 63050) +++ src/lib/canvas/evas_font_dir.c (working copy) @@ -417,7 +417,7 @@ evas_font_desc_new(void) Evas_Font_Description *fdesc; fdesc = calloc(1, sizeof(*fdesc)); fdesc-ref = 1; - fdesc-new =
Re: [E-devel] [Patch] for Build on Windows XP
Dear Mr. Vincent, On my side, same error occurs as following. evas_module.c:400:37: error: macro open requires 3 arguments, but only 1 given After add the sent patch, the following error I have met. evas_private.h:50:14 error: use of enum '_Evas_Font_Style' without previous declaration I'd be able to modify to avoid this build error.. but.. This would be caused by difference of environment such as the gcc version (4.5.2). Would you kindly Enlighten me on this? Sincerely, Shinwoo Kim. 1. evas_module.diff Attached patch evas_module.diff had been removed with comment Unnecessary... Would you please let me know, if there is any thing for building on evil Windows without this. i have fixed Evil so that this patch is not necessary anymore (last time I compiled with MinGW). Do you still need it ? 2011/8/4 cnook kimci...@gmail.com Hello, 1. evas_module.diff Attached patch evas_module.diff had been removed with comment Unnecessary... Would you please let me know, if there is any thing for building on evil Windows without this. 2. evas_font_dirr.diff strndup is GNU extension, anyhow, I'm not sure the 'tmp' is necessary stuff. If it is.. strndup() should be modified by using eina_unicode_strndup() 3. Question. 1) evas_privat.h in struct _Evas_Font_Decscription, there is a line as bellow. Eina_Bool new : 1; Maybe.. there is a build flag, option to ignore new from reserved word. (gcc ver: 4.5.2) Or, related lines use the Evas_Font_Description should be changed with new word. 2) On Windows, using revision 62040, I got the elementary_test.exe with great help from Mr. Vincent and you.. Thanks :) One thing what I want to ask is from following steps. step 1) execute elementary_test.exe step 2) mouse down on one of list items. step 3) mouse up on out side of elementary_test.exe window step 4) now I can scroll up,down without mouse holding Sincerely, Shinwoo Kim. -- Special Offer -- Download ArcSight Logger for FREE! Finally, a world-class log management solution at an even better price-free! And you'll get a free Love Thy Logs t-shirt when you download Logger. Secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsisghtdev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch] elc_ctxpopup, add transition
Dear Hermet, Hi! I have refined previous patch based on your opinion. Please refer to bellow comments and attached patch * 1. how about changing the signal names to ones more explicitly ? elm,state,show,up elm,state,show,down elm,state,show,right elm,state,show,left I guess hide could be added also later.* - Names are changed as you mentioned. *2. _transition_adjust I don't like that name. Since those signals are not only for transitions but also any other actions. How about just _show_signal_emit ?* - Also changed *3. edje_object_signal_emit(wd-base, elm,state,show, elm); in the _ctxpopup_show function looks useless call. doesnt' it?* - edje_object_signal_emit(); should be there. The clip part does not come properly without this. Sincerely, Shinwoo Kim. 2011/8/22 cnook kimci...@gmail.com Dear All, Hello! The transition effect is added to the ctxpopup when it comes. Please review the attached patch. Thanks always! Sincerely, Shinwoo Kim. Index: src/lib/elc_ctxpopup.c === --- src/lib/elc_ctxpopup.c (revision 62716) +++ src/lib/elc_ctxpopup.c (working copy) @@ -539,6 +539,33 @@ } static void +_show_signal_emit(Evas_Object *obj, Elm_Ctxpopup_Direction dir) +{ + Widget_Data *wd; + + wd = elm_widget_data_get(obj); + if (!wd || wd-visible) return; + + switch (dir) + { +case ELM_CTXPOPUP_DIRECTION_UP: + edje_object_signal_emit(wd-base, elm,state,show,up, elm); + break; +case ELM_CTXPOPUP_DIRECTION_LEFT: + edje_object_signal_emit(wd-base, elm,state,show,left, elm); + break; +case ELM_CTXPOPUP_DIRECTION_RIGHT: + edje_object_signal_emit(wd-base, elm,state,show,right, elm); + break; +case ELM_CTXPOPUP_DIRECTION_DOWN: + edje_object_signal_emit(wd-base, elm,state,show,down, elm); + break; +default: + break; + } +} + +static void _sizing_eval(Evas_Object *obj) { Widget_Data *wd; @@ -580,6 +607,7 @@ //Base wd-dir = _calc_base_geometry(obj, rect); + _show_signal_emit(obj, wd-dir); _update_arrow(obj, wd-dir); _shift_base_by_arrow(wd-arrow, wd-dir, rect); @@ -805,6 +833,7 @@ evas_object_show(wd-arrow); edje_object_signal_emit(wd-bg, elm,state,show, elm); + edje_object_signal_emit(wd-base, elm,state,show, elm); _sizing_eval(obj); } Index: data/themes/widgets/ctxpopup.edc === --- data/themes/widgets/ctxpopup.edc (revision 62716) +++ data/themes/widgets/ctxpopup.edc (working copy) @@ -437,6 +437,7 @@ part { name: arrow_area_left; type: RECT; mouse_events: 0; + clip_to: ctxpopup_clip; description { state: default 0.0; visible: 0; min: 20 0; @@ -454,6 +455,7 @@ part { name: arrow_area_right; type: RECT; mouse_events: 0; + clip_to: ctxpopup_clip; description { state: default 0.0; visible: 0; min: 20 0; @@ -471,6 +473,7 @@ part { name: arrow_area_up; type: RECT; mouse_events: 0; + clip_to: ctxpopup_clip; description { state: default 0.0; visible: 0; min: 0 20; @@ -488,6 +491,7 @@ part { name: arrow_area_down; type: RECT; mouse_events: 0; + clip_to: ctxpopup_clip; description { state: default 0.0; visible: 0; min: 0 20; @@ -506,6 +510,7 @@ type: SWALLOW; mouse_events: 0; scale: 1; + clip_to: ctxpopup_clip; dragable { x: 1 1 0; y: 1 1 0; @@ -521,6 +526,7 @@ type: SWALLOW; mouse_events: 0; scale: 1; + clip_to: ctxpopup_clip; dragable { x: 1 1 0; y: 1 1 0; @@ -536,6 +542,7 @@ type: SWALLOW; mouse_events: 0; scale: 1; + clip_to: ctxpopup_clip; dragable { x: 1 1 0; y: 1 1 0; @@ -551,6 +558,7 @@ type: SWALLOW; mouse_events: 0; scale: 1; + clip_to: ctxpopup_clip; dragable { x: 1 1 0; y: 1 1 0; @@ -564,6 +572,7 @@ } part { name: base; scale: 1; + clip_to: ctxpopup_clip; description { state: default 0.0; rel1.offset: -3 -3; rel2.offset: 3 3; @@ -574,6 +583,7 @@ } part { name: over1; scale: 1; + clip_to: ctxpopup_clip; description { state: default 0.0; rel1.to: base; rel2.to: base; @@ -585,6 +595,7 @@ } part { name: over2; scale: 1; + clip_to: ctxpopup_clip; description { state: default 0.0; rel1.to: base; rel2.to: base; @@ -595,12
Re: [E-devel] [Patch] test_ctxpopup
Sure, definitely... thanks for your response. 2011/8/22 Carsten Haitzler ras...@rasterman.com On Mon, 22 Aug 2011 14:08:03 +0900 cnook kimci...@gmail.com said: hmm thats what i was about to say. i'm staring at it.. with a proper size... shall i forget the patch for now? :) Sorry for inconveniences. Now it comes properly without the patch.. tuk tuk tuk.. ;_; 2011/8/22 cnook kimci...@gmail.com Thanks for your response. When I try to open the ctxpopup from elementary_test, it does not show properly. Only a little of window area displays. 2011/8/22 Carsten Haitzler ras...@rasterman.com On Fri, 19 Aug 2011 21:31:51 +0900 cnook kimci...@gmail.com said: could you describe the bug you are trying to fix in more detail? Dear All, Hello! The window of test_ctxpopup was not able to get its size. I have added elm_box for this as others. Thanks. Sincerely, Shinwoo Kim. -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- uberSVN's rich system and user administration capabilities and model configuration take the hassle out of deploying and managing Subversion and the tools developers use with it. Learn more about uberSVN and get a free download at: http://p.sf.net/sfu/wandisco-dev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] elc_ctxpopup, add transition
Dear All, Hello! The transition effect is added to the ctxpopup when it comes. Please review the attached patch. Thanks always! Sincerely, Shinwoo Kim. Index: data/themes/widgets/ctxpopup.edc === --- data/themes/widgets/ctxpopup.edc (revision 62675) +++ data/themes/widgets/ctxpopup.edc (working copy) @@ -437,6 +437,7 @@ group { name: elm/ctxpopup/base/default; part { name: arrow_area_left; type: RECT; mouse_events: 0; + clip_to: ctxpopup_clip; description { state: default 0.0; visible: 0; min: 20 0; @@ -454,6 +455,7 @@ group { name: elm/ctxpopup/base/default; part { name: arrow_area_right; type: RECT; mouse_events: 0; + clip_to: ctxpopup_clip; description { state: default 0.0; visible: 0; min: 20 0; @@ -471,6 +473,7 @@ group { name: elm/ctxpopup/base/default; part { name: arrow_area_up; type: RECT; mouse_events: 0; + clip_to: ctxpopup_clip; description { state: default 0.0; visible: 0; min: 0 20; @@ -488,6 +491,7 @@ group { name: elm/ctxpopup/base/default; part { name: arrow_area_down; type: RECT; mouse_events: 0; + clip_to: ctxpopup_clip; description { state: default 0.0; visible: 0; min: 0 20; @@ -506,6 +510,7 @@ group { name: elm/ctxpopup/base/default; type: SWALLOW; mouse_events: 0; scale: 1; + clip_to: ctxpopup_clip; dragable { x: 1 1 0; y: 1 1 0; @@ -521,6 +526,7 @@ group { name: elm/ctxpopup/base/default; type: SWALLOW; mouse_events: 0; scale: 1; + clip_to: ctxpopup_clip; dragable { x: 1 1 0; y: 1 1 0; @@ -536,6 +542,7 @@ group { name: elm/ctxpopup/base/default; type: SWALLOW; mouse_events: 0; scale: 1; + clip_to: ctxpopup_clip; dragable { x: 1 1 0; y: 1 1 0; @@ -551,6 +558,7 @@ group { name: elm/ctxpopup/base/default; type: SWALLOW; mouse_events: 0; scale: 1; + clip_to: ctxpopup_clip; dragable { x: 1 1 0; y: 1 1 0; @@ -564,6 +572,7 @@ group { name: elm/ctxpopup/base/default; } part { name: base; scale: 1; + clip_to: ctxpopup_clip; description { state: default 0.0; rel1.offset: -3 -3; rel2.offset: 3 3; @@ -574,6 +583,7 @@ group { name: elm/ctxpopup/base/default; } part { name: over1; scale: 1; + clip_to: ctxpopup_clip; description { state: default 0.0; rel1.to: base; rel2.to: base; @@ -585,6 +595,7 @@ group { name: elm/ctxpopup/base/default; } part { name: over2; scale: 1; + clip_to: ctxpopup_clip; description { state: default 0.0; rel1.to: base; rel2.to: base; @@ -595,12 +606,83 @@ group { name: elm/ctxpopup/base/default; } part { name: elm.swallow.content; type: SWALLOW; + clip_to: ctxpopup_clip; description { state: default 0.0; rel1 { to:base; offset: 4 4; } rel2 { to:base; offset: -5 -5; } } } + part { name: ctxpopup_clip; + type: RECT; + description { state: default 0.0; +color: 255 255 255 0; +rel1 { to:base; relative: 0 0; } +rel2 { to:base; relative: 0 1; } + } + description { state: up 0.0; +color: 255 255 255 0; +rel1 { to:arrow_area_down; relative: 0 1; } +rel2 { to:arrow_area_down; relative: 1 1; } + } + description { state: left 0.0; +color: 255 255 255 0; +rel1 { to:arrow_area_right; relative: 1 0; } +rel2 { to:arrow_area_right; relative: 1 1; } + } + description { state: right 0.0; +color: 255 255 255 0; +rel1 { to:arrow_area_left; relative: 0 0; } +rel2 { to:arrow_area_left; relative: 0 1; } + } + description { state: down 0.0; +color: 255 255 255 0; +rel1 { to:arrow_area_up; relative: 0 0; } +rel2 { to:arrow_area_up; relative: 1 0; } + } + description { state: visible 0.0; +color: 255 255 255 255; +rel1 { to_x:arrow_area_left; to_y:arrow_area_up; } +rel2 { to_x:arrow_area_right; to_y:arrow_area_down; } + } + } } + programs { + program { name: show; + signal: elm,state,show; + source: elm; + action: STATE_SET visible 0.0; + transition: LINEAR 1.0; + target: ctxpopup_clip; + } +
Re: [E-devel] [Patch] test_ctxpopup
Thanks for your response. When I try to open the ctxpopup from elementary_test, it does not show properly. Only a little of window area displays. 2011/8/22 Carsten Haitzler ras...@rasterman.com On Fri, 19 Aug 2011 21:31:51 +0900 cnook kimci...@gmail.com said: could you describe the bug you are trying to fix in more detail? Dear All, Hello! The window of test_ctxpopup was not able to get its size. I have added elm_box for this as others. Thanks. Sincerely, Shinwoo Kim. -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- uberSVN's rich system and user administration capabilities and model configuration take the hassle out of deploying and managing Subversion and the tools developers use with it. Learn more about uberSVN and get a free download at: http://p.sf.net/sfu/wandisco-dev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch] test_ctxpopup
Sorry for inconveniences. Now it comes properly without the patch.. tuk tuk tuk.. ;_; 2011/8/22 cnook kimci...@gmail.com Thanks for your response. When I try to open the ctxpopup from elementary_test, it does not show properly. Only a little of window area displays. 2011/8/22 Carsten Haitzler ras...@rasterman.com On Fri, 19 Aug 2011 21:31:51 +0900 cnook kimci...@gmail.com said: could you describe the bug you are trying to fix in more detail? Dear All, Hello! The window of test_ctxpopup was not able to get its size. I have added elm_box for this as others. Thanks. Sincerely, Shinwoo Kim. -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)ras...@rasterman.com -- uberSVN's rich system and user administration capabilities and model configuration take the hassle out of deploying and managing Subversion and the tools developers use with it. Learn more about uberSVN and get a free download at: http://p.sf.net/sfu/wandisco-dev2dev ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] test_ctxpopup
Dear All, Hello! The window of test_ctxpopup was not able to get its size. I have added elm_box for this as others. Thanks. Sincerely, Shinwoo Kim. Index: src/bin/test_ctxpopup.c === --- src/bin/test_ctxpopup.c (revision 62587) +++ src/bin/test_ctxpopup.c (working copy) @@ -155,7 +155,7 @@ static void _list_clicked(void *data __UNUSED__, E void test_ctxpopup(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) { - Evas_Object *win, *bg, *list; + Evas_Object *win, *bg, *list, *bx; win = elm_win_add(NULL, Contextual Popup, ELM_WIN_BASIC); elm_win_title_set(win, Contextual Popup); @@ -166,9 +166,15 @@ test_ctxpopup(void *data __UNUSED__, Evas_Object * elm_win_resize_object_add(win, bg); evas_object_show(bg); + bx = elm_box_add(win); + evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(win, bx); + evas_object_show(bx); + list = elm_list_add(win); - elm_win_resize_object_add(win, list); + elm_box_pack_end(bx, list); evas_object_size_hint_weight_set(list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_fill_set(list, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_list_mode_set(list, ELM_LIST_COMPRESS); evas_object_smart_callback_add(list, selected, _list_clicked, NULL); -- Get a FREE DOWNLOAD! and learn more about uberSVN rich system, user administration capabilities and model configuration. Take the hassle out of deploying and managing Subversion and the tools developers use with it. http://p.sf.net/sfu/wandisco-d2d-2___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch] evas_ojbect_textblock, ellipsis handling
Dear Mr. Tom, I have checked with latest evas (evas_object_textblock, and some dependent files evas_font_dir and so on) The problem never comes again. Thanks. Sincerely, Shinwoo Kim. 2011년 8월 16일 오후 3:09, cnook kimci...@gmail.com님의 말: Dear Mr. Tom, Thanks for your response. I'll check this on the lastest evas. Migration would be necessary on my side. Sincerely, Shinwoo Kim. 2011/8/14 Tom Hacohen tom.haco...@partner.samsung.com On 11/08/11 15:59, cnook wrote: Dear All, Hi! I have got a problem, when I used evas_object_textblock with edje. I am using the following style for textblock which has width 380. style { name: tle_style; base: font=MYFONT:style=Medium font_size=24 align=center color=#ff wrap=mixed ellipsis=1.0; tag: br \n; tag: ps ps; tag: hilight + font=SLP:style=Bold; tag: b + font=MYFONT:style=Bold; tag: whitecolor + color=#ff; tag: tab \t; } And the following statement is used for the textblock. bWarcraft_KR/b 우하하 너무 잼나요 RT After calculated width of above statement is 381. In this case, edje_object_size_min_**restricted_calc() take loops(4000 times?) until it will meet some condition (ed-w 4000). Anyhow, attached patch cannot resolve the fundamental problem. it is just temporal solution. If this patch is reasonable, please take it before we find more proper way. I only now got around to testing it, and it works perfectly for me. With that being said, I had to guess the definition of your textblock part, a compilable example would be nicer. Are you using the latest Evas? Because I think I fixed a related issue sometime in the last month or so. -- Tom. -- Get a FREE DOWNLOAD! and learn more about uberSVN rich system, user administration capabilities and model configuration. Take the hassle out of deploying and managing Subversion and the tools developers use with it. http://p.sf.net/sfu/wandisco-d2d-2 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] evas_ojbect_textblock, ellipsis handling
Dear All, Hi! I have got a problem, when I used evas_object_textblock with edje. I am using the following style for textblock which has width 380. style { name: tle_style; base: font=MYFONT:style=Medium font_size=24 align=center color=#ff wrap=mixed ellipsis=1.0; tag: br \n; tag: ps ps; tag: hilight + font=SLP:style=Bold; tag: b + font=MYFONT:style=Bold; tag: whitecolor + color=#ff; tag: tab \t; } And the following statement is used for the textblock. bWarcraft_KR/b 우하하 너무 잼나요 RT After calculated width of above statement is 381. In this case, edje_object_size_min_restricted_calc() take loops(4000 times?) until it will meet some condition (ed-w 4000). Anyhow, attached patch cannot resolve the fundamental problem. it is just temporal solution. If this patch is reasonable, please take it before we find more proper way. Sincerely, Shinwoo Kim. Index: src/lib/canvas/evas_object_textblock.c === --- src/lib/canvas/evas_object_textblock.c (revision 62334) +++ src/lib/canvas/evas_object_textblock.c (working copy) @@ -3494,6 +3494,7 @@ _layout_handle_ellipsis(Ctxt *c, Evas_Object_Textb eina_inlist_append(EINA_INLIST_GET(c-ln-items), EINA_INLIST_GET(_ITEM(ellip_ti))); _layout_line_finalize(c, ellip_ti-parent.format); + if (c-w c-wmax) c-wmax = c-w; } #ifdef BIDI_SUPPORT -- Get a FREE DOWNLOAD! and learn more about uberSVN rich system, user administration capabilities and model configuration. Take the hassle out of deploying and managing Subversion and the tools developers use with it. http://p.sf.net/sfu/wandisco-dev2dev___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] elc_ctxpoup, find largest area based on horizontal or not
Dear All, Hi! Previously, the ctxpopup have used only direction up or down if there is no enough area to display. So, there was some dead codes and TODO list for this.. By using wd-horizontal, we can decide between up/down and left/right If elc_ctxpopup is horizontal, up/down is more proper than left/right and vice versa. Sincerely, Shinwoo Kim. Index: src/lib/elc_ctxpopup.c === --- src/lib/elc_ctxpopup.c (revision 62370) +++ src/lib/elc_ctxpopup.c (working copy) @@ -388,61 +388,66 @@ _calc_base_geometry(Evas_Object *obj, Evas_Coord_R //In this case, all directions are invalid because of lack of space. if (idx == 4) { -//TODO 1: Find the largest space direction. Evas_Coord length[2]; -length[0] = pos.y - hover_area.y; -length[1] = (hover_area.y + hover_area.h) - pos.y; +if(!wd-horizontal) + { + length[0] = pos.y - hover_area.y; + length[1] = (hover_area.y + hover_area.h) - pos.y; -if (length[0] length[1]) - idx = ELM_CTXPOPUP_DIRECTION_UP; + if (length[0] length[1]) + { + // ELM_CTXPOPUP_DIRECTION_UP + _adjust_pos_x(pos, base_size, hover_area); + pos.y -= base_size.y; + arrow = ELM_CTXPOPUP_DIRECTION_DOWN; + if (pos.y hover_area.y + arrow_size.y) +{ +base_size.y -= ((hover_area.y + arrow_size.y) - pos.y); +pos.y = hover_area.y + arrow_size.y; +} + } + else + { + //ELM_CTXPOPUP_DIRECTION_DOWN + _adjust_pos_x(pos, base_size, hover_area); + arrow = ELM_CTXPOPUP_DIRECTION_UP; + if (pos.y + arrow_size.y + base_size.y + hover_area.y + hover_area.h) + base_size.y -= +((pos.y + arrow_size.y + base_size.y) - + (hover_area.y + hover_area.h)); + } + } else - idx = ELM_CTXPOPUP_DIRECTION_DOWN; - -//TODO 2: determine x , y -switch (idx) { - case ELM_CTXPOPUP_DIRECTION_UP: - _adjust_pos_x(pos, base_size, hover_area); - pos.y -= base_size.y; - arrow = ELM_CTXPOPUP_DIRECTION_DOWN; - if (pos.y hover_area.y + arrow_size.y) -{ - base_size.y -= ((hover_area.y + arrow_size.y) - pos.y); - pos.y = hover_area.y + arrow_size.y; -} - break; - case ELM_CTXPOPUP_DIRECTION_LEFT: - _adjust_pos_y(pos, base_size, hover_area); - pos.x -= base_size.x; - arrow = ELM_CTXPOPUP_DIRECTION_RIGHT; - if (pos.x hover_area.x + arrow_size.x) -{ - base_size.x -= ((hover_area.x + arrow_size.x) - pos.x); - pos.x = hover_area.x + arrow_size.x; -} - break; - case ELM_CTXPOPUP_DIRECTION_RIGHT: - _adjust_pos_y(pos, base_size, hover_area); - arrow = ELM_CTXPOPUP_DIRECTION_LEFT; - if (pos.x + arrow_size.x + base_size.x - hover_area.x + hover_area.w) - base_size.x -= -((pos.x + arrow_size.x + base_size.x) - - (hover_area.x + hover_area.w)); - break; - case ELM_CTXPOPUP_DIRECTION_DOWN: - _adjust_pos_x(pos, base_size, hover_area); - arrow = ELM_CTXPOPUP_DIRECTION_UP; - if (pos.y + arrow_size.y + base_size.y - hover_area.y + hover_area.h) - base_size.y -= -((pos.y + arrow_size.y + base_size.y) - - (hover_area.y + hover_area.h)); - break; - default: - break; + length[0] = pos.x - hover_area.x; + length[1] = (hover_area.x + hover_area.w) - pos.x; + if (length[0] length[1]) + { + //ELM_CTXPOPUP_DIRECTION_LEFT + _adjust_pos_y(pos, base_size, hover_area); + pos.x -= base_size.x; + arrow = ELM_CTXPOPUP_DIRECTION_RIGHT; + if (pos.x hover_area.x + arrow_size.x) +{ + base_size.x -= ((hover_area.x + arrow_size.x) - pos.x); + pos.x = hover_area.x + arrow_size.x; +} + } + else + { + //ELM_CTXPOPUP_DIRECTION_RIGHT + _adjust_pos_y(pos, base_size, hover_area); + arrow = ELM_CTXPOPUP_DIRECTION_LEFT; + if (pos.x + arrow_size.x + base_size.x +
[E-devel] [Patch] elm_diskselector, modify improper code
Dear All, Hi! There were come codes in _del_pre_hook() that just don't make sense. Please refer to the attached patch. Sincerely, Shinwoo Kim. Index: src/lib/elm_diskselector.c === --- src/lib/elm_diskselector.c (revision 62370) +++ src/lib/elm_diskselector.c (working copy) @@ -224,7 +224,7 @@ _del_pre_hook(Evas_Object * obj) if (it) { eina_stringshare_del(it-label); - if (wd-first) evas_object_del(wd-first-base.view); + evas_object_del(it-base.view); free(it); } } @@ -234,7 +234,7 @@ _del_pre_hook(Evas_Object * obj) if (it) { eina_stringshare_del(it-label); - if (wd-first) evas_object_del(wd-first-base.view); + evas_object_del(it-base.view); free(it); } } -- Get a FREE DOWNLOAD! and learn more about uberSVN rich system, user administration capabilities and model configuration. Take the hassle out of deploying and managing Subversion and the tools developers use with it. http://p.sf.net/sfu/wandisco-dev2dev___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] for Build on Windows XP
Hello, 1. evas_module.diff Attached patch evas_module.diff had been removed with comment Unnecessary... Would you please let me know, if there is any thing for building on evil Windows without this. 2. evas_font_dirr.diff strndup is GNU extension, anyhow, I'm not sure the 'tmp' is necessary stuff. If it is.. strndup() should be modified by using eina_unicode_strndup() 3. Question. 1) evas_privat.h in struct _Evas_Font_Decscription, there is a line as bellow. Eina_Bool new : 1; Maybe.. there is a build flag, option to ignore new from reserved word. (gcc ver: 4.5.2) Or, related lines use the Evas_Font_Description should be changed with new word. 2) On Windows, using revision 62040, I got the elementary_test.exe with great help from Mr. Vincent and you.. Thanks :) One thing what I want to ask is from following steps. step 1) execute elementary_test.exe step 2) mouse down on one of list items. step 3) mouse up on out side of elementary_test.exe window step 4) now I can scroll up,down without mouse holding Sincerely, Shinwoo Kim. Index: src/lib/file/evas_module.c === --- src/lib/file/evas_module.c (revision 62040) +++ src/lib/file/evas_module.c (working copy) @@ -8,7 +8,16 @@ #include evas_private.h #include evas_module.h +#ifdef _WIN32 +# ifdef open +# undef open +# endif +# ifdef close +# undef close +# endif +#endif + static Eina_Hash *evas_modules[4] = { NULL, NULL, Index: src/lib/canvas/evas_font_dir.c === --- src/lib/canvas/evas_font_dir.c (revision 62040) +++ src/lib/canvas/evas_font_dir.c (working copy) @@ -715,10 +715,7 @@ evas_font_load(Evas *evas, Evas_Font_Description * end = strchr(start, ','); if (end) { - char *tmp; - tmp = strndup(start, end - start); FcPatternAddString (p_nm, FC_FAMILY, (FcChar8*) start); - free(tmp); } else { -- BlackBerryreg; DevCon Americas, Oct. 18-20, San Francisco, CA The must-attend event for mobile developers. Connect with experts. Get tools for creating Super Apps. See the latest technologies. Sessions, hands-on labs, demos much more. Register early save! http://p.sf.net/sfu/rim-blackberry-1___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] Handling the engine creation failed
Hi All, If ecore_evas_[not_software_x11]_new(); returns NULL while elm_win_add(); is called, then ecore_evas_software_x11_new(); is used instead of other engines. (FALLBACK_TRY) But the configuration value for engine is not changed. This makes improper result. After FALLBACK_TRY, the elm_win works with different configuration value. In this case, win-xwin (_elm_win_xwindow_get()) gives NULL. and elm_win_xsinodow_get() returns 0 also. Please refer to attached patch. Thanks a lot Sincerely, Shinwoo Kim. Index: src/lib/elm_win.c === --- src/lib/elm_win.c (revision 61887) +++ src/lib/elm_win.c (working copy) @@ -1406,6 +1406,7 @@ elm_win_add(Evas_Object *parent, const char *name, do { \ CRITICAL(engine engine creation failed. Trying software X11.); \ win-ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, 1, 1); \ +elm_engine_set(ELM_SOFTWARE_X11); \ } while (0) #define ENGINE_COMPARE(name) (!strcmp(_elm_config-engine, name)) -- Got Input? Slashdot Needs You. Take our quick survey online. Come on, we don't ask for help often. Plus, you'll get a chance to win $100 to spend on ThinkGeek. http://p.sf.net/sfu/slashdot-survey___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch] elm_diskselector
Hi All, I have attached refined path. There is no storing parent. Sincerely, Shinwoo Kim. 2011/7/26 cnook kimci...@gmail.com Hi! Your response always good for me. 1) Yes you're right,There would be a better solution than storing parent. I'll try to use other way that would use previous parent size if new parent does not have enough size. Sincerely, Shinwoo Kim. 2011/7/25 Daniel Juyung Seo seojuyu...@gmail.com Hello Shinwoo Kim, 1) Why do you store parent? parent can be changed at any time. ie) elm_box_pack_end() I think it's better not to change the code. Of course there are some exceptions but diskselector looks like a normal widget. 2) Setting it-label is ok. 3) When you make a diff, it's better add -x -up option. $ svn diff -x -up This tells you which function is changed in the diff. Thanks. Daniel Juyung Seo (SeoZ) On Mon, Jul 25, 2011 at 9:25 PM, cnook kimci...@gmail.com wrote: Hi All, I have attached elm_diskselector patch for resolving dynamic theme change issue. Previously, the item label did not display when them theme had changed while elm_diskselector displayed. Sincerely, Shinwoo Kim. -- Storage Efficiency Calculator This modeling tool is based on patent-pending intellectual property that has been used successfully in hundreds of IBM storage optimization engage- ments, worldwide. Store less, Store more with what you own, Move data to the right place. Try It Now! http://www.accelacomm.com/jaw/sfnl/114/51427378/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel Index: src/lib/elm_diskselector.c === --- src/lib/elm_diskselector.c (revision 61723) +++ src/lib/elm_diskselector.c (working copy) @@ -274,6 +274,7 @@ _theme_hook(Evas_Object * obj) { _elm_theme_object_set(obj, it-base.view, diskselector, item, elm_widget_style_get(obj)); + edje_object_part_text_set(it-base.view, elm.text, it-label); } } else @@ -282,6 +283,7 @@ _theme_hook(Evas_Object * obj) { _elm_theme_object_set(obj, it-base.view, diskselector, item, elm_widget_style_get(obj)); + edje_object_part_text_set(it-base.view, elm.text, it-label); } } _elm_theme_object_set(obj, wd-right_blank, diskselector, item, -- Got Input? Slashdot Needs You. Take our quick survey online. Come on, we don't ask for help often. Plus, you'll get a chance to win $100 to spend on ThinkGeek. http://p.sf.net/sfu/slashdot-survey___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] elm_diskselector
Hi All, I have attached elm_diskselector patch for resolving dynamic theme change issue. Previously, the item label did not display when them theme had changed while elm_diskselector displayed. Sincerely, Shinwoo Kim. Index: src/lib/elm_diskselector.c === --- src/lib/elm_diskselector.c (revision 61687) +++ src/lib/elm_diskselector.c (working copy) @@ -15,6 +15,7 @@ struct _Widget_Data { + Evas_Object *parent; Evas_Object *self; Evas_Object *scroller; Evas_Object *main_box; @@ -169,9 +170,8 @@ if (str) wd-minw = MAX(-1, atoi(str)); else { -parent = elm_widget_parent_widget_get(wd-self); -if (!parent) wd-minw = -1; -else evas_object_geometry_get(parent, NULL, NULL, wd-minw, NULL); +if (!wd-parent) wd-minw = -1; +else evas_object_geometry_get(wd-parent, NULL, NULL, wd-minw, NULL); } str = edje_object_data_get(wd-right_blank, min_height); @@ -274,6 +274,7 @@ { _elm_theme_object_set(obj, it-base.view, diskselector, item, elm_widget_style_get(obj)); + edje_object_part_text_set(it-base.view, elm.text, it-label); } } else @@ -282,6 +283,7 @@ { _elm_theme_object_set(obj, it-base.view, diskselector, item, elm_widget_style_get(obj)); + edje_object_part_text_set(it-base.view, elm.text, it-label); } } _elm_theme_object_set(obj, wd-right_blank, diskselector, item, @@ -772,6 +774,7 @@ elm_widget_on_focus_hook_set(obj, _on_focus_hook, NULL); elm_widget_event_hook_set(obj, _event_hook); + wd-parent = parent; wd-self = obj; wd-item_count = 0; wd-round = EINA_FALSE; -- Storage Efficiency Calculator This modeling tool is based on patent-pending intellectual property that has been used successfully in hundreds of IBM storage optimization engage- ments, worldwide. Store less, Store more with what you own, Move data to the right place. Try It Now! http://www.accelacomm.com/jaw/sfnl/114/51427378/___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch] elm_diskselector
Hi! Your response always good for me. 1) Yes you're right,There would be a better solution than storing parent. I'll try to use other way that would use previous parent size if new parent does not have enough size. Sincerely, Shinwoo Kim. 2011/7/25 Daniel Juyung Seo seojuyu...@gmail.com Hello Shinwoo Kim, 1) Why do you store parent? parent can be changed at any time. ie) elm_box_pack_end() I think it's better not to change the code. Of course there are some exceptions but diskselector looks like a normal widget. 2) Setting it-label is ok. 3) When you make a diff, it's better add -x -up option. $ svn diff -x -up This tells you which function is changed in the diff. Thanks. Daniel Juyung Seo (SeoZ) On Mon, Jul 25, 2011 at 9:25 PM, cnook kimci...@gmail.com wrote: Hi All, I have attached elm_diskselector patch for resolving dynamic theme change issue. Previously, the item label did not display when them theme had changed while elm_diskselector displayed. Sincerely, Shinwoo Kim. -- Storage Efficiency Calculator This modeling tool is based on patent-pending intellectual property that has been used successfully in hundreds of IBM storage optimization engage- ments, worldwide. Store less, Store more with what you own, Move data to the right place. Try It Now! http://www.accelacomm.com/jaw/sfnl/114/51427378/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Magic Quadrant for Content-Aware Data Loss Prevention Research study explores the data loss prevention market. Includes in-depth analysis on the changes within the DLP market, and the criteria used to evaluate the strengths and weaknesses of these DLP solutions. http://www.accelacomm.com/jaw/sfnl/114/51385063/ ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch] Elm_Label, Incompatible Widget Data Type
Hi All, The Elm_Wrap_Type have been added, and APIs have been changed also. But there are some remains have to be changed as the attached patch. Sincerely, Shinwoo Kim. Index: src/lib/elm_label.c === --- src/lib/elm_label.c (revision 61723) +++ src/lib/elm_label.c (working copy) @@ -14,7 +14,7 @@ struct _Widget_Data Evas_Coord lastw; Evas_Coord wrap_w; Evas_Coord wrap_h; - Eina_Bool linewrap : 1; + Elm_Wrap_Type linewrap; Eina_Bool changed : 1; Eina_Bool bgcolor : 1; Eina_Bool ellipsis : 1; @@ -556,7 +556,7 @@ elm_label_add(Evas_Object *parent) wd-bg = evas_object_rectangle_add(e); evas_object_color_set(wd-bg, 0, 0, 0, 0); - wd-linewrap = EINA_FALSE; + wd-linewrap = ELM_WRAP_NONE; wd-ellipsis = EINA_FALSE; wd-slidingmode = EINA_FALSE; wd-slidingellipsis = EINA_FALSE; -- Magic Quadrant for Content-Aware Data Loss Prevention Research study explores the data loss prevention market. Includes in-depth analysis on the changes within the DLP market, and the criteria used to evaluate the strengths and weaknesses of these DLP solutions. http://www.accelacomm.com/jaw/sfnl/114/51385063/___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] [Patch][elc_ctxpopup] Arrow Position
Hi All, The ctxpopup arrow is attached on the drag-able part. If arrow height/width is smaller than drag-able part, then there is a gap between arrow and ctxpopup base. So this patch comes for resolving this issue. Thanks. Sincerely, Shinwoo Kim. Index: src/lib/elc_ctxpopup.c === --- src/lib/elc_ctxpopup.c (revision 61396) +++ src/lib/elc_ctxpopup.c (working copy) @@ -493,7 +493,7 @@ y = base_size.h - arrow_size.h; else y = y - base_size.y - (arrow_size.h * 0.5); - edje_object_part_drag_value_set(wd-base, elm.swallow.arrow_left, 0.5, + edje_object_part_drag_value_set(wd-base, elm.swallow.arrow_left, 1, (double) (y) / (double) (base_size.h - arrow_size.h)); } break; @@ -507,7 +507,7 @@ else if (y (base_size.y + base_size.h - (arrow_size.h * 0.5))) y = base_size.h - arrow_size.h; else y = y - base_size.y - (arrow_size.h * 0.5); - edje_object_part_drag_value_set(wd-base, elm.swallow.arrow_right, 0.5, + edje_object_part_drag_value_set(wd-base, elm.swallow.arrow_right, 0, (double) (y) / (double) (base_size.h - arrow_size.h)); } break; @@ -523,7 +523,7 @@ else x = x - base_size.x - (arrow_size.w * 0.5); edje_object_part_drag_value_set(wd-base, elm.swallow.arrow_up, - (double) (x) / (double) (base_size.w - arrow_size.w), 0.5); + (double) (x) / (double) (base_size.w - arrow_size.w), 1); } break; case ELM_CTXPOPUP_DIRECTION_DOWN: @@ -537,7 +537,7 @@ x = base_size.w - arrow_size.w; else x = x - base_size.x - (arrow_size.w * 0.5); edje_object_part_drag_value_set(wd-base, elm.swallow.arrow_down, - (double) (x) / (double) (base_size.w - arrow_size.w), 0.5); + (double) (x) / (double) (base_size.w - arrow_size.w), 0); } break; default: -- AppSumo Presents a FREE Video for the SourceForge Community by Eric Ries, the creator of the Lean Startup Methodology on Lean Startup Secrets Revealed. This video shows you how to validate your ideas, optimize your ideas and identify your business strategy. http://p.sf.net/sfu/appsumosfdev2dev___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] elementary_test on WindowsXP
Dear Mr. Vincent Torri, Hello, 1. The elementary_test (based on Rev 61152) shows with black screen. but, the elementary_test of early of June (Rev 59900) shows properly. 2. Would you please let me know why the elementary_test so slow. The elementary_test gives log as bellow. WARNING: stucklock on image (C:\MinGw\.../default.edj) WARNING: lock still there after 1 usec ... Thanks always! Sincerely, Shinwoo Kim. -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] Build on Windows
Dear Mr. Vincent Torri, When I have tried to build Eina (rev: 61152) on Windows, an error occurs as bellow. eina_inline_lock_win32.x:344:21: error: 'x' undeclared (first use in this function) Sincerely, Shinwoo Kim. -- All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [Patch][Evil] evil_string has strcasestr
Thanks for your response! I'm not sure other codes(languages? difference set?) need the strcasestr();. Even though the strcasestr(); is meaningless, it would work as strstr(); Anyhow, I will check strcasestr(); is really necessary or not. Have a good time! 2011/7/5 Carsten Haitzler ras...@rasterman.com On Fri, 1 Jul 2011 10:15:21 +0900 cnook kimci...@gmail.com said: now... that looks technically ok... but why are you using strcasestr. manual page is pretty specific: The strcasestr() function is a nonstandard extension. so it's non-standard and.. well mingw and other os's might definitely not have it. we tend to stick to standard functions as much as we can. if you want to put this patch in as PART of submitting a new widget - i'm happy to look at it then in the context of the new widget and why it needs it. you do know that you may have to make this unicode friendly depending on usage? it the code you have there does just ascii (or the ascii portion of utf8 - skipping toupper/lower of anything beyond ascii) Hi :-] Your review comments in the attached patch. Thanks for your response always. Sincerely, Shinwoo Kim. 2011/6/29 Vincent Torri vto...@univ-evry.fr On Wed, 29 Jun 2011, cnook wrote: Oh I see, I got the point. Thanks for your response. Wherever the strcasestr() is used using previous patch, would be changed as bellow. #ifdef HAVE_STRCASESTR strcase(h, n); #else _elm_util_strcasestr(h, n); #endif better: #ifdef HAVE_STRCASESTR # define _elm_util_strcasestr(h, n) strcase((h), (n)) #endif and always use _elm_util_strcasestr() instead of strcasestr() Vincent Anyhow, I have refined the previous patch and attached. Then, wherever the strcasestr() is used, should be changed just as bellow _elm_util_strcasestr(h, n); Sincerely, Shinwoo Kim. 2011/6/29 Vincent Torri vto...@univ-evry.fr what he means is: * using AC_CHECK_FUNCS([strcasestr]) in configure.ac defined HAVE_STRCASESTR in config.h * in the code, you use the macro HAVE_STRCASESTR to use the glibc version of strcase, or to use your own version Vincent On Wed, 29 Jun 2011, cnook wrote: Hi Thanks for your response. I have no enough idea when it comes to E16. Actually this patch comes because of the Evil Windows environments - strcasestr does not exist. If strcasestr alternative - Estrcasestr - is on the E16, Should I install the E16 also or not? Sincerely, Shinwoo Kim. 2011/6/29 Hyoyoung Chang hyoyoung.ch...@samsung.com I think it's a nice patch if glibc's strcasestr can be used How about to add statements like below? #ifdef HAVE_STRCASESTR #define Estrcasestr(haystack, needle) strcasestr(haystack, needle) #else const char *Estrcasestr(const char *haystack, const char *needle); #endif In E16/e/src/util.h From: cnook [mailto:kimci...@gmail.com] Sent: Tuesday, June 28, 2011 3:58 PM To: Hyoyoung Chang Cc: Daniel Juyung Seo; enlightenment-devel@lists.**so**urceforge.net http://sourceforge.net enlightenment-**de...@lists.sourceforge.net enlightenment-devel@lists.sourceforge.net Subject: Re: [E-devel] [Patch][Evil] evil_string has strcasestr Dear All, Hi~ Here is the patch added on the elementary. :-] Sincerely, Shinwoo Kim. 2011/6/22 Hyoyoung Chang hyoyoung.ch...@samsung.com As I know strcasestr is not standard function. It's a glibc extension. CONFORMING TO The strstr() function conforms to C89 and C99. The strcasestr() funcÿÿ tion is a nonstandard extension. -- man page of strcasestr Is it only used in elementary? If then how about add to check routine in configure and add in elm_util.c? Or is it widely used in e project, it can be added in other module. PS. I google about strcasestr. It's contained in LSB 3.1 http://refspecs.freestandards.org/LSB_3.1.1/LSB-Core-** generic/LSB-Core-generihttp:/**/refspecs.freestandards.org/** LSB_3.1.1/LSB-Core-generic/**LSB-Core-generi http://refspecs.freestandards.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generi c/baselib-strcasestr.html -Original Message- From: cnook [mailto:kimci...@gmail.com] Sent: Wednesday, June 22, 2011 5:56 PM To: Daniel Juyung Seo Cc: enlightenment-devel@lists.**so**urceforge.net http://sourceforge.net enlightenment-**de...@lists.sourceforge.net enlightenment-devel@lists.sourceforge.net Subject: Re: [E-devel] [Patch][Evil] evil_string has strcasestr Dear Mr. Daniel, Thanks your response :-] Initially, I had added this to the elm_entry in downstream(?), but a reviewer does not prefer it in the elm_entry. Then how about add this somewhere in Elementary? um