elm gen/genlist: Renamed elm_gen.h to elm_genlist.h. elm_gen will be removed and...
authorDaniel Juyung Seo <seojuyung2@gmail.com>
Fri, 2 Dec 2011 14:09:24 +0000 (14:09 +0000)
committerDaniel Juyung Seo <seojuyung2@gmail.com>
Fri, 2 Dec 2011 14:09:24 +0000 (14:09 +0000)
SVN revision: 65815

src/lib/Makefile.am
src/lib/elm_gen.c
src/lib/elm_gen.h [deleted file]
src/lib/elm_gengrid.c
src/lib/elm_genlist.c
src/lib/elm_genlist.h [new file with mode: 0644]

index 929ea0015171a327b33814f91a7c9236a4e53d34..31343ead0f0eeb192ba5579318ddc0b97462b806 100644 (file)
@@ -75,7 +75,7 @@ elm_flipselector.c \
 elm_font.c \
 elm_frame.c \
 elm_gen.c \
-elm_gen.h \
+elm_genlist.h \
 elm_gengrid.c \
 elm_genlist.c \
 elm_gesture_layer.c \
index c6471bc7083a4f52a5bd034bc5f92bc560829433..83443c7bb303455a87f75d8cd9dccce49136608f 100644 (file)
@@ -2,7 +2,7 @@
 #include <Elementary_Cursor.h>
 #include "elm_priv.h"
 #include "els_scroller.h"
-#include "elm_gen.h"
+#include "elm_genlist.h"
 
 EAPI void
 elm_gen_clear(Evas_Object *obj)
diff --git a/src/lib/elm_gen.h b/src/lib/elm_gen.h
deleted file mode 100644 (file)
index 26dfc94..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-#ifndef ELM_GEN_H_
-# define ELM_GEN_H_
-
-#include <Elementary.h>
-#include <Elementary_Cursor.h>
-#include "elm_priv.h"
-
-#define ELM_GEN_ITEM_FROM_INLIST(it) \
-   ((it) ? EINA_INLIST_CONTAINER_GET(it, Elm_Gen_Item) : NULL)
-
-#define SWIPE_MOVES         12
-
-typedef struct Elm_Gen_Item_Type Elm_Gen_Item_Type;
-typedef struct Elm_Gen_Item_Tooltip Elm_Gen_Item_Tooltip;
-typedef struct _Widget_Data Widget_Data;
-
-struct Elm_Gen_Item_Tooltip
-{
-   const void                 *data;
-   Elm_Tooltip_Item_Content_Cb content_cb;
-   Evas_Smart_Cb               del_cb;
-   const char                 *style;
-   Eina_Bool                   free_size : 1;
-};
-
-struct Elm_Gen_Item
-{
-   ELM_WIDGET_ITEM;
-   EINA_INLIST;
-   Widget_Data                  *wd;
-   Elm_Gen_Item_Type            *item;
-   const Elm_Gen_Item_Class     *itc;
-   Evas_Coord                    x, y, dx, dy;
-   Evas_Object                  *spacer;
-   Elm_Gen_Item                 *parent;
-   Eina_List                    *labels, *contents, *states, *content_objs;
-   Ecore_Timer                  *long_timer;
-   int                           relcount;
-   int                           walking;
-   int                           generation;
-   const char                   *mouse_cursor;
-
-   struct
-   {
-      Evas_Smart_Cb func;
-      const void   *data;
-   } func;
-
-   Elm_Gen_Item_Tooltip tooltip;
-   Ecore_Cb    del_cb, sel_cb, highlight_cb;
-   Ecore_Cb    unsel_cb, unhighlight_cb, unrealize_cb;
-
-   Eina_Bool   want_unrealize : 1;
-   Eina_Bool   display_only : 1;
-   Eina_Bool   realized : 1;
-   Eina_Bool   selected : 1;
-   Eina_Bool   highlighted : 1;
-   Eina_Bool   disabled : 1;
-   Eina_Bool   dragging : 1;
-   Eina_Bool   down : 1;
-   Eina_Bool   group : 1;
-   Eina_Bool   reorder : 1;
-   Eina_Bool   mode_set : 1; /* item uses style mode for highlight/select */
-};
-
-typedef struct _Pan Pan;
-struct _Pan
-{
-   Evas_Object_Smart_Clipped_Data __clipped_data;
-   Widget_Data                   *wd;
-   Ecore_Job                     *resize_job;
-};
-
-struct _Widget_Data
-{
-   Eina_Inlist_Sorted_State *state;
-   Evas_Object      *obj; /* the genlist object */
-   Evas_Object      *scr; /* a smart scroller object which is used internally in genlist */
-   Evas_Object      *pan_smart; /* "elm_genlist_pan" evas smart object. this is an extern pan of smart scroller(scr). */
-   Eina_List        *selected;
-   Eina_List        *group_items; /* list of groups index items */
-   Eina_Inlist      *items; /* inlist of all items */
-   Elm_Gen_Item     *reorder_it; /* item currently being repositioned */
-   Elm_Gen_Item     *last_selected_item;
-   Pan              *pan; /* pan_smart object's smart data */
-   Ecore_Job        *calc_job;
-   int               walking;
-   int               item_width, item_height;
-   int               group_item_width, group_item_height;
-   int               minw, minh;
-   long              count;
-   Evas_Coord        pan_x, pan_y;
-   Eina_Bool         reorder_mode : 1; /* a flag for reorder mode enable/disable */
-   Eina_Bool         on_hold : 1;
-   Eina_Bool         multi : 1; /* a flag for item multi selection */
-   Eina_Bool         no_select : 1;
-   Eina_Bool         wasselected : 1;
-   Eina_Bool         always_select : 1;
-   Eina_Bool         clear_me : 1;
-   Eina_Bool         h_bounce : 1;
-   Eina_Bool         v_bounce : 1;
-   Ecore_Cb          del_cb, calc_cb, sizing_cb;
-   Ecore_Cb          clear_cb;
-   ////////////////////////////////////
-   Eina_Inlist      *blocks; /* inlist of all blocks. a block consists of a certain number of items. maximum number of items in a block is 'max_items_per_block'. */
-   Evas_Coord        reorder_old_pan_y, w, h, realminw, prev_viewport_w;
-   Ecore_Job        *update_job;
-   Ecore_Idle_Enterer *queue_idle_enterer;
-   Ecore_Idler        *must_recalc_idler;
-   Eina_List        *queue;
-   Elm_Gen_Item *show_item, *anchor_item, *mode_item, *reorder_rel, *expanded_item;
-   Eina_Inlist      *item_cache; /* an inlist of edje object it cache. */
-   Evas_Coord        anchor_y;
-   Evas_Coord        reorder_start_y; /* reorder it's initial y coordinate in the pan. */
-   Elm_List_Mode     mode;
-   Ecore_Timer      *multi_timer, *scr_hold_timer;
-   Ecore_Animator   *reorder_move_animator;
-   const char       *mode_type;
-   const char       *mode_item_style;
-   unsigned int      start_time;
-   Evas_Coord        prev_x, prev_y, prev_mx, prev_my;
-   Evas_Coord        cur_x, cur_y, cur_mx, cur_my;
-   Eina_Bool         mouse_down : 1;
-   Eina_Bool         multi_down : 1;
-   Eina_Bool         multi_timeout : 1;
-   Eina_Bool         multitouched : 1;
-   Eina_Bool         longpressed : 1;
-   Eina_Bool         bring_in : 1;
-   Eina_Bool         compress : 1;
-   Eina_Bool         height_for_width : 1;
-   Eina_Bool         homogeneous : 1;
-   Eina_Bool         swipe : 1;
-   Eina_Bool         reorder_pan_move : 1;
-   Eina_Bool         auto_scroll_enabled : 1;
-   Eina_Bool         pan_resized : 1;
-   struct
-   {
-      Evas_Coord x, y;
-   } history[SWIPE_MOVES];
-   int               multi_device;
-   int               item_cache_count;
-   int               item_cache_max; /* maximum number of cached items */
-   int               movements;
-   int               max_items_per_block; /* maximum number of items per block */
-   double            longpress_timeout; /* longpress timeout. this value comes from _elm_config by default. this can be changed by elm_genlist_longpress_timeout_set() */
-   int               generation;
-
-   /* The stuff below directly come from gengrid without any thinking */
-   unsigned int      nmax;
-   Evas_Coord        reorder_item_x, reorder_item_y;
-   Evas_Coord        old_pan_x, old_pan_y;
-   long              items_lost;
-   double            align_x, align_y;
-
-   Eina_Bool         horizontal : 1;
-   Eina_Bool         move_effect_enabled : 1;
-   Eina_Bool         reorder_item_changed : 1;
-};
-
-Elm_Gen_Item *
-_elm_genlist_item_new(Widget_Data              *wd,
-                      const Elm_Gen_Item_Class *itc,
-                      const void               *data,
-                      Elm_Gen_Item             *parent,
-                      Evas_Smart_Cb             func,
-                      const void               *func_data);
-
-Evas_Object *
-_elm_genlist_item_widget_get(const Elm_Gen_Item *it);
-
-void
-_elm_genlist_page_relative_set(Evas_Object *obj,
-                               double       h_pagerel,
-                               double       v_pagerel);
-
-void
-_elm_genlist_page_relative_get(const Evas_Object *obj,
-                               double            *h_pagerel,
-                               double            *v_pagerel);
-
-void
-_elm_genlist_page_size_set(Evas_Object *obj,
-                           Evas_Coord   h_pagesize,
-                           Evas_Coord   v_pagesize);
-
-void
-_elm_genlist_current_page_get(const Evas_Object *obj,
-                              int               *h_pagenumber,
-                              int               *v_pagenumber);
-
-void
-_elm_genlist_last_page_get(const Evas_Object *obj,
-                           int               *h_pagenumber,
-                           int               *v_pagenumber);
-
-void
-_elm_genlist_page_show(const Evas_Object *obj,
-                       int                h_pagenumber,
-                       int                v_pagenumber);
-
-void
-_elm_genlist_page_bring_in(const Evas_Object *obj,
-                           int                h_pagenumber,
-                           int                v_pagenumber);
-
-void
-_elm_genlist_item_unrealize(Elm_Gen_Item *it,
-                            Eina_Bool     calc);
-void
-_elm_genlist_item_del_serious(Elm_Gen_Item *it);
-
-void
-_elm_genlist_item_del_notserious(Elm_Gen_Item *it);
-
-#endif
index f955727738c80bce0ff1d7c56be72e794961a91c..a1532e25905f7ea86730079ca940173acf60cccb 100644 (file)
@@ -2,7 +2,7 @@
 #include <Elementary_Cursor.h>
 #include "elm_priv.h"
 #include "els_scroller.h"
-#include "elm_gen.h"
+#include "elm_genlist.h"
 
 /* --
  * TODO:
index 131e42070eaaa82057e84f3b7bfd234bf92e1b15..62aef74ccc3a976c89619f1f0c9ebec52f008f23 100644 (file)
@@ -4,7 +4,7 @@
 #include <Elementary_Cursor.h>
 #include "elm_priv.h"
 #include "els_scroller.h"
-#include "elm_gen.h"
+#include "elm_genlist.h"
 
 #define MAX_ITEMS_PER_BLOCK 32
 #define REORDER_EFFECT_TIME 0.5
diff --git a/src/lib/elm_genlist.h b/src/lib/elm_genlist.h
new file mode 100644 (file)
index 0000000..26dfc94
--- /dev/null
@@ -0,0 +1,215 @@
+#ifndef ELM_GEN_H_
+# define ELM_GEN_H_
+
+#include <Elementary.h>
+#include <Elementary_Cursor.h>
+#include "elm_priv.h"
+
+#define ELM_GEN_ITEM_FROM_INLIST(it) \
+   ((it) ? EINA_INLIST_CONTAINER_GET(it, Elm_Gen_Item) : NULL)
+
+#define SWIPE_MOVES         12
+
+typedef struct Elm_Gen_Item_Type Elm_Gen_Item_Type;
+typedef struct Elm_Gen_Item_Tooltip Elm_Gen_Item_Tooltip;
+typedef struct _Widget_Data Widget_Data;
+
+struct Elm_Gen_Item_Tooltip
+{
+   const void                 *data;
+   Elm_Tooltip_Item_Content_Cb content_cb;
+   Evas_Smart_Cb               del_cb;
+   const char                 *style;
+   Eina_Bool                   free_size : 1;
+};
+
+struct Elm_Gen_Item
+{
+   ELM_WIDGET_ITEM;
+   EINA_INLIST;
+   Widget_Data                  *wd;
+   Elm_Gen_Item_Type            *item;
+   const Elm_Gen_Item_Class     *itc;
+   Evas_Coord                    x, y, dx, dy;
+   Evas_Object                  *spacer;
+   Elm_Gen_Item                 *parent;
+   Eina_List                    *labels, *contents, *states, *content_objs;
+   Ecore_Timer                  *long_timer;
+   int                           relcount;
+   int                           walking;
+   int                           generation;
+   const char                   *mouse_cursor;
+
+   struct
+   {
+      Evas_Smart_Cb func;
+      const void   *data;
+   } func;
+
+   Elm_Gen_Item_Tooltip tooltip;
+   Ecore_Cb    del_cb, sel_cb, highlight_cb;
+   Ecore_Cb    unsel_cb, unhighlight_cb, unrealize_cb;
+
+   Eina_Bool   want_unrealize : 1;
+   Eina_Bool   display_only : 1;
+   Eina_Bool   realized : 1;
+   Eina_Bool   selected : 1;
+   Eina_Bool   highlighted : 1;
+   Eina_Bool   disabled : 1;
+   Eina_Bool   dragging : 1;
+   Eina_Bool   down : 1;
+   Eina_Bool   group : 1;
+   Eina_Bool   reorder : 1;
+   Eina_Bool   mode_set : 1; /* item uses style mode for highlight/select */
+};
+
+typedef struct _Pan Pan;
+struct _Pan
+{
+   Evas_Object_Smart_Clipped_Data __clipped_data;
+   Widget_Data                   *wd;
+   Ecore_Job                     *resize_job;
+};
+
+struct _Widget_Data
+{
+   Eina_Inlist_Sorted_State *state;
+   Evas_Object      *obj; /* the genlist object */
+   Evas_Object      *scr; /* a smart scroller object which is used internally in genlist */
+   Evas_Object      *pan_smart; /* "elm_genlist_pan" evas smart object. this is an extern pan of smart scroller(scr). */
+   Eina_List        *selected;
+   Eina_List        *group_items; /* list of groups index items */
+   Eina_Inlist      *items; /* inlist of all items */
+   Elm_Gen_Item     *reorder_it; /* item currently being repositioned */
+   Elm_Gen_Item     *last_selected_item;
+   Pan              *pan; /* pan_smart object's smart data */
+   Ecore_Job        *calc_job;
+   int               walking;
+   int               item_width, item_height;
+   int               group_item_width, group_item_height;
+   int               minw, minh;
+   long              count;
+   Evas_Coord        pan_x, pan_y;
+   Eina_Bool         reorder_mode : 1; /* a flag for reorder mode enable/disable */
+   Eina_Bool         on_hold : 1;
+   Eina_Bool         multi : 1; /* a flag for item multi selection */
+   Eina_Bool         no_select : 1;
+   Eina_Bool         wasselected : 1;
+   Eina_Bool         always_select : 1;
+   Eina_Bool         clear_me : 1;
+   Eina_Bool         h_bounce : 1;
+   Eina_Bool         v_bounce : 1;
+   Ecore_Cb          del_cb, calc_cb, sizing_cb;
+   Ecore_Cb          clear_cb;
+   ////////////////////////////////////
+   Eina_Inlist      *blocks; /* inlist of all blocks. a block consists of a certain number of items. maximum number of items in a block is 'max_items_per_block'. */
+   Evas_Coord        reorder_old_pan_y, w, h, realminw, prev_viewport_w;
+   Ecore_Job        *update_job;
+   Ecore_Idle_Enterer *queue_idle_enterer;
+   Ecore_Idler        *must_recalc_idler;
+   Eina_List        *queue;
+   Elm_Gen_Item *show_item, *anchor_item, *mode_item, *reorder_rel, *expanded_item;
+   Eina_Inlist      *item_cache; /* an inlist of edje object it cache. */
+   Evas_Coord        anchor_y;
+   Evas_Coord        reorder_start_y; /* reorder it's initial y coordinate in the pan. */
+   Elm_List_Mode     mode;
+   Ecore_Timer      *multi_timer, *scr_hold_timer;
+   Ecore_Animator   *reorder_move_animator;
+   const char       *mode_type;
+   const char       *mode_item_style;
+   unsigned int      start_time;
+   Evas_Coord        prev_x, prev_y, prev_mx, prev_my;
+   Evas_Coord        cur_x, cur_y, cur_mx, cur_my;
+   Eina_Bool         mouse_down : 1;
+   Eina_Bool         multi_down : 1;
+   Eina_Bool         multi_timeout : 1;
+   Eina_Bool         multitouched : 1;
+   Eina_Bool         longpressed : 1;
+   Eina_Bool         bring_in : 1;
+   Eina_Bool         compress : 1;
+   Eina_Bool         height_for_width : 1;
+   Eina_Bool         homogeneous : 1;
+   Eina_Bool         swipe : 1;
+   Eina_Bool         reorder_pan_move : 1;
+   Eina_Bool         auto_scroll_enabled : 1;
+   Eina_Bool         pan_resized : 1;
+   struct
+   {
+      Evas_Coord x, y;
+   } history[SWIPE_MOVES];
+   int               multi_device;
+   int               item_cache_count;
+   int               item_cache_max; /* maximum number of cached items */
+   int               movements;
+   int               max_items_per_block; /* maximum number of items per block */
+   double            longpress_timeout; /* longpress timeout. this value comes from _elm_config by default. this can be changed by elm_genlist_longpress_timeout_set() */
+   int               generation;
+
+   /* The stuff below directly come from gengrid without any thinking */
+   unsigned int      nmax;
+   Evas_Coord        reorder_item_x, reorder_item_y;
+   Evas_Coord        old_pan_x, old_pan_y;
+   long              items_lost;
+   double            align_x, align_y;
+
+   Eina_Bool         horizontal : 1;
+   Eina_Bool         move_effect_enabled : 1;
+   Eina_Bool         reorder_item_changed : 1;
+};
+
+Elm_Gen_Item *
+_elm_genlist_item_new(Widget_Data              *wd,
+                      const Elm_Gen_Item_Class *itc,
+                      const void               *data,
+                      Elm_Gen_Item             *parent,
+                      Evas_Smart_Cb             func,
+                      const void               *func_data);
+
+Evas_Object *
+_elm_genlist_item_widget_get(const Elm_Gen_Item *it);
+
+void
+_elm_genlist_page_relative_set(Evas_Object *obj,
+                               double       h_pagerel,
+                               double       v_pagerel);
+
+void
+_elm_genlist_page_relative_get(const Evas_Object *obj,
+                               double            *h_pagerel,
+                               double            *v_pagerel);
+
+void
+_elm_genlist_page_size_set(Evas_Object *obj,
+                           Evas_Coord   h_pagesize,
+                           Evas_Coord   v_pagesize);
+
+void
+_elm_genlist_current_page_get(const Evas_Object *obj,
+                              int               *h_pagenumber,
+                              int               *v_pagenumber);
+
+void
+_elm_genlist_last_page_get(const Evas_Object *obj,
+                           int               *h_pagenumber,
+                           int               *v_pagenumber);
+
+void
+_elm_genlist_page_show(const Evas_Object *obj,
+                       int                h_pagenumber,
+                       int                v_pagenumber);
+
+void
+_elm_genlist_page_bring_in(const Evas_Object *obj,
+                           int                h_pagenumber,
+                           int                v_pagenumber);
+
+void
+_elm_genlist_item_unrealize(Elm_Gen_Item *it,
+                            Eina_Bool     calc);
+void
+_elm_genlist_item_del_serious(Elm_Gen_Item *it);
+
+void
+_elm_genlist_item_del_notserious(Elm_Gen_Item *it);
+
+#endif