/* vim: set sw=3 ts=3 sts=3 expandtab: */
#ifndef ECDB_WIDGETS_H
#define ECDB_WIDGETS_H

void         ecdb_widget_focus_callback_add(Evas_Object *o, const char *name);
Evas_Object *ecdb_widget_add(Evas_Object *parent, const char *name);

Evas_Object *ecdb_button_add(Evas_Object *parent, const char *name);
void         ecdb_button_label_set(Evas_Object *b, const char *label);
void         ecdb_button_icon_set(Evas_Object *b, const char *group);
const char  *ecdb_button_label_get(Evas_Object *b);

Evas_Object *ecdb_combo_item_add(Evas_Object *parent, const char *name);
void         ecdb_combo_item_label_set(Evas_Object *ci, const char *label);
void         ecdb_combo_item_icon_set(Evas_Object *ci, const char *group);
const char  *ecdb_combo_item_label_get(Evas_Object *ci);

Evas_Object	*ecdb_check_add(Evas_Object *parent, const char *name);
void         ecdb_check_label_set(Evas_Object *c, const char *label);
void         ecdb_check_states_set(Evas_Object *c, const char *ystate,
                                                   const char *nstate);
void         ecdb_check_checked_set(Evas_Object *c, int state);
int          ecdb_check_checked_get(Evas_Object *c);

Evas_Object *ecdb_entry_add(Evas_Object *parent, const char *name);
void         ecdb_entry_text_set(Evas_Object *e, const char *text);
char        *ecdb_entry_text_get(Evas_Object *e);

/* Combo todo list:
 * separate hover from combo
 * able to set whether combo collapses on child click
 * better theme
 */
Evas_Object *ecdb_combo_add(Evas_Object *parent, const char *name);
void         ecdb_combo_header_set(Evas_Object *c, const char *text);
void         ecdb_combo_append(Evas_Object *c, Evas_Object *o);
void         ecdb_combo_expand(Evas_Object *c);
void         ecdb_combo_collapse(Evas_Object *c);
void         ecdb_combo_header_create_set(Evas_Object *c, void 
                                                   (*func)(Evas_Object *c,
                                                      const char *name,
                                                      void *data,
                                                      Evas_Object *clicked,
                                                      int idx));
int          ecdb_combo_selected_get(Evas_Object *c);
void         ecdb_combo_data_set(Evas_Object *c, void *data);
void        *ecdb_combo_data_get(Evas_Object *c);
void         ecdb_combo_clear(Evas_Object *c);

Evas_Object *ecdb_label_add(Evas_Object *parent, const char *name);
void         ecdb_label_text_set(Evas_Object *l, const char *text);

Evas_Object *ecdb_config_inwin_add(Evas_Object *parent, const char *name);
void         ecdb_config_inwin_show(Evas_Object *inwin);
void         ecdb_config_inwin_hide(Evas_Object *inwin);
void         ecdb_config_inwin_child_add(Evas_Object *inwin, Evas_Object *child,
                                                      int c, int r,
                                                      int cs, int rs);

Evas_Object *ecdb_capacity_add(Evas_Object *parent, const char *name);
void         ecdb_capacity_float_set(Evas_Object *cap, float val);

#endif
