On Fri, 13 May 2011 10:15:34 +0900 Daniel Juyung Seo <seojuyu...@gmail.com>
said:

none - i had my say. :) commitsors

> Any comments on this patch?
> 
> Daniel Juyung Seo (SeoZ)
> 
> On Tue, May 3, 2011 at 8:00 PM, Seunggyun Kim <sgyun....@samsung.com> wrote:
> > Thanks for your review.
> >
> > I attached fixed source diff code.
> > Since I uploaded first diff code, genlist item realize function and item edc
> > had been changed by cedric.
> > So I also fixed my code according to the latest genlist code.
> > This version supports edit mode selection handling.
> >
> > Please review about this.
> > Thanks.
> >
> > -----Original Message-----
> > From: Daniel Juyung Seo [mailto:seojuyu...@gmail.com]
> > Sent: Thursday, April 21, 2011 5:31 PM
> > To: Seunggyun Kim
> > Cc: enlightenment-devel@lists.sourceforge.net
> > Subject: Re: [E-devel] [Patch] elm_genlist - added new feature : genlist
> > edit mode
> >
> > Dear Seunggyun,
> > I have some comments.
> >
> > 1) Formatting.
> >    There are many wrong formatting: indentation, braces, using one line
> > after if, alignment of function declaration, trailing whitespaces and etc.
> >
> > 2) Exception for selection.
> >    There are some exception handling code for selection. Is there any reason
> > to do this?
> >
> > 3) It will be better to move _edit_mode_item_unrealize() above it->realized
> > = EINA_FALSE;
> >   Because after unrealizing all instances of that item, we can say the item
> > is unrealized.
> >
> > @@ -1917,6 +1934,7 @@ _item_unrealize(Elm_Genlist_Item *it, Eina_Bool ca
> >      it->states = NULL;
> >      it->realized = EINA_FALSE;
> >      it->want_unrealize = EINA_FALSE;
> >  +   if (it->wd->edit_mode) _edit_mode_item_unrealize(it);
> >   }
> >
> > 4) Missing braces in if statement.
> >     Unnecessary {, } for one liner.
> >
> > +                       if (it->wd->edit_mode && it->itc->edit_item_style)
> > +                         {
> > +                            _edit_mode_item_controls(it, it->scrl_x,
> > it->scrl_y);
> > +                         }
> >
> > 5) How about 'position' or something else instead of 'controls'?
> >     Just a suggestion, if you mind just leave it :)
> >
> >>> _edit_mode_item_controls()
> >
> > 6) Why two braces?
> >    And it's not reasonable check wd->edit_mode inside
> > _edit_mode_item_realize().
> >    Because it's not possible to go that line if it's not in an edit mode.
> >
> >>> if ((it->wd->edit_mode))
> >
> > 7) Just return wd->edit_mode.
> >
> >>> if (wd->edit_mode) return EINA_TRUE;
> >>> else return EINA_FALSE;
> >
> > 8) Use !! for Eina_Bool type parameter in EAPIs.
> >
> >>> wd->edit_mode = edit_mode;
> > wd->edit_mode = !!edit_mode;
> >
> > This workarounds application programmer's mistake.
> >
> > 9) How about using elm_genlist_realized_items_get() API?
> >
> >>> EINA_INLIST_FOREACH(wd->blocks, itb)
> >>>   {
> >>>     if (itb->realized)
> >>>       {
> >>>         EINA_LIST_FOREACH(itb->items, l, it)
> >>>           {
> >>>              if (it->flags != ELM_GENLIST_ITEM_GROUP && it->realized)
> >
> >
> > 10) Missing braces.
> >
> >>> if (it->flags != ELM_GENLIST_ITEM_GROUP && it->realized)
> > if ((it->flags != ELM_GENLIST_ITEM_GROUP) && (it->realized))
> >
> > There are more of it. Please check all.
> >
> > 11) Use __UNUSED__ for not used parameters.
> >
> > 12) Space between if and (.
> >
> >>> if(!tit->checked)
> >
> > 13) Fix warnings.
> >    If you don't have enough warnings, add "-W -Wall -Wextra" to CFLAGS.
> >
> > 14) Seg fault.
> >    It's not working when I go to "Genlist Edit" menu. It's killed.
> >
> > Hmm I'm not sure if only I have problems with running genlist edit in
> > elementary_test.
> > It has a seg fault.
> >
> > Other e-developers, please test this.
> >
> > Thank you.
> > Daniel Juyung Seo (SeoZ)
> >
> > On Tue, Apr 19, 2011 at 4:32 PM, Seunggyun Kim <sgyun....@samsung.com>
> > wrote:
> > Thanks for your review :)
> >
> > I attached fixed source diff code.
> >
> > The edit edc is like below table.
> > -------------------------------------------------------------------------
> > | elm.edit.icon.1 |       elm.swallow.edit.content       |  elm.edit.icon,2
> > |
> > -------------------------------------------------------------------------
> >
> > Now it is showing only edit mode set animation.
> > If this is committed, I'll send another patch about edit mode unset
> > animation.
> >
> > Thanks:)
> >
> >
> > -----Original Message-----
> > From: Carsten Haitzler (The Rasterman) [mailto:ras...@rasterman.com]
> > Sent: Monday, April 18, 2011 7:41 PM
> > To: Seunggyun Kim
> > Cc: enlightenment-devel@lists.sourceforge.net
> > Subject: Re: [E-devel] [Patch] elm_genlist - added new feature : genlist
> > edit mode
> >
> > On Sat, 16 Apr 2011 17:30:13 +0900 Seunggyun Kim <sgyun....@samsung.com>
> > said:
> >
> > i'm rather happy that i now get to grumble about much more esoteric things
> > in
> > patches :)
> >
> > ... why is ediit_mode not Eina_Bool and even better it's together with all
> > the
> > other Eina_Bool var:1 fields? this leads to much better struct packing.
> > saves a
> > byte :)
> >    double            longpress_timeout;
> > +   int               edit_mode;
> >  };
> >
> > why are edit_icon_objs and edit_obj not higher up with pointers like
> > Evas_Object *spacer etc.? better struct packing and alignment. :)
> > +   Eina_List                     *edit_icon_objs;
> > +   Evas_Object                   *edit_obj;
> >
> >
> > bonus space at end before ")" :)
> > +        if (it->itc->edit_item_style )
> >
> >
> > this looks wrong. default case is item/edit_default but other styles are
> > item/stylename. really shouldnt this be like "item/edit/default" and
> > "item/edit/stylename".. in fact always item/edit/STYLENAME... ? simpler code
> > and more consistent and style can provide a simpler stylename not needing
> > edit_
> > in it... :)
> > +   if (it->itc->edit_item_style && strcmp(it->itc->edit_item_style,
> > "default"))
> > +     {
> > +        strncat(buf, it->itc->edit_item_style, sizeof(buf) - strlen(buf));
> > +        _elm_theme_object_set(it->base.widget, it->edit_obj, "genlist",
> > buf,
> > elm_widget_style_get(it->base.widget));
> > +     }
> > +   else
> > +     {
> > +        _elm_theme_object_set(it->base.widget, it->edit_obj, "genlist",
> > "item/edit_default", elm_widget_style_get(it->base.widget));
> > +     }
> >
> > "original_edc" - you should namespace edc partnames "officially" required by
> > elm. "elm.swallow.edit.content" for example
> > +   edje_object_part_swallow(it->edit_obj, "original_edc", it->base.view);
> >
> > decide on a consistent naming of signals here. "elm,state,edit,enabled" and
> > "elm/state/edit/disabled" for example... BUT.. why emit a signal at the
> > end..
> > just before you go DELETE the edit mode obj? pretty pointless signalling it
> > then deleting it. if your plan is to allow an animation to "go out of edit
> > mode" then keep the object around until that animation is done (some signal
> > tells you tis done from the obj).
> > +   if (effect_on) edje_object_signal_emit(it->edit_obj,
> > "elm,state,emode_enabled_effect", "elm");
> > +   else edje_object_signal_emit(it->edit_obj, "elm,state,emode_enabled",
> > "elm");
> > AND
> > +   edje_object_signal_emit(it->edit_obj, "elm,state,edit_end,disable",
> > "elm");
> > AND
> > +   evas_object_del(it->edit_obj);
> >
> > base.view is already a sub object of it->base.widget when it was created.
> > swallowing it into the edit obj didn't change that. it moved down 1 level in
> > the evas object tree, but not in the elm one. :) no need for this.
> > +   elm_widget_sub_object_add(it->base.widget, it->base.view);
> >
> > that's it! :) not much.
> >
> >> Hello. All.
> >>
> >> I made genlist edit mode.
> >>
> >> The edit mode can be used when the application want to change existing
> > item
> >> edc into more expanded item edc.
> >> The application can use this edit mode for genlist item editing.
> >> For example, if the application want to show check box or plus/minus
> > button
> >> at the left or right of item in some case,
> >> they can use this edit mode.
> >>
> >> This edit mode style includes existing item and will be extended according
> >> to edit_item_style.
> >>
> >> edit_item_style  "edit_default" EDC layout is like below. each part is
> >> swallow part.
> >> the existing item is swllowed to original_edc part.
> >> --------------------------------------------------------------------------
> >> | elm.edit.icon.1 |                original_edc                |
> >> elm.edit.icon,2 |
> >> --------------------------------------------------------------------------
> >>
> >> After applitciaon set edit mode, genlist loads
> >> Elm_Genlist_Item_Class.edit_item_style if the style is not NULL.
> >> Then genlist swallows a existing item to "original_edc" swallow part in
> >> edit_item_style EDC.)
> >> and the genlist will start to call application icon_get callback function
> > to
> >> swallow application objects(checkbox, radio button, plus/minus button.
> > etc.)
> >>
> >> In time, the application returns checkbox or another object in icon_get
> >> callback. edit mode EDC part name is "elm.edit.icon.1",
> > "elm.edit.icon.2"..
> >>
> >> This API will change all realized items to edit mode style. In caes the
> > list
> >> is scrolled, when an item is realized,  the item will be also changed to
> >> edit mode style.
> >>
> >> For edit mode, I newly added elm_genlist_edit_mode_set /
> >> elm_genlist_edit_mode_get api.
> >>
> >> I changed below files.
> >>
> >> a) elm_genlist.patch.txt
> >> -----------------------------------
> >> elementary/src/lib/Elementary.h.in
> >> elementary/src/lib/elm_genlist.c
> >>
> >> b) test_genlist.patch.txt
> >> -----------------------------------
> >> elementary/src/bin/test.c
> >> elementary/src/bin/test_genlist.c
> >>
> >> c) theme_default.patch.txt
> >> -----------------------------------
> >> elementary/data/themes/default.edc
> >>
> >> Please review about this.
> >> Thanks.
> >
> >
> > --
> > ------------- Codito, ergo sum - "I code, therefore I am" --------------
> > The Rasterman (Carsten Haitzler)    ras...@rasterman.com
> >
> > ----------------------------------------------------------------------------
> > --
> > Benefiting from Server Virtualization: Beyond Initial Workload
> > Consolidation -- Increasing the use of server virtualization is a top
> > priority.Virtualization can reduce costs, simplify management, and improve
> > application availability and disaster protection. Learn more about boosting
> > the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
> > _______________________________________________
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
> >
> > ------------------------------------------------------------------------------
> > WhatsUp Gold - Download Free Network Management Software
> > The most intuitive, comprehensive, and cost-effective network
> > management toolset available today.  Delivers lowest initial
> > acquisition cost and overall TCO of any competing solution.
> > http://p.sf.net/sfu/whatsupgold-sd
> > _______________________________________________
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
> >
> 
> ------------------------------------------------------------------------------
> Achieve unprecedented app performance and reliability
> What every C/C++ and Fortran developer should know.
> Learn how Intel has extended the reach of its next-generation tools
> to help boost performance applications - inlcuding clusters.
> http://p.sf.net/sfu/intel-dev2devmay
> _______________________________________________
> 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


------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to