forked from enlightenment/enlightenment
parent
30936df4a3
commit
590137f924
|
@ -4,9 +4,9 @@
|
||||||
#include "e.h"
|
#include "e.h"
|
||||||
|
|
||||||
typedef struct _E_Widget_Queue_Item E_Widget_Queue_Item;
|
typedef struct _E_Widget_Queue_Item E_Widget_Queue_Item;
|
||||||
|
|
||||||
typedef struct _E_Widget_Data E_Widget_Data;
|
typedef struct _E_Widget_Data E_Widget_Data;
|
||||||
typedef struct _E_Widget_Callback E_Widget_Callback;
|
typedef struct _E_Widget_Callback E_Widget_Callback;
|
||||||
|
|
||||||
struct _E_Widget_Data
|
struct _E_Widget_Data
|
||||||
{
|
{
|
||||||
Evas_Object *o_widget, *o_scrollframe, *o_ilist;
|
Evas_Object *o_widget, *o_scrollframe, *o_ilist;
|
||||||
|
@ -16,7 +16,6 @@ struct _E_Widget_Data
|
||||||
Eina_List *queue;
|
Eina_List *queue;
|
||||||
Ecore_Timer *timer;
|
Ecore_Timer *timer;
|
||||||
int count;
|
int count;
|
||||||
|
|
||||||
int show_nth;
|
int show_nth;
|
||||||
int select_nth;
|
int select_nth;
|
||||||
} queue;
|
} queue;
|
||||||
|
@ -24,8 +23,8 @@ struct _E_Widget_Data
|
||||||
struct _E_Widget_Callback
|
struct _E_Widget_Callback
|
||||||
{
|
{
|
||||||
void (*func) (void *data);
|
void (*func) (void *data);
|
||||||
void *data;
|
void *data;
|
||||||
char *value;
|
char *value;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _E_Widget_Queue_Item
|
struct _E_Widget_Queue_Item
|
||||||
|
@ -37,8 +36,7 @@ struct _E_Widget_Queue_Item
|
||||||
void (*func) (void *data);
|
void (*func) (void *data);
|
||||||
void *data;
|
void *data;
|
||||||
const char *val;
|
const char *val;
|
||||||
int relative;
|
int relative, use_relative;
|
||||||
int use_relative;
|
|
||||||
int item;
|
int item;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -75,23 +73,24 @@ _queue_timer(void *data)
|
||||||
if (qi->command == 0)
|
if (qi->command == 0)
|
||||||
{
|
{
|
||||||
E_Widget_Callback *wcb, *rcb;
|
E_Widget_Callback *wcb, *rcb;
|
||||||
|
|
||||||
wcb = E_NEW(E_Widget_Callback, 1);
|
wcb = E_NEW(E_Widget_Callback, 1);
|
||||||
if (!wcb) break;
|
if (!wcb) break;
|
||||||
wcb->func = qi->func;
|
wcb->func = qi->func;
|
||||||
wcb->data = qi->data;
|
wcb->data = qi->data;
|
||||||
if (qi->val) wcb->value = strdup(qi->val);
|
if (qi->val) wcb->value = strdup(qi->val);
|
||||||
if (qi->use_relative == 0) // append
|
if (qi->use_relative == 0) // append
|
||||||
{
|
{
|
||||||
wd->callbacks = eina_list_append(wd->callbacks, wcb);
|
wd->callbacks = eina_list_append(wd->callbacks, wcb);
|
||||||
e_ilist_append(wd->o_ilist, qi->icon, qi->label, qi->header,
|
e_ilist_append(wd->o_ilist, qi->icon, qi->label, qi->header,
|
||||||
_e_wid_cb_item_sel, _e_wid_cb_item_hilight, wd, wcb);
|
_e_wid_cb_item_sel, _e_wid_cb_item_hilight, wd, wcb);
|
||||||
}
|
}
|
||||||
else if (qi->use_relative == 2) // prepend
|
else if (qi->use_relative == 2) // prepend
|
||||||
{
|
{
|
||||||
wd->callbacks = eina_list_append(wd->callbacks, wcb);
|
wd->callbacks = eina_list_append(wd->callbacks, wcb);
|
||||||
e_ilist_prepend(wd->o_ilist, qi->icon, qi->label, qi->header,
|
e_ilist_prepend(wd->o_ilist, qi->icon, qi->label, qi->header,
|
||||||
_e_wid_cb_item_sel, _e_wid_cb_item_hilight, wd, wcb);
|
_e_wid_cb_item_sel, _e_wid_cb_item_hilight, wd, wcb);
|
||||||
}
|
}
|
||||||
else if (qi->use_relative == 1) // append relative
|
else if (qi->use_relative == 1) // append relative
|
||||||
{
|
{
|
||||||
rcb = eina_list_nth(wd->callbacks, qi->relative);
|
rcb = eina_list_nth(wd->callbacks, qi->relative);
|
||||||
|
@ -127,13 +126,9 @@ _queue_timer(void *data)
|
||||||
if (qi->icon) evas_object_show(qi->icon);
|
if (qi->icon) evas_object_show(qi->icon);
|
||||||
}
|
}
|
||||||
else if (qi->command == 1)
|
else if (qi->command == 1)
|
||||||
{
|
e_ilist_nth_label_set(wd->o_ilist, qi->item, qi->label);
|
||||||
e_ilist_nth_label_set(wd->o_ilist, qi->item, qi->label);
|
|
||||||
}
|
|
||||||
else if (qi->command == 2)
|
else if (qi->command == 2)
|
||||||
{
|
e_ilist_nth_icon_set(wd->o_ilist, qi->item, qi->icon);
|
||||||
e_ilist_nth_icon_set(wd->o_ilist, qi->item, qi->icon);
|
|
||||||
}
|
|
||||||
else if (qi->command == 3)
|
else if (qi->command == 3)
|
||||||
{
|
{
|
||||||
Evas_Coord x, y, w, h;
|
Evas_Coord x, y, w, h;
|
||||||
|
@ -145,9 +140,7 @@ _queue_timer(void *data)
|
||||||
e_scrollframe_child_region_show(wd->o_scrollframe, x, y, w, h);
|
e_scrollframe_child_region_show(wd->o_scrollframe, x, y, w, h);
|
||||||
}
|
}
|
||||||
else if (qi->command == 4)
|
else if (qi->command == 4)
|
||||||
{
|
e_ilist_selected_set(wd->o_ilist, qi->item);
|
||||||
e_ilist_selected_set(wd->o_ilist, qi->item);
|
|
||||||
}
|
|
||||||
else if (qi->command == 5)
|
else if (qi->command == 5)
|
||||||
{
|
{
|
||||||
if ((wd->value) && *(wd->value))
|
if ((wd->value) && *(wd->value))
|
||||||
|
@ -173,13 +166,9 @@ _queue_timer(void *data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (qi->command == 7)
|
else if (qi->command == 7)
|
||||||
{
|
e_ilist_multi_select(wd->o_ilist, qi->item);
|
||||||
e_ilist_multi_select(wd->o_ilist, qi->item);
|
|
||||||
}
|
|
||||||
else if (qi->command == 8)
|
else if (qi->command == 8)
|
||||||
{
|
e_ilist_range_select(wd->o_ilist, qi->item);
|
||||||
e_ilist_range_select(wd->o_ilist, qi->item);
|
|
||||||
}
|
|
||||||
_queue_remove(obj, qi, 0);
|
_queue_remove(obj, qi, 0);
|
||||||
num++;
|
num++;
|
||||||
if (num >= 10) break;
|
if (num >= 10) break;
|
||||||
|
@ -194,6 +183,7 @@ static void
|
||||||
_queue_queue(Evas_Object *obj)
|
_queue_queue(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
E_Widget_Data *wd;
|
E_Widget_Data *wd;
|
||||||
|
|
||||||
wd = e_widget_data_get(obj);
|
wd = e_widget_data_get(obj);
|
||||||
if (!wd->queue.queue) return;
|
if (!wd->queue.queue) return;
|
||||||
if (wd->queue.timer) return;
|
if (wd->queue.timer) return;
|
||||||
|
|
Loading…
Reference in New Issue