[E-devel] [patch] elm_genlist - add item_class management functions

2012-02-15 Thread Hyoyoung Chang
yeah, it's right.
added free and ref to examples.

On Tue, Feb 14, 2012 at 2:47 PM, Carsten Haitzler  wrote:
> On Mon, 13 Feb 2012 19:07:07 +0900 Hyoyoung Chang  said:
>
> ooh something i didn't realize - you should free item class in test examples
> after u are done filling genlist with items - so the example is good.
> (otherwise they will leak) :)
>
>> So it's revised version.
>> I changed for 1~4.
>> And one more thing is changed.
>> ref/unref functions are public.
>> Because refcount start from 1.
>> Thank you.
>>
>> On Mon, Feb 13, 2012 at 5:11 PM, Carsten Haitzler 
>> wrote:
>> > On Fri, 10 Feb 2012 18:26:08 +0900 Hyoyoung Chang  
>> > said:
>> >
>> > 1. your patch has your "minw ... wd->w" stuff (bugfix at genlist rotation)
>> > 2. refcount should start at 1 imho.
>> > 3. delete_me -> use bitfield (delete_me : 1)
>> > 4. i'd prefer the version field to be at the start, not end of class. i 
>> > kn-w
>> > this breaks abi with current apps, but we have to do this to make things
>> > work into the future. also move refcount and delete_me flag to the start
>> > too. keep func at the end please :)
>> >
>> > fix these and then thumbs up :)
>> >
>> >> Dear all.
>> >>
>> >> I make controversial apis for item class management.
>> >> As raster and other guys suggest, I simplify APIs and its behaviors.
>> >>
>> >> First, Two public apis and two internal apis are introduced
>> >>
>> >> +EAPI Elm_Genlist_Item_Class *
>> >> +elm_genlist_item_class_new(void)
>> >>
>> >> +EAPI void
>> >> +elm_genlist_item_class_free(Elm_Genlist_Item_Class *itc)
>> >>
>> >> +void
>> >> +_elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc)
>> >>
>> >> +void
>> >> +_elm_genlist_item_class_unref(Elm_Genlist_Item_Class *itc)
>> >>
>> >> genlist item class is maintained by genlist in automatic manner.
>> >>
>> >> And three fields are introduced in genlist item class.
>> >> +   int version;
>> >> +   unsigned int refcount;
>> >> +   Eina_Bool delete_me;
>> >>
>> >> Normally a user add a elm_genlist_item_class by elm_genlist_item_class_new
>> >> (). Then its reference counter is automatic maintained.
>> >> If the user wanna to remove the elm_genlist_item_class, then call
>> >> elm_genlist_item_class_free()
>> >> After refcount reaches to 0, it will be removed.
>> >>
>> >> Thank you.
>> >>
>> >> PS: I made those apis in genlist. If its accepted i'll make a new
>> >> patch for gengrid.
>> >
>> >
>> > --
>> > - 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
>
Index: elementary/src/lib/elm_genlist.c
===
--- elementary/src/lib/elm_genlist.c(리비전 67966)
+++ elementary/src/lib/elm_genlist.c(작업 사본)
@@ -796,6 +796,7 @@
  it->parent->item->items = eina_list_remove(it->parent->item->items, it);
if (it->item->swipe_timer) ecore_timer_del(it->item->swipe_timer);
_elm_genlist_item_del_serious(it);
+   elm_genlist_item_class_unref((Elm_Genlist_Item_Class *)it->itc);
evas_event_thaw(evas_object_evas_get(obj));
evas_event_thaw_eval(evas_object_evas_get(obj));
 }
@@ -3323,6 +3324,7 @@
it->wd = wd;
it->generation = wd->generation;
it->itc = itc;
+   elm_genlist_item_class_ref((Elm_Genlist_Item_Class *)itc);
it->base.data = data;
it->parent = parent;
it->func.func = func;
@@ -5331,6 +5333,57 @@
return _it->item->flags;
 }
 
+EAPI Elm_Genlist_Item_Class *
+elm_genlist_item_class_new(void)
+{
+   Elm_Genlist_Item_Class *itc;
+
+   itc = calloc(1, sizeof(Elm_Genlist_Item_Class));
+   if (!itc)
+ return NULL;
+   itc->version = ELM_GENLIST_ITEM_CLASS_VERSION;
+   itc->refcount = 1;
+   itc->delete_me = EINA_FALSE;
+
+   return itc;
+}
+
+EAPI void
+elm_genlist_item_class_free(Elm_Genlist_Item_Class *itc)
+{
+   if (itc->version == ELM_GENLIST_ITEM_CLASS_VERSION)
+ {
+if (!itc->delete_me) itc->delete_me = EINA_TRUE;
+if (itc->refcount > 0) elm_genlist_item_class_unref(itc);
+else
+  {
+ itc->version = 0;
+ free(itc);
+  }
+ }
+}
+
+EAPI void
+elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc)
+{
+   if (itc->version == ELM_GENLIST_ITEM_CLASS_VERSION)
+ {
+itc->refcount++;
+if (itc->refcount == 0) itc->refcount--;
+ }
+}
+
+EAPI void
+elm_genlist_item_class_unref(Elm_Genlist_Item_Class *itc)
+{
+   if (itc->version == ELM_GENLIST_ITEM_CLASS_VERSION)
+ {
+if (itc->refcount > 0) itc->refcount--;
+if (itc->delete_me && (!itc->refcount))
+  elm_genlist_item_class_free(itc);
+ }
+}
+
 /* for gengrid as of now */
 void
 _elm_genlist_page_relative_set(Evas_Object *obj,
Index: elementary/src/lib/elm_genlist.h
===
--- element

Re: [E-devel] E SVN: jihoon IN trunk/ecore: . src/lib/ecore_imf src/modules/immodules/scim src/modules/immodules/xim

2012-02-15 Thread Vincent Torri
On Wed, Feb 15, 2012 at 2:22 AM, Enlightenment SVN
 wrote:
> Log:
> ecore_imf: Add ecore_imf APIs to set return key type, disable return key.
>
>
> Author:       jihoon
> Date:         2012-02-14 17:22:28 -0800 (Tue, 14 Feb 2012)
> New Revision: 67946
> Trac:         http://trac.enlightenment.org/e/changeset/67946
>
> Modified:
>  trunk/ecore/ChangeLog trunk/ecore/src/lib/ecore_imf/Ecore_IMF.h 
> trunk/ecore/src/lib/ecore_imf/ecore_imf_context.c 
> trunk/ecore/src/lib/ecore_imf/ecore_imf_private.h 
> trunk/ecore/src/modules/immodules/scim/scim_module.cpp 
> trunk/ecore/src/modules/immodules/xim/ecore_imf_xim.c
>
> Modified: trunk/ecore/ChangeLog
> ===
> --- trunk/ecore/ChangeLog       2012-02-15 00:47:11 UTC (rev 67945)
> +++ trunk/ecore/ChangeLog       2012-02-15 01:22:28 UTC (rev 67946)
> @@ -489,3 +489,8 @@
>  2012-02-10  Christopher Michael (devilhorns)
>
>         * Add Ecore_Evas function to allow setting a mouse pointer from 
> efl/elm wayland clients.
> +
> +2012-02-15  Jihoon Kim (jihoon)
> +
> +        * Add ecore_imf APIs to set return key type, disable return key.
> +
>
> Modified: trunk/ecore/src/lib/ecore_imf/Ecore_IMF.h
> ===
> --- trunk/ecore/src/lib/ecore_imf/Ecore_IMF.h   2012-02-15 00:47:11 UTC (rev 
> 67945)
> +++ trunk/ecore/src/lib/ecore_imf/Ecore_IMF.h   2012-02-15 01:22:28 UTC (rev 
> 67946)
> @@ -161,6 +161,18 @@
>    ECORE_IMF_INPUT_PANEL_LANG_ALPHABET      /**< Alphabet */
>  } Ecore_IMF_Input_Panel_Lang;
>
> +typedef enum
> +{
> +   ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT,
> +   ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DONE,
> +   ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_GO,
> +   ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_JOIN,
> +   ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN,
> +   ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_NEXT,
> +   ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH,
> +   ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SEND
> +} Ecore_IMF_Input_Panel_Return_Key_Type;
> +

you must also document the typedef, and saying it's from 1.2

Vincent


>  struct _Ecore_IMF_Event_Preedit_Start
>  {
>    Ecore_IMF_Context *ctx;
> @@ -347,6 +359,8 @@
>    void (*cursor_location_set) (Ecore_IMF_Context *ctx, int x, int y, int w, 
> int h);
>    void (*input_panel_imdata_set)(Ecore_IMF_Context *ctx, const void* data, 
> int len);
>    void (*input_panel_imdata_get)(Ecore_IMF_Context *ctx, void* data, int 
> *len);
> +   void (*input_panel_return_key_type_set) (Ecore_IMF_Context *ctx, 
> Ecore_IMF_Input_Panel_Return_Key_Type return_key_type);
> +   void (*input_panel_return_key_disabled_set) (Ecore_IMF_Context *ctx, 
> Eina_Bool disabled);
>  };
>
>  struct _Ecore_IMF_Context_Info
> @@ -422,6 +436,10 @@
>  EAPI Eina_Bool                     
> ecore_imf_context_input_panel_enabled_get(Ecore_IMF_Context *ctx);
>  EAPI void                          
> ecore_imf_context_input_panel_imdata_set(Ecore_IMF_Context *ctx, const void 
> *data, int len);
>  EAPI void                          
> ecore_imf_context_input_panel_imdata_get(Ecore_IMF_Context *ctx, void *data, 
> int *len);
> +EAPI void                          
> ecore_imf_context_input_panel_return_key_type_set(Ecore_IMF_Context *ctx, 
> Ecore_IMF_Input_Panel_Return_Key_Type actiontype);
> +EAPI Ecore_IMF_Input_Panel_Return_Key_Type 
> ecore_imf_context_input_panel_return_key_type_get(Ecore_IMF_Context *ctx);
> +EAPI void                          
> ecore_imf_context_input_panel_return_key_disabled_set(Ecore_IMF_Context *ctx, 
> Eina_Bool disabled);
> +EAPI Eina_Bool                     
> ecore_imf_context_input_panel_return_key_disabled_get(Ecore_IMF_Context *ctx);
>
>  /* The following entry points must be exported by each input method module
>  */
>
> Modified: trunk/ecore/src/lib/ecore_imf/ecore_imf_context.c
> ===
> --- trunk/ecore/src/lib/ecore_imf/ecore_imf_context.c   2012-02-15 00:47:11 
> UTC (rev 67945)
> +++ trunk/ecore/src/lib/ecore_imf/ecore_imf_context.c   2012-02-15 01:22:28 
> UTC (rev 67946)
> @@ -1428,3 +1428,93 @@
>    if (ctx->klass->input_panel_imdata_get)
>      ctx->klass->input_panel_imdata_get(ctx, data, len);
>  }
> +
> +/**
> + * Set the "return" key type. This type is used to set string or icon on the 
> "return" key of the input panel.
> + *
> + * An input panel displays the string or icon associated with this type
> + *
> + * @param ctx An #Ecore_IMF_Context.
> + * @param return_key_type The type of "return" key on the input panel
> + * @ingroup Ecore_IMF_Context_Group
> + * @since 1.2.0
> + */
> +EAPI void
> +ecore_imf_context_input_panel_return_key_type_set(Ecore_IMF_Context *ctx, 
> Ecore_IMF_Input_Panel_Return_Key_Type return_key_type)
> +{
> +   if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT))
> +     {
> +        ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT,
> +                         
> "ecore_imf_context_input_panel_re

Re: [E-devel] E SVN: jihoon IN trunk/edje: . src/lib

2012-02-15 Thread Vincent Torri
On Wed, Feb 15, 2012 at 9:21 AM, Enlightenment SVN
 wrote:
> Log:
> edje/edje_entry:
>  add edje_object_part_text_input_panel_language_set/get
>      edje_object_part_text_input_panel_imdata_set/get
>      edje_object_part_text_input_panel_return_key_type_set/get
>      edje_object_part_text_input_panel_return_key_disabled_set/get
>
>
> Author:       jihoon
> Date:         2012-02-15 00:21:11 -0800 (Wed, 15 Feb 2012)
> New Revision: 67966
> Trac:         http://trac.enlightenment.org/e/changeset/67966
>
> Modified:
>  trunk/edje/ChangeLog trunk/edje/src/lib/Edje.h 
> trunk/edje/src/lib/edje_entry.c trunk/edje/src/lib/edje_private.h 
> trunk/edje/src/lib/edje_util.c
>
> Modified: trunk/edje/ChangeLog
> ===
> --- trunk/edje/ChangeLog        2012-02-15 08:18:47 UTC (rev 67965)
> +++ trunk/edje/ChangeLog        2012-02-15 08:21:11 UTC (rev 67966)
> @@ -348,3 +348,10 @@
>  2012-02-14  Cedric Bail
>
>        * add a way to disable signal broadcasting introduced in edje 1.1.
> +
> +2012-02-15  Jihoon Kim
> +
> +       * add edje_object_part_text_input_panel_language_set/get
> +          edje_object_part_text_input_panel_imdata_set/get
> +          edje_object_part_text_input_panel_return_key_type_set/get
> +          edje_object_part_text_input_panel_return_key_disabled_set/get
>
> Modified: trunk/edje/src/lib/Edje.h
> ===
> --- trunk/edje/src/lib/Edje.h   2012-02-15 08:18:47 UTC (rev 67965)
> +++ trunk/edje/src/lib/Edje.h   2012-02-15 08:21:11 UTC (rev 67966)
> @@ -817,6 +817,24 @@
>    EDJE_INPUT_PANEL_LAYOUT_PASSWORD         /**< Like normal, but no 
> auto-correct, no auto-capitalization etc. @since 1.2 */
>  } Edje_Input_Panel_Layout;
>
> +typedef enum _Edje_Input_Panel_Lang
> +{
> +   EDJE_INPUT_PANEL_LANG_AUTOMATIC,    /**< Automatic */
> +   EDJE_INPUT_PANEL_LANG_ALPHABET      /**< Alphabet */
> +} Edje_Input_Panel_Lang;
> +
> +typedef enum _Edje_Input_Panel_Return_Key_Type
> +{
> +   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT,
> +   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DONE,
> +   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_GO,
> +   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_JOIN,
> +   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN,
> +   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_NEXT,
> +   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH,
> +   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SEND
> +} Edje_Input_Panel_Return_Key_Type;
> +

doc + @since of those 2 typedef

Vincent


>  /**
>  * @brief Converts type identifier to string nicer representation.
>  *
> @@ -2966,6 +2984,100 @@
>  EAPI void             edje_object_part_text_input_panel_hide(const 
> Evas_Object *obj, const char *part);
>
>  /**
> + * Set the language mode of the input panel.
> + *
> + * This API can be used if you want to show the Alphabet keyboard.
> + *
> + * @param obj A valid Evas_Object handle
> + * @param part The part name
> + * @param lang the language to be set to the input panel.
> + * @since 1.2.0
> + */
> +EAPI void             
> edje_object_part_text_input_panel_language_set(Evas_Object *obj, const char 
> *part, Edje_Input_Panel_Lang lang);
> +
> +/**
> + * Get the language mode of the input panel.
> + *
> + * See @ref edje_object_part_text_input_panel_language_set for more details.
> + *
> + * @param obj A valid Evas_Object handle
> + * @param part The part name
> + * @return input panel language type
> + * @since 1.2.0
> + */
> +EAPI Edje_Input_Panel_Lang 
> edje_object_part_text_input_panel_language_get(const Evas_Object *obj, const 
> char *part);
> +
> +/**
> + * Set the input panel-specific data to deliver to the input panel.
> + *
> + * This API is used by applications to deliver specific data to the input 
> panel.
> + * The data format MUST be negotiated by both application and the input 
> panel.
> + * The size and format of data are defined by the input panel.
> + *
> + * @param obj A valid Evas_Object handle
> + * @param part The part name
> + * @param data The specific data to be set to the input panel.
> + * @param len the length of data, in bytes, to send to the input panel
> + * @since 1.2.0
> + */
> +EAPI void             
> edje_object_part_text_input_panel_imdata_set(Evas_Object *obj, const char 
> *part, const void *data, int len);
> +
> +/**
> + * Get the specific data of the current active input panel.
> + *
> + * @param obj A valid Evas_Object handle
> + * @param part The part name
> + * @param data The specific data to be got from the input panel
> + * @param len The length of data
> + * @since 1.2.0
> + */
> +EAPI void             edje_object_part_text_input_panel_imdata_get(const 
> Evas_Object *obj, const char *part, void *data, int *len);
> +
> +/**
> + * Set the "return" key type. This type is used to set string or icon on the 
> "return" key of the input panel.
> + *
> + * An input panel displays the string or icon associated with this type
> + *
> + * @param obj A valid Evas_Object handle
> + * @param part The part name

Re: [E-devel] Elementary 1.0 (and efl 1.3, etc.)

2012-02-15 Thread Daniel Juyung Seo
On Tue, Feb 14, 2012 at 10:02 PM, Vincent Torri wrote:

> On Tue, Feb 14, 2012 at 3:44 AM, Carsten Haitzler 
> wrote:
> > Let's get this show on the road.
> >
> > So people have been asking for dates... I say March 1. get it out so we
> can
> > focus on E17 then. Cedric - this means Emotion, EIO, Ethumb too - right?
> what
> > about epdf? of course this also needs a new round of efl (eina, evas,
> edje
> > etc.) releases too. get cracking. freeze by 27th of feb! :)
>
> emotion should work on windows
> eio and ethumb are not working on windows yet
>
>
Hello,


> btw, you meant that EFL 1.2 and not 1.3 sould be released.


Yes it must be EFL 1.2 or 1.1.1 because last release was EFL 1.1.0.
http://www.enlightenment.org/p.php?p=news/show&l=en&news_id=37

Daniel Juyung Seo (SeoZ)


> Or else
>
i've completely missed the 1.2 one
>
> Vincent
>
>
> --
> 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
>
--
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] infinite loop somewhere below evas_tiler rect_list_add_split_fuzzy

2012-02-15 Thread Martin Jansa
On Tue, Feb 14, 2012 at 04:15:28PM +0100, hannes.janet...@gmail.com wrote:
> On Tue, Feb 14, 2012 at 12:47 PM, Carsten Haitzler  
> wrote:
> > On Mon, 6 Feb 2012 22:20:04 +0100 "hannes.janet...@gmail.com"
> >  said:
> >
> > ok - i'm stumped. it's doing soem bizarre list logic where it keeps taking
> > things off the rect list and putting them back again, taking them off, 
> > putting
> > them back, and finding out why is hard due it it taking a long time to 
> > trigger
> > and then trying to figure out the logic hole then by stepping is painful. 
> > i'm
> > going to have to leave this bug and get onto other things. :(
> >
> 
> sorry for having made this much trouble. had this bug lying around for
> a while and thought to at least mention it. i think i've seen cases
> where 'rects' list has loops if that helps... anyway no hurry for me
> with it.

I'm not sure if it's caused by this issue or not, but one simple script
we had started to cause OOM killer going after enlightenment process.

After I have stripped all parts of that script which are not needed to 
provoke OOM killer it's pretty simple:

SHR root@gjama ~ $ cat oom.py 
#!/usr/bin/env python

import elementary

print "Start"

elementary.init()

win = elementary.Window('oom',0);
bg = elementary.Background(win)
bg.show()
win.title_set('OOM')
win.show()
win.resize_object_add(bg)
win.fullscreen_set(True)

elementary.run()
elementary.shutdown()
exit()

First I've seen this with r67883, and maybe 100 revisions back it was still 
working.

root@qemux86-64:~# ./oom.py
Xlib:  extension "DPMS" missing on display ":0.0".
Start
phoneuid invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0, 
oom_score_adj=0
phoneuid cpuset=/ mems_allowed=0
Pid: 17491, comm: phoneuid Not tainted 3.2.2-yocto-standard+ #1
Call Trace:
 [] dump_header.isra.6+0x80/0x1e0
 [] ? get_task_cred+0x3b/0x60
 [] ? _raw_spin_unlock_irqrestore+0x17/0x40
 [] oom_kill_process+0x81/0x2a0
 [] ? select_bad_process.constprop.12+0xe6/0x150
 [] out_of_memory+0xeb/0x200
 [] __alloc_pages_nodemask+0x731/0x750
 [] filemap_fault+0x1ae/0x490
 [] __do_fault+0x6d/0x4f0
 [] handle_pte_fault+0x84/0x8b0
 [] ? get_parent_ip+0x11/0x50
 [] ? set_next_entity+0xa5/0xc0
 [] handle_mm_fault+0x142/0x220
 [] ? get_parent_ip+0x11/0x50
 [] do_page_fault+0x124/0x520
 [] ? do_mmap_pgoff+0x35f/0x380
 [] page_fault+0x1f/0x30
Mem-Info:
DMA per-cpu:
CPU0: hi:0, btch:   1 usd:   0
DMA32 per-cpu:
CPU0: hi:   42, btch:   7 usd:   7
active_anon:22790 inactive_anon:1467 isolated_anon:0
 active_file:3 inactive_file:27 isolated_file:0
 unevictable:12 dirty:2 writeback:0 unstable:0
 free:470 slab_reclaimable:1272 slab_unreclaimable:2201
 mapped:742 shmem:4541 pagetables:911 bounce:0
DMA free:616kB min:172kB low:212kB high:256kB active_anon:13248kB 
inactive_anon:1312kB active_file:0kB inactive_file:0kB unevictable:0kB 
isolated(anon):0kB isolated(file):0kB present:15656kB mlocked:0kB dirty:0kB 
writeback:0kB mapped:268kB shmem:6116kB slab_reclaimable:392kB 
slab_unreclaimable:136kB kernel_stack:16kB pagetables:192kB unstable:0kB 
bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes
lowmem_reserve[]: 0 110 110 110
DMA32 free:1264kB min:1256kB low:1568kB high:1884kB active_anon:77912kB 
inactive_anon:4556kB active_file:12kB inactive_file:108kB unevictable:48kB 
isolated(anon):0kB isolated(file):0kB present:112884kB mlocked:48kB dirty:8kB 
writeback:0kB mapped:2700kB shmem:12048kB slab_reclaimable:4696kB 
slab_unreclaimable:8668kB kernel_stack:440kB pagetables:3452kB unstable:0kB 
bounce:0kB writeback_tmp:0kB pages_scanned:194 all_unreclaimable? yes
lowmem_reserve[]: 0 0 0 0
DMA: 0*4kB 1*8kB 0*16kB 1*32kB 1*64kB 0*128kB 0*256kB 1*512kB 0*1024kB 0*2048kB 
0*4096kB = 616kB
DMA32: 2*4kB 3*8kB 5*16kB 2*32kB 1*64kB 2*128kB 1*256kB 1*512kB 0*1024kB 
0*2048kB 0*4096kB = 1264kB
4576 total pagecache pages
0 pages in swap cache
Swap cache stats: add 0, delete 0, find 0/0
Free swap  = 0kB
Total swap = 0kB
32749 pages RAM
2810 pages reserved
1157 pages shared
28609 pages non-shared
[ pid ]   uid  tgid total_vm  rss cpu oom_adj oom_score_adj name
[   44] 044 4880  161   0 -17 -1000 udevd
[   45] 04516032  152   0   0 0 systemd-journal
[  208] 0   208 4859  144   0 -17 -1000 udevd
[  209] 0   209 4896  175   0 -17 -1000 udevd
[  245] 0   24550059 4460   0   0 0 python
[  248] 0   24834321  184   0   0 0 fsoaudiod
[  250] 0   25014050   99   0   0 0 fsosystemd
[  256] 0   256 5959   54   0   0 0 systemd-logind
[  263] 0   263 2108   32   0   0 0 agetty
[  264] 0   26411452   74   0   0 0 login
[  267]   999   267 3920  149   0 -13  -900 dbus-daemon
[  271] 0   27164361   90   0   0 0 rsyslogd
[  282] 

Re: [E-devel] E SVN: hermet IN trunk/elementary: data/themes/widgets src/lib

2012-02-15 Thread Davide Andreoli
2012/2/15 ChunEon Park 

> IMHO, we should not break compatibility of theme as possible.
> But actually, edj is a program. it works so much things.
> We can't regard it just as a ui layout theme.
>  It could break compatibility of widget theme always. (like this case)
> Someday, it may need to break the program cause of the incompatibility of
> theme when major version is changed.
> At that time, those version checking will be helpful.
> If then, how about supporting version values in collections instead of
> data?
> collection {
>  version {
>  major : xx
>  minor: xx
>  }
> }
>

Having a new "version" block in edje (instead of (ab)using the data) is ok
for me, but I still
think the block must be at group level, not at collection.
Inside a collection you can have different group that can serve as themes
for different apps,
you can make, for example, an edj with both e17 themes bits and elm bits
inside.
thus the groups need different versions.

davemds


>  
> -Regards, Hermet-
>
> -Original Message-
> From: "Davide Andreoli"
> To: "Enlightenment developer list"&
> lt;enlightenment-devel@lists.sourceforge.net>
> Cc: enlightenment-...@lists.sourceforge.net
> Sent: 12-02-15(수) 04:19:30
> Subject: Re: [E-devel] E SVN: hermet IN trunk/elementary:
> data/themes/widgets src/lib
> 2012/2/13 ChunEon Park :
> > Sorry. I did not realize about other themes.
> Its not just other themes, also apps that use custom styles
> for the widget got broken, we always undervalue themes
> breakage.
> Maybe we should use some sort of versioning
> in edje themes? a standardized "data" field in the groups?
> like:
> group{
>  data {
>  item: "version" "X";
>  }
>  ...
> }
> and check the version on edje_load...
> It's an idea?
> davemds
> > 
> > -Regards, Hermet-
> >
> > -Original Message-
> > From: "Michael Blumenkrantz"
> > To: enlightenment-...@lists.sourceforge.net
> > Cc: enlightenment-devel@lists.sourceforge.net
> > Sent: 12-02-13(월) 06:54:35
> > Subject: Re: [E-devel] E SVN: hermet IN trunk/elementary:
> data/themes/widgets src/lib
> > On Wed, 1 Feb 2012 03:26:25 -0800
> > "Enlightenment SVN"  wrote:
> >> Log:
> >> elementary/ctxpopup - + hide effect
> >>
> >>
> >>
> >> Author: hermet
> >> Date: 2012-02-01 03:26:25 -0800 (Wed, 01 Feb 2012)
> >> New Revision: 67673
> >> Trac: http://trac.enlightenment.org/e/changeset/67673
> >>
> >> Modified:
> >> trunk/elementary/data/themes/widgets/ctxpopup.edc
> >> trunk/elementary/src/lib/elc_ctxpopup.c
> >>
> > I'm pretty sure this has been said many times before, but CHANGES LIKE
> THIS
> > WHICH BREAK THEMES NEED TO BE HIGHER PROFILE.
> > If you make a commit which breaks ALL other themes like this one does,
> YOU NEED
> > TO TELL OTHER PEOPLE. There are a few of us out here who actually try to
> create
> > and maintain other themes, and it's extremely frustrating to find out
> that
> > everything has been broken by other people since you last used it.
> > This applies not only to this commit, but to all commits of a similar
> nature.
> > If you want to see and use other themes, create an environment in which
> the
> > creators of such themes do not stop maintaining them because it is too
> > bothersome to do so.
> >
> --
> > 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
> >
> --
> > 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
>
> --
> 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

Re: [E-devel] E SVN: hermet IN trunk/elementary: data/themes/widgets src/lib

2012-02-15 Thread The Rasterman
On Wed, 15 Feb 2012 21:01:48 +0100 Davide Andreoli 
said:

> 2012/2/15 ChunEon Park 
> 
> > IMHO, we should not break compatibility of theme as possible.
> > But actually, edj is a program. it works so much things.
> > We can't regard it just as a ui layout theme.
> >  It could break compatibility of widget theme always. (like this case)
> > Someday, it may need to break the program cause of the incompatibility of
> > theme when major version is changed.
> > At that time, those version checking will be helpful.
> > If then, how about supporting version values in collections instead of
> > data?
> > collection {
> >  version {
> >  major : xx
> >  minor: xx
> >  }
> > }
> >
> 
> Having a new "version" block in edje (instead of (ab)using the data) is ok
> for me, but I still
> think the block must be at group level, not at collection.
> Inside a collection you can have different group that can serve as themes
> for different apps,
> you can make, for example, an edj with both e17 themes bits and elm bits
> inside.
> thus the groups need different versions.

or we can just change group name when we break "abi" to do versioning.

-- 
- Codito, ergo sum - "I code, therefore I am" --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
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] E SVN: jihoon IN trunk/edje: . src/lib

2012-02-15 Thread Jihoon Kim
I've updated in Ecore_IMF.h and Edje.h in svn.

Thanks, Vincent.

On Wednesday, February 15, 2012, Vincent Torri wrote:

> On Wed, Feb 15, 2012 at 9:21 AM, Enlightenment SVN
> > wrote:
> > Log:
> > edje/edje_entry:
> >  add edje_object_part_text_input_panel_language_set/get
> >  edje_object_part_text_input_panel_imdata_set/get
> >  edje_object_part_text_input_panel_return_key_type_set/get
> >  edje_object_part_text_input_panel_return_key_disabled_set/get
> >
> >
> > Author:   jihoon
> > Date: 2012-02-15 00:21:11 -0800 (Wed, 15 Feb 2012)
> > New Revision: 67966
> > Trac: http://trac.enlightenment.org/e/changeset/67966
> >
> > Modified:
> >  trunk/edje/ChangeLog trunk/edje/src/lib/Edje.h
> trunk/edje/src/lib/edje_entry.c trunk/edje/src/lib/edje_private.h
> trunk/edje/src/lib/edje_util.c
> >
> > Modified: trunk/edje/ChangeLog
> > ===
> > --- trunk/edje/ChangeLog2012-02-15 08:18:47 UTC (rev 67965)
> > +++ trunk/edje/ChangeLog2012-02-15 08:21:11 UTC (rev 67966)
> > @@ -348,3 +348,10 @@
> >  2012-02-14  Cedric Bail
> >
> >* add a way to disable signal broadcasting introduced in edje 1.1.
> > +
> > +2012-02-15  Jihoon Kim
> > +
> > +   * add edje_object_part_text_input_panel_language_set/get
> > +  edje_object_part_text_input_panel_imdata_set/get
> > +  edje_object_part_text_input_panel_return_key_type_set/get
> > +  edje_object_part_text_input_panel_return_key_disabled_set/get
> >
> > Modified: trunk/edje/src/lib/Edje.h
> > ===
> > --- trunk/edje/src/lib/Edje.h   2012-02-15 08:18:47 UTC (rev 67965)
> > +++ trunk/edje/src/lib/Edje.h   2012-02-15 08:21:11 UTC (rev 67966)
> > @@ -817,6 +817,24 @@
> >EDJE_INPUT_PANEL_LAYOUT_PASSWORD /**< Like normal, but no
> auto-correct, no auto-capitalization etc. @since 1.2 */
> >  } Edje_Input_Panel_Layout;
> >
> > +typedef enum _Edje_Input_Panel_Lang
> > +{
> > +   EDJE_INPUT_PANEL_LANG_AUTOMATIC,/**< Automatic */
> > +   EDJE_INPUT_PANEL_LANG_ALPHABET  /**< Alphabet */
> > +} Edje_Input_Panel_Lang;
> > +
> > +typedef enum _Edje_Input_Panel_Return_Key_Type
> > +{
> > +   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT,
> > +   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_DONE,
> > +   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_GO,
> > +   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_JOIN,
> > +   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN,
> > +   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_NEXT,
> > +   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH,
> > +   EDJE_INPUT_PANEL_RETURN_KEY_TYPE_SEND
> > +} Edje_Input_Panel_Return_Key_Type;
> > +
>
> doc + @since of those 2 typedef
>
> Vincent
>
>
> >  /**
> >  * @brief Converts type identifier to string nicer representation.
> >  *
> > @@ -2966,6 +2984,100 @@
> >  EAPI void edje_object_part_text_input_panel_hide(const
> Evas_Object *obj, const char *part);
> >
> >  /**
> > + * Set the language mode of the input panel.
> > + *
> > + * This API can be used if you want to show the Alphabet keyboard.
> > + *
> > + * @param obj A valid Evas_Object handle
> > + * @param part The part name
> > + * @param lang the language to be set to the input panel.
> > + * @since 1.2.0
> > + */
> > +EAPI void
> edje_object_part_text_input_panel_language_set(Evas_Object *obj, const char
> *part, Edje_Input_Panel_Lang lang);
> > +
> > +/**
> > + * Get the language mode of the input panel.
> > + *
> > + * See @ref edje_object_part_text_input_panel_language_set for more
> details.
> > + *
> > + * @param obj A valid Evas_Object handle
> > + * @param part The part name
> > + * @return input panel language type
> > + * @since 1.2.0
> > + */
> > +EAPI Edje_Input_Panel_Lang
> edje_object_part_text_input_panel_language_get(const Evas_Object *obj,
> const char *part);
> > +
> > +/**
> > + * Set the input panel-specific data to deliver to the input panel.
> > + *
> > + * This API is used by applications to deliver specific data to the
> input panel.
> > + * The data format MUST be negotiated by both application and the input
> panel.
> > + * The size and format of data are defined by the input panel.
> > + *
> > + * @param obj A valid Evas_Object handle
> > + * @param part The part name
> > + * @param data The specific data to be set to the input panel.
> > + * @param len the length of data, in bytes, to send to the input panel
> > + * @since 1.2.0
> > + */
> > +EAPI void
> edje_object_part_text_input_panel_imdata_set(Evas_Object *obj, const char
> *part, const void *data, int len);
> > +
> > +/**
> > + * Get the specific data of the current active input panel.
> > + *
> > + * @param obj A valid Evas_Object handle
> > + * @param part The part name
> > + * @param data The specific data to be got from the input panel
> > + * @param len The length of data
> > + * @since 1.2.0
> > + */
> > +EAPI void
> edje_object_part_text_input_panel_imdata_get(const Evas_Object *obj, const
> char *part

[E-devel] [Patch][elementary_test] test_actionslider, test_bg, test_box

2012-02-15 Thread cnook
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, 1

Re: [E-devel] [Patch][elementary_test] test_actionslider, test_bg, test_box

2012-02-15 Thread Daniel Juyung Seo
Thank you very much cnook.
I have some brief comments here.

1. actionslider
'switch-case' indentation is wrong. Please check below e-coding style page.
http://trac.enlightenment.org/e/wiki/ECoding
And for elm_actionslider_enabled_pos_get,  how about printing it like below?
"actionslider enabled pos: left, right"

2. bg
Trailing white space in line 14.
But this patch looks ok. I removed the trailing white space. In SVN!

3. box
Use elm_win_util_standard_add() instead of elm_win_add + elm_bg_add for
convenience.
elm_scroller_bounce_set(sc, 0, 1); -> Use EINA_FALSE, EINA_TRUE for
Eina_Bool for consistency.
Fix formatting.
Remove unnecessary blank line.

evas_object_size_hint_min_set(bg, 160, 160);
evas_object_size_hint_max_set(bg, 640, 640);
-> really needed?

Daniel Juyung Seo (SeoZ)

On Thu, Feb 16, 2012 at 10:20 AM, cnook  wrote:

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


Re: [E-devel] E SVN: hermet IN trunk/elementary: data/themes/widgets src/lib

2012-02-15 Thread ChunEon Park
I think theme should not broken the compatibility neither.
It means we don't need to check the versions in minor changes.
but when major version of elm is updated, 
then it allows the breaking of the theme compatibility.
So I though just collection need to check the version.

-Regards, Hermet-
 
-Original Message-
From: "Davide Andreoli" 
To: "Enlightenment developer 
list"
Cc: enlightenment-...@lists.sourceforge.net
Sent: 12-02-16(목) 05:01:48
Subject: Re: [E-devel] E SVN: hermet IN trunk/elementary: data/themes/widgets 
src/lib
2012/2/15 ChunEon Park 
> IMHO, we should not break compatibility of theme as possible.
> But actually, edj is a program. it works so much things.
> We can't regard it just as a ui layout theme.
> It could break compatibility of widget theme always. (like this case)
> Someday, it may need to break the program cause of the incompatibility of
> theme when major version is changed.
> At that time, those version checking will be helpful.
> If then, how about supporting version values in collections instead of
> data?
> collection {
> version {
> major : xx
> minor: xx
> }
> }
>
Having a new "version" block in edje (instead of (ab)using the data) is ok
for me, but I still
think the block must be at group level, not at collection.
Inside a collection you can have different group that can serve as themes
for different apps,
you can make, for example, an edj with both e17 themes bits and elm bits
inside.
thus the groups need different versions.
davemds
> 
> -Regards, Hermet-
>
> -Original Message-
> From: "Davide Andreoli"
> To: "Enlightenment developer list"&
> lt;enlightenment-devel@lists.sourceforge.net>
> Cc: enlightenment-...@lists.sourceforge.net
> Sent: 12-02-15(수) 04:19:30
> Subject: Re: [E-devel] E SVN: hermet IN trunk/elementary:
> data/themes/widgets src/lib
> 2012/2/13 ChunEon Park :
> > Sorry. I did not realize about other themes.
> Its not just other themes, also apps that use custom styles
> for the widget got broken, we always undervalue themes
> breakage.
> Maybe we should use some sort of versioning
> in edje themes? a standardized "data" field in the groups?
> like:
> group{
> data {
> item: "version" "X";
> }
> ...
> }
> and check the version on edje_load...
> It's an idea?
> davemds
> > 
> > -Regards, Hermet-
> >
> > -Original Message-
> > From: "Michael Blumenkrantz"
> > To: enlightenment-...@lists.sourceforge.net
> > Cc: enlightenment-devel@lists.sourceforge.net
> > Sent: 12-02-13(월) 06:54:35
> > Subject: Re: [E-devel] E SVN: hermet IN trunk/elementary:
> data/themes/widgets src/lib
> > On Wed, 1 Feb 2012 03:26:25 -0800
> > "Enlightenment SVN"  wrote:
> >> Log:
> >> elementary/ctxpopup - + hide effect
> >>
> >>
> >>
> >> Author: hermet
> >> Date: 2012-02-01 03:26:25 -0800 (Wed, 01 Feb 2012)
> >> New Revision: 67673
> >> Trac: http://trac.enlightenment.org/e/changeset/67673
> >>
> >> Modified:
> >> trunk/elementary/data/themes/widgets/ctxpopup.edc
> >> trunk/elementary/src/lib/elc_ctxpopup.c
> >>
> > I'm pretty sure this has been said many times before, but CHANGES LIKE
> THIS
> > WHICH BREAK THEMES NEED TO BE HIGHER PROFILE.
> > If you make a commit which breaks ALL other themes like this one does,
> YOU NEED
> > TO TELL OTHER PEOPLE. There are a few of us out here who actually try to
> create
> > and maintain other themes, and it's extremely frustrating to find out
> that
> > everything has been broken by other people since you last used it.
> > This applies not only to this commit, but to all commits of a similar
> nature.
> > If you want to see and use other themes, create an environment in which
> the
> > creators of such themes do not stop maintaining them because it is too
> > bothersome to do so.
> >
> --
> > 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
> >
> --
> > 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
> > __

Re: [E-devel] [patch] elm_genlist - add item_class management functions

2012-02-15 Thread Daniel Juyung Seo
Great!
But add NULL check for itc.
Thanks.

Daniel Juyung Seo (SeoZ)

On Wed, Feb 15, 2012 at 7:09 PM, Hyoyoung Chang  wrote:

> yeah, it's right.
> added free and ref to examples.
>
> On Tue, Feb 14, 2012 at 2:47 PM, Carsten Haitzler 
> wrote:
> > On Mon, 13 Feb 2012 19:07:07 +0900 Hyoyoung Chang 
> said:
> >
> > ooh something i didn't realize - you should free item class in test
> examples
> > after u are done filling genlist with items - so the example is good.
> > (otherwise they will leak) :)
> >
> >> So it's revised version.
> >> I changed for 1~4.
> >> And one more thing is changed.
> >> ref/unref functions are public.
> >> Because refcount start from 1.
> >> Thank you.
> >>
> >> On Mon, Feb 13, 2012 at 5:11 PM, Carsten Haitzler  >
> >> wrote:
> >> > On Fri, 10 Feb 2012 18:26:08 +0900 Hyoyoung Chang 
> said:
> >> >
> >> > 1. your patch has your "minw ... wd->w" stuff (bugfix at genlist
> rotation)
> >> > 2. refcount should start at 1 imho.
> >> > 3. delete_me -> use bitfield (delete_me : 1)
> >> > 4. i'd prefer the version field to be at the start, not end of class.
> i kn-w
> >> > this breaks abi with current apps, but we have to do this to make
> things
> >> > work into the future. also move refcount and delete_me flag to the
> start
> >> > too. keep func at the end please :)
> >> >
> >> > fix these and then thumbs up :)
> >> >
> >> >> Dear all.
> >> >>
> >> >> I make controversial apis for item class management.
> >> >> As raster and other guys suggest, I simplify APIs and its behaviors.
> >> >>
> >> >> First, Two public apis and two internal apis are introduced
> >> >>
> >> >> +EAPI Elm_Genlist_Item_Class *
> >> >> +elm_genlist_item_class_new(void)
> >> >>
> >> >> +EAPI void
> >> >> +elm_genlist_item_class_free(Elm_Genlist_Item_Class *itc)
> >> >>
> >> >> +void
> >> >> +_elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc)
> >> >>
> >> >> +void
> >> >> +_elm_genlist_item_class_unref(Elm_Genlist_Item_Class *itc)
> >> >>
> >> >> genlist item class is maintained by genlist in automatic manner.
> >> >>
> >> >> And three fields are introduced in genlist item class.
> >> >> +   int version;
> >> >> +   unsigned int refcount;
> >> >> +   Eina_Bool delete_me;
> >> >>
> >> >> Normally a user add a elm_genlist_item_class by
> elm_genlist_item_class_new
> >> >> (). Then its reference counter is automatic maintained.
> >> >> If the user wanna to remove the elm_genlist_item_class, then call
> >> >> elm_genlist_item_class_free()
> >> >> After refcount reaches to 0, it will be removed.
> >> >>
> >> >> Thank you.
> >> >>
> >> >> PS: I made those apis in genlist. If its accepted i'll make a new
> >> >> patch for gengrid.
> >> >
> >> >
> >> > --
> >> > - 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
> >
>
>
> --
> 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


Re: [E-devel] E SVN: raster trunk/elementary/src/lib

2012-02-15 Thread Daniel Juyung Seo
No marks for deprecation?

Daniel Juyung Seo (SeoZ)

On Thu, Feb 16, 2012 at 2:58 PM, Enlightenment SVN <
no-re...@enlightenment.org> wrote:

> Log:
> elm_thumb_ethumb_client_connected ->
>  elm_thumb_ethumb_client_connected_get()
>
>  more consistent name.
>
>
>
> Author:   raster
> Date: 2012-02-15 21:58:23 -0800 (Wed, 15 Feb 2012)
> New Revision: 68001
> Trac: http://trac.enlightenment.org/e/changeset/68001
>
> Modified:
>  trunk/elementary/src/lib/Elementary.h.intrunk/elementary/src/lib/elm_icon.c 
> trunk/elementary/src/lib/elm_photo.c
> trunk/elementary/src/lib/elm_thumb.c trunk/elementary/src/lib/elm_thumb.h
>
> Modified: trunk/elementary/src/lib/Elementary.h.in
> ===
> --- trunk/elementary/src/lib/Elementary.h.in2012-02-16 05:03:57 UTC
> (rev 68000)
> +++ trunk/elementary/src/lib/Elementary.h.in2012-02-16 05:58:23 UTC
> (rev 68001)
> @@ -244,7 +244,7 @@
>  #include  // OK
>  #include  // XXX: needs docs
>  #include  // OK
> -#include 
> +#include  // OK
>  #include 
>  #include 
>  #include 
>
> Modified: trunk/elementary/src/lib/elm_icon.c
> ===
> --- trunk/elementary/src/lib/elm_icon.c 2012-02-16 05:03:57 UTC (rev 68000)
> +++ trunk/elementary/src/lib/elm_icon.c 2012-02-16 05:58:23 UTC (rev 68001)
> @@ -700,7 +700,7 @@
>eina_stringshare_replace(&wd->thumb.file.path, file);
>eina_stringshare_replace(&wd->thumb.file.key, group);
>
> -   if (elm_thumb_ethumb_client_connected())
> +   if (elm_thumb_ethumb_client_connected_get())
>  {
> _icon_thumb_apply(wd);
> return ;
>
> Modified: trunk/elementary/src/lib/elm_photo.c
> ===
> --- trunk/elementary/src/lib/elm_photo.c2012-02-16 05:03:57 UTC
> (rev 68000)
> +++ trunk/elementary/src/lib/elm_photo.c2012-02-16 05:58:23 UTC
> (rev 68001)
> @@ -591,7 +591,7 @@
>eina_stringshare_replace(&wd->thumb.file.path, file);
>eina_stringshare_replace(&wd->thumb.file.key, group);
>
> -   if (elm_thumb_ethumb_client_connected())
> +   if (elm_thumb_ethumb_client_connected_get())
>  {
> _icon_thumb_apply(wd);
> return ;
>
> Modified: trunk/elementary/src/lib/elm_thumb.c
> ===
> --- trunk/elementary/src/lib/elm_thumb.c2012-02-16 05:03:57 UTC
> (rev 68000)
> +++ trunk/elementary/src/lib/elm_thumb.c2012-02-16 05:58:23 UTC
> (rev 68001)
> @@ -409,7 +409,7 @@
>  {
>evas_object_show(wd->frame);
>
> -   if (elm_thumb_ethumb_client_connected())
> +   if (elm_thumb_ethumb_client_connected_get())
>  {
> _thumb_apply(wd);
> return;
> @@ -690,7 +690,7 @@
>  }
>
>  EAPI Eina_Bool
> -elm_thumb_ethumb_client_connected(void)
> +elm_thumb_ethumb_client_connected_get(void)
>  {
>return _elm_ethumb_connected;
>  }
>
> Modified: trunk/elementary/src/lib/elm_thumb.h
> ===
> --- trunk/elementary/src/lib/elm_thumb.h2012-02-16 05:03:57 UTC
> (rev 68000)
> +++ trunk/elementary/src/lib/elm_thumb.h2012-02-16 05:58:23 UTC
> (rev 68001)
> @@ -7,7 +7,7 @@
>  * A thumb object is used for displaying the thumbnail of an image or
> video.
>  * You must have compiled Elementary with Ethumb_Client support and the
> DBus
>  * service must be present and auto-activated in order to have thumbnails
> to
> - * be generated.
> + * be generated. You must also have a Session bus, not System bus.
>  *
>  * Once the thumbnail object becomes visible, it will check if there is a
>  * previously generated thumbnail image for the file set on it. If not, it
> @@ -126,9 +126,9 @@
>  EAPI voidelm_thumb_file_get(const Evas_Object
> *obj, const char **file, const char **key);
>
>  /**
> - * Get the path and key to the image or video generated by ethumb.
> + * Get the path and key to the image or video thumbnail generated by
> ethumb.
>  *
> - * One just need to make sure that the thumbnail was generated before
> getting
> + * One just needs to make sure that the thumbnail was generated before
> getting
>  * its path; otherwise, the path will be NULL. One way to do that is by
> asking
>  * for the path when/after the "generate,stop" smart callback is called.
>  *
> @@ -225,7 +225,7 @@
>  * @return EINA_TRUE if the client is connected to the server or EINA_FALSE
>  * otherwise.
>  */
> -EAPI Eina_Bool   elm_thumb_ethumb_client_connected(void);
> +EAPI Eina_Bool
> elm_thumb_ethumb_client_connected_get(void);
>
>  /**
>  * Make the thumbnail 'editable'.
>
>
>
> --
> Virtualization & Cloud Management Using Capacity Planning
> Cloud computing makes use of virtualization - but cloud computing
> also focuses on allowing computing to be delivered as

Re: [E-devel] [patch] elm_genlist - add item_class management functions

2012-02-15 Thread Hyoyoung Chang
oops i miss that. thanks.
attaching improved version

On Thu, Feb 16, 2012 at 2:59 PM, Daniel Juyung Seo  wrote:
> Great!
> But add NULL check for itc.
> Thanks.
>
> Daniel Juyung Seo (SeoZ)
>
> On Wed, Feb 15, 2012 at 7:09 PM, Hyoyoung Chang  wrote:
>
>> yeah, it's right.
>> added free and ref to examples.
>>
>> On Tue, Feb 14, 2012 at 2:47 PM, Carsten Haitzler 
>> wrote:
>> > On Mon, 13 Feb 2012 19:07:07 +0900 Hyoyoung Chang 
>> said:
>> >
>> > ooh something i didn't realize - you should free item class in test
>> examples
>> > after u are done filling genlist with items - so the example is good.
>> > (otherwise they will leak) :)
>> >
>> >> So it's revised version.
>> >> I changed for 1~4.
>> >> And one more thing is changed.
>> >> ref/unref functions are public.
>> >> Because refcount start from 1.
>> >> Thank you.
>> >>
>> >> On Mon, Feb 13, 2012 at 5:11 PM, Carsten Haitzler > >
>> >> wrote:
>> >> > On Fri, 10 Feb 2012 18:26:08 +0900 Hyoyoung Chang 
>> said:
>> >> >
>> >> > 1. your patch has your "minw ... wd->w" stuff (bugfix at genlist
>> rotation)
>> >> > 2. refcount should start at 1 imho.
>> >> > 3. delete_me -> use bitfield (delete_me : 1)
>> >> > 4. i'd prefer the version field to be at the start, not end of class.
>> i kn-w
>> >> > this breaks abi with current apps, but we have to do this to make
>> things
>> >> > work into the future. also move refcount and delete_me flag to the
>> start
>> >> > too. keep func at the end please :)
>> >> >
>> >> > fix these and then thumbs up :)
>> >> >
>> >> >> Dear all.
>> >> >>
>> >> >> I make controversial apis for item class management.
>> >> >> As raster and other guys suggest, I simplify APIs and its behaviors.
>> >> >>
>> >> >> First, Two public apis and two internal apis are introduced
>> >> >>
>> >> >> +EAPI Elm_Genlist_Item_Class *
>> >> >> +elm_genlist_item_class_new(void)
>> >> >>
>> >> >> +EAPI void
>> >> >> +elm_genlist_item_class_free(Elm_Genlist_Item_Class *itc)
>> >> >>
>> >> >> +void
>> >> >> +_elm_genlist_item_class_ref(Elm_Genlist_Item_Class *itc)
>> >> >>
>> >> >> +void
>> >> >> +_elm_genlist_item_class_unref(Elm_Genlist_Item_Class *itc)
>> >> >>
>> >> >> genlist item class is maintained by genlist in automatic manner.
>> >> >>
>> >> >> And three fields are introduced in genlist item class.
>> >> >> +   int version;
>> >> >> +   unsigned int refcount;
>> >> >> +   Eina_Bool delete_me;
>> >> >>
>> >> >> Normally a user add a elm_genlist_item_class by
>> elm_genlist_item_class_new
>> >> >> (). Then its reference counter is automatic maintained.
>> >> >> If the user wanna to remove the elm_genlist_item_class, then call
>> >> >> elm_genlist_item_class_free()
>> >> >> After refcount reaches to 0, it will be removed.
>> >> >>
>> >> >> Thank you.
>> >> >>
>> >> >> PS: I made those apis in genlist. If its accepted i'll make a new
>> >> >> patch for gengrid.
>> >> >
>> >> >
>> >> > --
>> >> > - 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
>> >
>>
>>
>> --
>> 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
Index: elementary/src/lib/elm_genlist.c
===
--- elementary/src/lib/elm_genlist.c(리비전 68002)
+++ elementary/src/lib/elm_genlist.c(작업 사본)
@@ -796,6 +796,7 @@
  it->parent->item->items = eina_list_remove(it->parent->item->items, it);
if (it->item->swipe_timer) ecore_timer_del(it->item->swipe_timer);
_elm_genlist_item_del_serious(it);
+   elm_genlist_item_class_unref((Elm_Genlist_Item_Class *)it->itc);
evas_event_thaw(evas_object_evas_get(obj));
evas_event_thaw_eval(evas_object_evas_get(obj));
 }
@@ -3323,6 +3324,7 @@
it->wd = wd;
it->generation = wd->generation;
it->itc = itc;
+   elm_genlist_item_class_ref(

Re: [E-devel] [Patch][elementary_test] test_actionslider, test_bg, test_box

2012-02-15 Thread Kim Shinwoo
Dear Daniel, Thanks!

I have attached patch based on your comment.

And more..
elm_win_title_set(win, 0); makes CRASH.
The last patch is for this. Please review this also and give any feedbacks.

Sincerely,
Shinwoo Kim.

2012/2/16 Daniel Juyung Seo 

> Thank you very much cnook.
> I have some brief comments here.
>
> 1. actionslider
> 'switch-case' indentation is wrong. Please check below e-coding style page.
> http://trac.enlightenment.org/e/wiki/ECoding
> And for elm_actionslider_enabled_pos_get,  how about printing it like
> below?
> "actionslider enabled pos: left, right"
>
> 2. bg
> Trailing white space in line 14.
> But this patch looks ok. I removed the trailing white space. In SVN!
>
> 3. box
> Use elm_win_util_standard_add() instead of elm_win_add + elm_bg_add for
> convenience.
> elm_scroller_bounce_set(sc, 0, 1); -> Use EINA_FALSE, EINA_TRUE for
> Eina_Bool for consistency.
> Fix formatting.
> Remove unnecessary blank line.
>
> evas_object_size_hint_min_set(bg, 160, 160);
> evas_object_size_hint_max_set(bg, 640, 640);
> -> really needed?
>
> Daniel Juyung Seo (SeoZ)
>
> On Thu, Feb 16, 2012 at 10:20 AM, cnook  wrote:
>
> > 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.
> >
> >
> >
> --
> > 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
>


test_actionslider.diff.2
Description: Binary data


test_box.diff.2
Description: Binary data
Index: src/lib/ecore_evas/ecore_evas_x.c
===
--- src/lib/ecore_evas/ecore_evas_x.c	(revision 67995)
+++ src/lib/ecore_evas/ecore_evas_x.c	(working copy)
@@ -2229,7 +2229,10 @@
 {
if (ee->prop.title) free(ee->prop.title);
ee->prop.title = NULL;
-   if (t) ee->prop.title = strdup(t);
+
+   if (!t) return;
+   ee->prop.title = strdup(t);
+
ecore_x_icccm_title_set(ee->prop.window, ee->prop.title);
ecore_x_netwm_name_set(ee->prop.window, ee->prop.title);
 }
--
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] E SVN: raster trunk/elementary/src/lib

2012-02-15 Thread The Rasterman
On Thu, 16 Feb 2012 14:59:58 +0900 Daniel Juyung Seo 
said:

no - doing this in a hurry and no one uses this... :)

> No marks for deprecation?
> 
> Daniel Juyung Seo (SeoZ)
> 
> On Thu, Feb 16, 2012 at 2:58 PM, Enlightenment SVN <
> no-re...@enlightenment.org> wrote:
> 
> > Log:
> > elm_thumb_ethumb_client_connected ->
> >  elm_thumb_ethumb_client_connected_get()
> >
> >  more consistent name.
> >
> >
> >
> > Author:   raster
> > Date: 2012-02-15 21:58:23 -0800 (Wed, 15 Feb 2012)
> > New Revision: 68001
> > Trac: http://trac.enlightenment.org/e/changeset/68001
> >
> > Modified:
> >  trunk/elementary/src/lib/Elementary.h.intrunk/elementary/src/lib/elm_icon.c
> > trunk/elementary/src/lib/elm_photo.c trunk/elementary/src/lib/elm_thumb.c
> > trunk/elementary/src/lib/elm_thumb.h
> >
> > Modified: trunk/elementary/src/lib/Elementary.h.in
> > ===
> > --- trunk/elementary/src/lib/Elementary.h.in2012-02-16 05:03:57 UTC
> > (rev 68000)
> > +++ trunk/elementary/src/lib/Elementary.h.in2012-02-16 05:58:23 UTC
> > (rev 68001)
> > @@ -244,7 +244,7 @@
> >  #include  // OK
> >  #include  // XXX: needs docs
> >  #include  // OK
> > -#include 
> > +#include  // OK
> >  #include 
> >  #include 
> >  #include 
> >
> > Modified: trunk/elementary/src/lib/elm_icon.c
> > ===
> > --- trunk/elementary/src/lib/elm_icon.c 2012-02-16 05:03:57 UTC (rev 68000)
> > +++ trunk/elementary/src/lib/elm_icon.c 2012-02-16 05:58:23 UTC (rev 68001)
> > @@ -700,7 +700,7 @@
> >eina_stringshare_replace(&wd->thumb.file.path, file);
> >eina_stringshare_replace(&wd->thumb.file.key, group);
> >
> > -   if (elm_thumb_ethumb_client_connected())
> > +   if (elm_thumb_ethumb_client_connected_get())
> >  {
> > _icon_thumb_apply(wd);
> > return ;
> >
> > Modified: trunk/elementary/src/lib/elm_photo.c
> > ===
> > --- trunk/elementary/src/lib/elm_photo.c2012-02-16 05:03:57 UTC
> > (rev 68000)
> > +++ trunk/elementary/src/lib/elm_photo.c2012-02-16 05:58:23 UTC
> > (rev 68001)
> > @@ -591,7 +591,7 @@
> >eina_stringshare_replace(&wd->thumb.file.path, file);
> >eina_stringshare_replace(&wd->thumb.file.key, group);
> >
> > -   if (elm_thumb_ethumb_client_connected())
> > +   if (elm_thumb_ethumb_client_connected_get())
> >  {
> > _icon_thumb_apply(wd);
> > return ;
> >
> > Modified: trunk/elementary/src/lib/elm_thumb.c
> > ===
> > --- trunk/elementary/src/lib/elm_thumb.c2012-02-16 05:03:57 UTC
> > (rev 68000)
> > +++ trunk/elementary/src/lib/elm_thumb.c2012-02-16 05:58:23 UTC
> > (rev 68001)
> > @@ -409,7 +409,7 @@
> >  {
> >evas_object_show(wd->frame);
> >
> > -   if (elm_thumb_ethumb_client_connected())
> > +   if (elm_thumb_ethumb_client_connected_get())
> >  {
> > _thumb_apply(wd);
> > return;
> > @@ -690,7 +690,7 @@
> >  }
> >
> >  EAPI Eina_Bool
> > -elm_thumb_ethumb_client_connected(void)
> > +elm_thumb_ethumb_client_connected_get(void)
> >  {
> >return _elm_ethumb_connected;
> >  }
> >
> > Modified: trunk/elementary/src/lib/elm_thumb.h
> > ===
> > --- trunk/elementary/src/lib/elm_thumb.h2012-02-16 05:03:57 UTC
> > (rev 68000)
> > +++ trunk/elementary/src/lib/elm_thumb.h2012-02-16 05:58:23 UTC
> > (rev 68001)
> > @@ -7,7 +7,7 @@
> >  * A thumb object is used for displaying the thumbnail of an image or
> > video.
> >  * You must have compiled Elementary with Ethumb_Client support and the
> > DBus
> >  * service must be present and auto-activated in order to have thumbnails
> > to
> > - * be generated.
> > + * be generated. You must also have a Session bus, not System bus.
> >  *
> >  * Once the thumbnail object becomes visible, it will check if there is a
> >  * previously generated thumbnail image for the file set on it. If not, it
> > @@ -126,9 +126,9 @@
> >  EAPI voidelm_thumb_file_get(const Evas_Object
> > *obj, const char **file, const char **key);
> >
> >  /**
> > - * Get the path and key to the image or video generated by ethumb.
> > + * Get the path and key to the image or video thumbnail generated by
> > ethumb.
> >  *
> > - * One just need to make sure that the thumbnail was generated before
> > getting
> > + * One just needs to make sure that the thumbnail was generated before
> > getting
> >  * its path; otherwise, the path will be NULL. One way to do that is by
> > asking
> >  * for the path when/after the "generate,stop" smart callback is called.
> >  *
> > @@ -225,7 +225,7 @@
> >  * @return EINA_TRUE if the client is connected to the server or EINA_FALSE
> >  * otherwise.
> >  */
> > -EAPI Eina_Bool   elm_thumb_ethumb_client_connected(

Re: [E-devel] E SVN: seoz trunk/elementary/src/lib

2012-02-15 Thread Daniel Juyung Seo
ihyoyoung,
can you please add some comments on elm_cnp documentation?
I have no knowledge about copy and paste, and it's hard to understand with
current description.
Thanks in advance.

Daniel Juyung Seo (SeoZ)

On Thu, Feb 16, 2012 at 4:06 PM, Enlightenment SVN <
no-re...@enlightenment.org> wrote:

> Log:
> elm cnp: Reviewed cnp APIs. Many things need to be changed.
>
>  Signed-off-by: Daniel Juyung Seo 
>
> Author:   seoz
> Date: 2012-02-15 23:06:13 -0800 (Wed, 15 Feb 2012)
> New Revision: 68007
> Trac: http://trac.enlightenment.org/e/changeset/68007
>
> Modified:
>  trunk/elementary/src/lib/Elementary.h.intrunk/elementary/src/lib/elm_cnp.h 
> trunk/elementary/src/lib/elm_cnp_helper.c
>
> Modified: trunk/elementary/src/lib/Elementary.h.in
> ===
> --- trunk/elementary/src/lib/Elementary.h.in2012-02-16 07:06:09 UTC
> (rev 68006)
> +++ trunk/elementary/src/lib/Elementary.h.in2012-02-16 07:06:13 UTC
> (rev 68007)
> @@ -184,7 +184,7 @@
>  #include 
>  #include 
>  #include 
> -#include 
> +#include  // comments in elm_cnp.h
>  #include 
>  #include 
>  #include 
>
> Modified: trunk/elementary/src/lib/elm_cnp.h
> ===
> --- trunk/elementary/src/lib/elm_cnp.h  2012-02-16 07:06:09 UTC (rev 68006)
> +++ trunk/elementary/src/lib/elm_cnp.h  2012-02-16 07:06:13 UTC (rev 68007)
> @@ -45,13 +45,13 @@
>  };
>
>  /**
> - * @brief Set a data of a widget to copy and paste.
> + * @brief Set copy and paste data to a widget.
>  *
> - * Append the given callback to the list. This functions will be called
> - * called.
> + * XXX: need to be rewritten.
> + * Append the given callback to the list. This functions will be called.
>  *
> - * @param selection selection type for copying and pasting
> - * @param widget The source widget pointer
> + * @param selection Selection type for copying and pasting
> + * @param obj The source widget pointer
>  * @param format Type of selection format
>  * @param buf The pointer of data source
>  * @return If EINA_TRUE, setting data is success.
> @@ -59,20 +59,24 @@
>  * @ingroup CopyPaste
>  *
>  */
> +// XXX: EAPI void elm_object_cnp_selection_set(Evas_Object *obj,
> Elm_Sel_Type selection,
> +// Elm_Sel_Format format,
> const void *buf,
> +// size_t buflen);
> +EAPI Eina_Bool elm_cnp_selection_set(Elm_Sel_Type selection, Evas_Object
> *obj,
> + Elm_Sel_Format format, const void
> *buf,
> + size_t buflen);
>
> -EAPI Eina_Bool elm_cnp_selection_set(Elm_Sel_Type selection, Evas_Object
> *widget, Elm_Sel_Format format, const void *buf, size_t buflen);
> -
>  /**
> - * @brief Retrieve the data from the widget which is set for copying and
> pasting.
> + * @brief Retrieve the copy and paste data from the widget.
>  *
> - * Getting the data from the widget which is set for copying and pasting.
> - * Mainly the widget is elm_entry. If then @p datacb and @p udata are
> - * can be NULL. If not, @p datacb and @p udata are used for retrieving
> data.
> + * Gets the data from the widget which is set for copying and pasting.
> + * Mainly the widget is elm_entry. If then @p datacb and @p udata can be
> NULL.
> + * If not, @p datacb and @p udata are used for retrieving data.
>  *
>  * @see also elm_cnp_selection_set()
>  *
> - * @param selection selection type for copying and pasting
> - * @param widget The source widget pointer
> + * @param selection Selection type for copying and pasting
> + * @param obj The source widget pointer
>  * @param datacb The user data callback if the target widget isn't
> elm_entry
>  * @param udata The user data pointer for @p datacb
>  * @return If EINA_TRUE, getting data is success.
> @@ -80,26 +84,38 @@
>  * @ingroup CopyPaste
>  *
>  */
> +// XXX: This api needs to be refined by cnp experts.
> +//  I suggest:
> +// 1. return copy and paste data.
> +// 2. call cnp callback regardless of widget type.
> +// 3. apps insert text data into entry manually.
> +// XXX: EAPI void *elm_object_cnp_selection_get(Evas_Object *obj,
> +//  Elm_Sel_Type selection,
> +//  Elm_Sel_Format format,
> +//  Elm_Cnp_Cb datacb);
> +EAPI Eina_Bool elm_cnp_selection_get(Elm_Sel_Type selection,
> + Elm_Sel_Format format, Evas_Object
> *obj,
> + Elm_Drop_Cb datacb, void *udata);
>
> -EAPI Eina_Bool elm_cnp_selection_get(Elm_Sel_Type selection,
> Elm_Sel_Format format, Evas_Object *widget, Elm_Drop_Cb datacb, void
> *udata);
> -
>  /**
> - * @brief Clear the data in the widget which is set for copying and
> pasting.
> + * @brief Clear the copy and paste data in the wid

Re: [E-devel] E SVN: seoz trunk/elementary/src/lib

2012-02-15 Thread Hyoyoung Chang
frankly speaking, i didn't care of cnp apis.
some are too much coupled with ecore_x.
and other things are not updated.
After reviewing i'll make two patches
first patch is updating docs and infos.
and other patch will contain decoupling with elm_entry and ecore_x.


On Thu, Feb 16, 2012 at 4:10 PM, Daniel Juyung Seo  wrote:
> ihyoyoung,
> can you please add some comments on elm_cnp documentation?
> I have no knowledge about copy and paste, and it's hard to understand with
> current description.
> Thanks in advance.
>
> Daniel Juyung Seo (SeoZ)
>
> On Thu, Feb 16, 2012 at 4:06 PM, Enlightenment SVN <
> no-re...@enlightenment.org> wrote:
>
>> Log:
>> elm cnp: Reviewed cnp APIs. Many things need to be changed.
>>
>>  Signed-off-by: Daniel Juyung Seo 
>>
>> Author:       seoz
>> Date:         2012-02-15 23:06:13 -0800 (Wed, 15 Feb 2012)
>> New Revision: 68007
>> Trac:         http://trac.enlightenment.org/e/changeset/68007
>>
>> Modified:
>>  trunk/elementary/src/lib/Elementary.h.intrunk/elementary/src/lib/elm_cnp.h 
>> trunk/elementary/src/lib/elm_cnp_helper.c
>>
>> Modified: trunk/elementary/src/lib/Elementary.h.in
>> ===
>> --- trunk/elementary/src/lib/Elementary.h.in    2012-02-16 07:06:09 UTC
>> (rev 68006)
>> +++ trunk/elementary/src/lib/Elementary.h.in    2012-02-16 07:06:13 UTC
>> (rev 68007)
>> @@ -184,7 +184,7 @@
>>  #include 
>>  #include 
>>  #include 
>> -#include 
>> +#include  // comments in elm_cnp.h
>>  #include 
>>  #include 
>>  #include 
>>
>> Modified: trunk/elementary/src/lib/elm_cnp.h
>> ===
>> --- trunk/elementary/src/lib/elm_cnp.h  2012-02-16 07:06:09 UTC (rev 68006)
>> +++ trunk/elementary/src/lib/elm_cnp.h  2012-02-16 07:06:13 UTC (rev 68007)
>> @@ -45,13 +45,13 @@
>>  };
>>
>>  /**
>> - * @brief Set a data of a widget to copy and paste.
>> + * @brief Set copy and paste data to a widget.
>>  *
>> - * Append the given callback to the list. This functions will be called
>> - * called.
>> + * XXX: need to be rewritten.
>> + * Append the given callback to the list. This functions will be called.
>>  *
>> - * @param selection selection type for copying and pasting
>> - * @param widget The source widget pointer
>> + * @param selection Selection type for copying and pasting
>> + * @param obj The source widget pointer
>>  * @param format Type of selection format
>>  * @param buf The pointer of data source
>>  * @return If EINA_TRUE, setting data is success.
>> @@ -59,20 +59,24 @@
>>  * @ingroup CopyPaste
>>  *
>>  */
>> +// XXX: EAPI void elm_object_cnp_selection_set(Evas_Object *obj,
>> Elm_Sel_Type selection,
>> +//                                             Elm_Sel_Format format,
>> const void *buf,
>> +//                                             size_t buflen);
>> +EAPI Eina_Bool elm_cnp_selection_set(Elm_Sel_Type selection, Evas_Object
>> *obj,
>> +                                     Elm_Sel_Format format, const void
>> *buf,
>> +                                     size_t buflen);
>>
>> -EAPI Eina_Bool elm_cnp_selection_set(Elm_Sel_Type selection, Evas_Object
>> *widget, Elm_Sel_Format format, const void *buf, size_t buflen);
>> -
>>  /**
>> - * @brief Retrieve the data from the widget which is set for copying and
>> pasting.
>> + * @brief Retrieve the copy and paste data from the widget.
>>  *
>> - * Getting the data from the widget which is set for copying and pasting.
>> - * Mainly the widget is elm_entry. If then @p datacb and @p udata are
>> - * can be NULL. If not, @p datacb and @p udata are used for retrieving
>> data.
>> + * Gets the data from the widget which is set for copying and pasting.
>> + * Mainly the widget is elm_entry. If then @p datacb and @p udata can be
>> NULL.
>> + * If not, @p datacb and @p udata are used for retrieving data.
>>  *
>>  * @see also elm_cnp_selection_set()
>>  *
>> - * @param selection selection type for copying and pasting
>> - * @param widget The source widget pointer
>> + * @param selection Selection type for copying and pasting
>> + * @param obj The source widget pointer
>>  * @param datacb The user data callback if the target widget isn't
>> elm_entry
>>  * @param udata The user data pointer for @p datacb
>>  * @return If EINA_TRUE, getting data is success.
>> @@ -80,26 +84,38 @@
>>  * @ingroup CopyPaste
>>  *
>>  */
>> +// XXX: This api needs to be refined by cnp experts.
>> +//      I suggest:
>> +//         1. return copy and paste data.
>> +//         2. call cnp callback regardless of widget type.
>> +//         3. apps insert text data into entry manually.
>> +// XXX: EAPI void *elm_object_cnp_selection_get(Evas_Object *obj,
>> +//                                              Elm_Sel_Type selection,
>> +//                                              Elm_Sel_Format format,
>> +//                                              Elm_Cnp_Cb datacb);
>> +EAPI Eina_Bool elm_cnp_selection_get(Elm_Sel_Type selectio