Start splitting up ecdb_gui into more logic files

This commit is contained in:
Jaime Thomas
2008-12-21 01:48:31 +00:00
parent 7f0f6159a8
commit 9db32952a6
9 changed files with 252 additions and 190 deletions

View File

@ -67,13 +67,44 @@ ecdb_button_label_get(Evas_Object *b)
/************************* CHECK *********************************************/
typedef struct _Check_Data Check_Data;
struct _Check_Data
{
unsigned int checked;
};
void
_check_toggle_cb_call(void *data, Evas_Object *obj, const char *emission,
const char *source)
{
Check_Data *cd;
cd = evas_object_data_get(obj, "cd");
if (!strcmp(emission, "ecdb,check,checked"))
{
evas_object_smart_callback_call(obj, "checked", NULL);
cd->checked = 1;
}
else
{
evas_object_smart_callback_call(obj, "unchecked", NULL);
cd->checked = 0;
}
}
Evas_Object *
ecdb_check_add(Evas_Object *parent, const char *name)
{
Evas_Object *c;
Check_Data *cd;
c = ecdb_widget_add(parent, name);
edje_object_file_set(c, em->theme_path, "ecdb/check");
edje_object_signal_callback_add(c, "ecdb,check,*", "ecdb",
_check_toggle_cb_call, c);
cd = calloc(1, sizeof(Check_Data));
evas_object_data_set(c, "cd", cd);
return c;
}
@ -94,16 +125,31 @@ ecdb_check_states_set(Evas_Object *c, const char *ystate, const char *nstate)
void
ecdb_check_state_set(Evas_Object *c, int state)
{
Check_Data *cd;
cd = evas_object_data_get(c, "cd");
if (state)
{
cd->checked = 1;
edje_object_signal_emit(c, "ecdb,check,on", "ecdb");
}
else
{
cd->checked = 0;
edje_object_signal_emit(c, "ecdb,check,off", "ecdb");
}
}
int
ecdb_check_checked_get(Evas_Object *c)
{
Check_Data *cd;
cd = evas_object_data_get(c, "cd");
return cd->checked;
}
/************************** ENTRY *******************************************/
/* Shamelessly stolen from Elementary... */