On Fri, Feb 24, 2012 at 9:24 AM, Elevate Efl <eflel...@gmail.com> wrote:
> No.
>
> *_MAX really doesn't give the app. developer anything useful.

Hello,

> It has been added for the convenience (bounds checking) of the widget
> implementation.

Exactly, that's why they're needed. Without it, if the last member of
the enum is changed, all application have to change their error check
code.

>
> If we expose _MAX we need to tell the app. developer what is the expected
> behaviour if he uses it, which is unnecessary.

This is common and other EFL libraries also use MAX value.
Can you consider this again?

Daniel Juyung Seo (SeoZ)

>
>
>
>
>
> On Fri, Feb 24, 2012 at 1:16 AM, Tom Hacohen <tom.haco...@samsung.com>wrote:
>
>> REVERT! :)
>>
>> Really though, judging from Daniel's comment it sounds like someone
>> should revert it.
>>
>> --
>> Tom.
>>
>> On 23/02/12 18:12, Daniel Juyung Seo wrote:
>> > Dear Sanjeev,
>> >
>> > On Thu, Feb 23, 2012 at 11:52 AM, Enlightenment SVN
>> > <no-re...@enlightenment.org>  wrote:
>> >> Log:
>> >> Remove MAX, it is not useful for app. developers.
>> >
>> > This means new selection type will never be added?
>> >
>> > Daniel Juyung Seo (SeoZ)
>> >
>> >
>> >>
>> >>   Signed-off-by: Sanjeev BA<eflel...@gmail.com>
>> >>
>> >> Author:       sanjeev
>> >> Date:         2012-02-22 18:52:07 -0800 (Wed, 22 Feb 2012)
>> >> New Revision: 68291
>> >> Trac:         http://trac.enlightenment.org/e/changeset/68291
>> >>
>> >> Modified:
>> >>   trunk/elementary/src/lib/elm_cnp.c trunk/elementary/src/lib/elm_cnp.h
>> >>
>> >> Modified: trunk/elementary/src/lib/elm_cnp.c
>> >> ===================================================================
>> >> --- trunk/elementary/src/lib/elm_cnp.c  2012-02-23 02:52:00 UTC (rev
>> 68290)
>> >> +++ trunk/elementary/src/lib/elm_cnp.c  2012-02-23 02:52:07 UTC (rev
>> 68291)
>> >> @@ -324,7 +324,7 @@
>> >>       },
>> >>   };
>> >>
>> >> -static Cnp_Selection selections[ELM_SEL_TYPE_MAX] = {
>> >> +static Cnp_Selection selections[ELM_SEL_TYPE_CLIPBOARD + 1] = {
>> >>       ARRAYINIT(ELM_SEL_TYPE_PRIMARY) {
>> >>            .debug = "Primary",
>> >>            .ecore_sel = ECORE_X_SELECTION_PRIMARY,
>> >> @@ -339,6 +339,11 @@
>> >>            .clear = ecore_x_selection_secondary_clear,
>> >>            .request = ecore_x_selection_secondary_request,
>> >>       },
>> >> +     ARRAYINIT(ELM_SEL_TYPE_XDND) {
>> >> +          .debug = "XDnD",
>> >> +          .ecore_sel = ECORE_X_SELECTION_XDND,
>> >> +          .request = ecore_x_selection_xdnd_request,
>> >> +     },
>> >>       ARRAYINIT(ELM_SEL_TYPE_CLIPBOARD) {
>> >>            .debug = "Clipboard",
>> >>            .ecore_sel = ECORE_X_SELECTION_CLIPBOARD,
>> >> @@ -346,11 +351,6 @@
>> >>            .clear = ecore_x_selection_clipboard_clear,
>> >>            .request = ecore_x_selection_clipboard_request,
>> >>       },
>> >> -     ARRAYINIT(ELM_SEL_TYPE_XDND) {
>> >> -          .debug = "XDnD",
>> >> -          .ecore_sel = ECORE_X_SELECTION_XDND,
>> >> -          .request = ecore_x_selection_xdnd_request,
>> >> -     },
>> >>   };
>> >>
>> >>   /* Data for DND in progress */
>> >> @@ -400,7 +400,7 @@
>> >>
>> >>     if (top) xwin = elm_win_xwindow_get(top);
>> >>     else xwin = elm_win_xwindow_get(obj);
>> >> -   if ((!xwin) || (selection>= ELM_SEL_TYPE_MAX))
>> >> +   if ((!xwin) || (selection>  ELM_SEL_TYPE_CLIPBOARD))
>> >>       return EINA_FALSE;
>> >>     if (!_elm_cnp_init_count) _elm_cnp_init();
>> >>     if ((!selbuf)&&  (format != ELM_SEL_FORMAT_IMAGE))
>> >> @@ -438,7 +438,7 @@
>> >>   #ifdef HAVE_ELEMENTARY_X
>> >>     Cnp_Selection *sel;
>> >>
>> >> -   if ((unsigned int)selection>= (unsigned int)ELM_SEL_TYPE_MAX)
>> >> +   if ((unsigned int)selection>  (unsigned int)ELM_SEL_TYPE_CLIPBOARD)
>> >>       return EINA_FALSE;
>> >>     if (!_elm_cnp_init_count) _elm_cnp_init();
>> >>
>> >> @@ -470,7 +470,7 @@
>> >>     Evas_Object *top;
>> >>     Cnp_Selection *sel;
>> >>
>> >> -   if (selection>= ELM_SEL_TYPE_MAX)
>> >> +   if (selection>  ELM_SEL_TYPE_CLIPBOARD)
>> >>       return EINA_FALSE;
>> >>     if (!_elm_cnp_init_count) _elm_cnp_init();
>> >>
>> >> @@ -519,13 +519,13 @@
>> >>     Cnp_Selection *sel;
>> >>     int i;
>> >>
>> >> -   for (i = 0; i<  ELM_SEL_TYPE_MAX; i++)
>> >> +   for (i = 0; i<= ELM_SEL_TYPE_CLIPBOARD; i++)
>> >>       {
>> >>          if (selections[i].ecore_sel == ev->selection) break;
>> >>       }
>> >>     cnp_debug("selection %d clear\n", i);
>> >>     /* Not me... Don't care */
>> >> -   if (i == ELM_SEL_TYPE_MAX) return ECORE_CALLBACK_PASS_ON;
>> >> +   if (i>  ELM_SEL_TYPE_CLIPBOARD) return ECORE_CALLBACK_PASS_ON;
>> >>
>> >>     sel = selections + i;
>> >>     sel->active = EINA_FALSE;
>> >> @@ -556,9 +556,6 @@
>> >>     cnp_debug("selection notify callback: %d\n",ev->selection);
>> >>     switch (ev->selection)
>> >>       {
>> >> -      case ECORE_X_SELECTION_CLIPBOARD:
>> >> -         sel = selections + ELM_SEL_TYPE_CLIPBOARD;
>> >> -         break;
>> >>        case ECORE_X_SELECTION_PRIMARY:
>> >>           sel = selections + ELM_SEL_TYPE_PRIMARY;
>> >>           break;
>> >> @@ -568,6 +565,9 @@
>> >>        case ECORE_X_SELECTION_XDND:
>> >>           sel = selections + ELM_SEL_TYPE_XDND;
>> >>           break;
>> >> +      case ECORE_X_SELECTION_CLIPBOARD:
>> >> +         sel = selections + ELM_SEL_TYPE_CLIPBOARD;
>> >> +         break;
>> >>        default:
>> >>           return ECORE_CALLBACK_PASS_ON;
>> >>       }
>> >> @@ -600,7 +600,7 @@
>> >>          Cnp_Selection *sel = selections + *((int *)data);
>> >>          if (sel->active&&
>> >>              (sel->format>= ELM_SEL_FORMAT_TARGETS)&&
>> >> -            (sel->format<  ELM_SEL_FORMAT_MAX))
>> >> +            (sel->format<= ELM_SEL_FORMAT_HTML))
>> >>            return sel->format;
>> >>       }
>> >>     return ELM_SEL_FORMAT_NONE;
>> >>
>> >> Modified: trunk/elementary/src/lib/elm_cnp.h
>> >> ===================================================================
>> >> --- trunk/elementary/src/lib/elm_cnp.h  2012-02-23 02:52:00 UTC (rev
>> 68290)
>> >> +++ trunk/elementary/src/lib/elm_cnp.h  2012-02-23 02:52:07 UTC (rev
>> 68291)
>> >> @@ -1,24 +1,30 @@
>> >>   /**
>> >> - * @addtogroup CopyPaste
>> >> + * @defgroup CopyPaste
>> >> + *
>> >> + * Implement the copy and paste + clipboard functionality, in order to
>> >> + * share data across application windows.
>> >> + *
>> >> + * Contains functions to select a portion of text, stick it to a
>> clipboard
>> >> + * and to paste the selection to an appropriate place.
>> >> + *
>> >> + *
>> >> + *
>> >>   * @{
>> >>   */
>> >> -
>> >>   typedef struct _Elm_Selection_Data Elm_Selection_Data;
>> >>   typedef Eina_Bool                (*Elm_Drop_Cb)(void *d, Evas_Object
>> *o, Elm_Selection_Data *data);
>> >>
>> >>   /**
>> >> - * Types of X window selection property names.
>> >> + * Defines the types of selection property names.
>> >>   * Kindly refer to http://www.x.org/docs/X11/xlib.pdf
>> >>   * for more details.
>> >>   */
>> >>   typedef enum
>> >>   {
>> >>     ELM_SEL_TYPE_PRIMARY, //primary text selection
>> >> -   ELM_SEL_TYPE_SECONDARY,
>> >> +   ELM_SEL_TYPE_SECONDARY, // used when primary selection is in use.
>> >>     ELM_SEL_TYPE_XDND, //drag and drop
>> >> -   ELM_SEL_TYPE_CLIPBOARD,
>> >> -
>> >> -   ELM_SEL_TYPE_MAX,
>> >> +   ELM_SEL_TYPE_CLIPBOARD, // highlighted text
>> >>   } Elm_Sel_Type;
>> >>
>> >>   typedef enum
>> >> @@ -37,8 +43,6 @@
>> >>     ELM_SEL_FORMAT_VCARD = 0x08,
>> >>     /** Raw HTML-like things for widgets that want that stuff (hello
>> webkit!) */
>> >>     ELM_SEL_FORMAT_HTML = 0x10,
>> >> -
>> >> -   ELM_SEL_FORMAT_MAX
>> >>   } Elm_Sel_Format;
>> >>
>> >>   struct _Elm_Selection_Data
>> >>
>> >>
>> >>
>> ------------------------------------------------------------------------------
>> >> 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-svn mailing list
>> >> enlightenment-...@lists.sourceforge.net
>> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>> >
>> >
>> ------------------------------------------------------------------------------
>> > 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
>> >
>>
>>
>>
>> ------------------------------------------------------------------------------
>> 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
>>
> ------------------------------------------------------------------------------
> 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

------------------------------------------------------------------------------
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

Reply via email to