Add and Use the config list widget

* Config list widget is used to have an editable ilist
 * Config list widget will be reused in the paths configuration dialog


SVN revision: 21894
This commit is contained in:
Stafford Mitchell Horne 2006-04-06 12:07:45 +00:00
parent 227d31fbf5
commit 29541f7dbb
7 changed files with 386 additions and 243 deletions

View File

@ -119,6 +119,7 @@ e_livethumb.h \
e_int_border_border.h \
e_widget_ilist.h \
e_widget_tlist.h \
e_widget_config_list.h \
e_slider.h \
e_widget_slider.h \
e_int_config_window_manipulation.h \
@ -249,6 +250,7 @@ e_livethumb.c \
e_int_border_border.c \
e_widget_ilist.c \
e_widget_tlist.c \
e_widget_config_list.c \
e_slider.c \
e_widget_slider.c \
e_int_config_window_manipulation.c \

View File

@ -97,6 +97,7 @@
#include "e_livethumb.h"
#include "e_int_border_border.h"
#include "e_widget_ilist.h"
#include "e_widget_config_list.h"
#include "e_slider.h"
#include "e_widget_slider.h"
#include "e_int_config_window_manipulation.h"

View File

@ -14,13 +14,7 @@ static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Co
static void _ilist_font_cb_change(void *data, Evas_Object *obj);
static void _enabled_font_cb_change(void *data, Evas_Object *obj);
static void _ilist_fallback_cb_change(void *data, Evas_Object *obj);
static void _enabled_fallback_cb_change(void *data, Evas_Object *obj);
static void _button_fallback_cb_add(void *data, void *obj);
static void _button_fallback_cb_remove(void *data, void *obj);
static void _button_fallback_cb_up(void *data, void *obj);
static void _button_fallback_cb_down(void *data, void *obj);
static void _list_select_num(E_Config_Dialog_Data *cfdata, int indx);
struct _E_Text_Class_Pair
{
@ -80,7 +74,6 @@ struct _E_Config_Dialog_Data
int cur_index;
/* Font Fallbacks */
char *cur_fallback;
int cur_fallbacks_enabled;
/* Font Hinting */
@ -97,12 +90,6 @@ struct _E_Config_Dialog_Data
/* Font Fallbacks */
Evas_Object *fallback_list; /* Selecting a list entry starts edit*/
Evas_Object *fallback; /* Text Entry */
Evas_Object *fallback_up; /* Move selected list entry up */
Evas_Object *fallback_down; /* Move selected list entry down */
Evas_Object *fallback_add; /* create and select a new list entry */
Evas_Object *fallback_remove; /* remove the selected entry */
}
gui;
};
@ -249,10 +236,10 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
if (cfdata->cur_fallbacks_enabled)
{
for (i = 0; i < e_widget_ilist_count(cfdata->gui.fallback_list); i++)
for (i = 0; i < e_widget_config_list_count(cfdata->gui.fallback_list); i++)
{
const char *fallback;
fallback = e_widget_ilist_nth_label_get(cfdata->gui.fallback_list, i);
fallback = e_widget_config_list_nth_get(cfdata->gui.fallback_list, i);
if (fallback != NULL && strlen(fallback) > 0)
e_font_fallback_append(fallback);
}
@ -369,88 +356,35 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
e_widget_list_object_append(o, of, 1, 1, 0.5);
/* Create Fallbacks Widgets */
option_enable = (e_font_fallback_list() != NULL);
of = e_widget_frametable_add(evas, _("Font Fallbacks"), 1);
of = e_widget_framelist_add(evas, _("Font Fallbacks"), 0);
e_widget_framelist_content_align_set(of, 0.5, 0.5);
ob = e_widget_button_add(evas, _("Move Up"), "widget/up_arrow", _button_fallback_cb_up, cfdata, NULL);
cfdata->gui.fallback_up = ob;
e_widget_disabled_set(ob, 1);
e_widget_frametable_object_append( of,
ob,
1, 0, 1, 1,
1, 1, 1, 1);
ob = e_widget_config_list_add(evas, e_widget_entry_add, _("Fallback Name"));
cfdata->gui.fallback_list = ob;
e_widget_framelist_object_append(of, ob);
ob = e_widget_button_add(evas, _("Move Down"), "widget/down_arrow", _button_fallback_cb_down, cfdata, NULL);
cfdata->gui.fallback_down = ob;
e_widget_disabled_set(ob, 1);
e_widget_frametable_object_append( of,
ob,
1, 3, 1, 1,
1, 1, 1, 1);
cfdata->gui.fallback_list = e_widget_ilist_add(evas, 16, 16, NULL);
e_widget_disabled_set(cfdata->gui.fallback_list, !option_enable);
e_widget_min_size_set(cfdata->gui.fallback_list, 100, 100);
e_widget_on_change_hook_set(cfdata->gui.fallback_list, _ilist_fallback_cb_change, cfdata);
/* Fill In Ilist */
option_enable = 0;
for (i = 0; i < evas_list_count(e_font_fallback_list()); i++)
{
E_Font_Fallback *eff;
eff = evas_list_nth(e_font_fallback_list(), i);
e_widget_ilist_append(cfdata->gui.fallback_list, NULL, eff->name, NULL, NULL, NULL);
e_widget_config_list_append(ob, eff->name);
option_enable = 1;
}
e_widget_ilist_go(cfdata->gui.fallback_list);
e_widget_frametable_object_append( of,
cfdata->gui.fallback_list,
2, /* Col Start*/
0, /* Row Start */
1, /* Col Span*/
4, /* Row Span*/
1, 1, 1, 1);
ob = e_widget_label_add(evas, _("Fallback Name"));
e_widget_frametable_object_append( of,
ob,
0, 0, 1, 1,
1, 1, 1, 1);
cfdata->gui.fallback = e_widget_entry_add(evas, &(cfdata->cur_fallback));
e_widget_disabled_set(cfdata->gui.fallback, !option_enable);
e_widget_min_size_set(cfdata->gui.fallback, 100, 25);
e_widget_frametable_object_append(of, cfdata->gui.fallback,
0, 1, 1, 1,
1, 1, 1, 1);
cfdata->gui.fallback_add = e_widget_button_add(evas, _("Add"), NULL, _button_fallback_cb_add, cfdata, NULL);
e_widget_disabled_set(cfdata->gui.fallback_add, !option_enable);
e_widget_frametable_object_append( of,
cfdata->gui.fallback_add,
1, 1, 1, 1,
1, 1, 1, 1);
cfdata->gui.fallback_remove = e_widget_button_add(evas, _("Remove"), NULL, _button_fallback_cb_remove, cfdata, NULL);
e_widget_disabled_set(cfdata->gui.fallback_remove, !option_enable);
e_widget_frametable_object_append( of,
cfdata->gui.fallback_remove ,
1, 2, 1, 1,
1, 1, 1, 1);
ob = e_widget_check_add(evas, _("Enable Fallbacks"), &(cfdata->cur_fallbacks_enabled));
e_widget_frametable_object_append(of, ob,
e_widget_config_list_object_append( cfdata->gui.fallback_list,
ob,
0, 3, 1, 1,
1, 1, 1, 1);
e_widget_on_change_hook_set(ob, _enabled_fallback_cb_change, cfdata);
e_widget_check_checked_set(ob, option_enable);
e_widget_on_change_hook_set(ob, _enabled_fallback_cb_change, cfdata);
if (e_widget_ilist_count(cfdata->gui.fallback_list) > 0)
{
e_widget_ilist_selected_set(cfdata->gui.fallback_list, 0);
}
e_widget_change(ob);
e_widget_list_object_append(o, of, 1, 1, 0.5);
return o;
}
@ -511,171 +445,13 @@ _enabled_font_cb_change(void *data, Evas_Object *obj)
}
/* Private Font Fallback Functions */
static void _ilist_fallback_cb_change(void *data, Evas_Object *obj)
{
int indx;
E_Config_Dialog_Data *cfdata;
cfdata = data;
if (!cfdata) return;
indx = e_widget_ilist_selected_get(cfdata->gui.fallback_list);
_list_select_num(cfdata, indx);
}
static void _enabled_fallback_cb_change(void *data, Evas_Object *obj)
{
E_Config_Dialog_Data *cfdata;
cfdata = data;
if (!cfdata) return;
if (cfdata->cur_fallbacks_enabled)
{
e_widget_disabled_set(cfdata->gui.fallback_list, 0);
e_widget_disabled_set(cfdata->gui.fallback_add, 0);
e_widget_disabled_set(cfdata->gui.fallback, 0);
}
else
{
_list_select_num(cfdata, -1);
e_widget_disabled_set(cfdata->gui.fallback_list, 1);
e_widget_disabled_set(cfdata->gui.fallback, 1);
e_widget_disabled_set(cfdata->gui.fallback_add, 1);
}
}
static void _button_fallback_cb_add(void *data, void *obj)
{
E_Config_Dialog_Data *cfdata;
cfdata = data;
if (!cfdata) return;
if (cfdata->cur_fallback && strlen(cfdata->cur_fallback) > 0)
{
int count;
int i;
/* If it already esists just select the existing one */
for (i = 0; i < e_widget_ilist_count(cfdata->gui.fallback_list); i++)
{
const char *fallback;
fallback = e_widget_ilist_nth_label_get(cfdata->gui.fallback_list, i);
if ( fallback != NULL &&
strlen(fallback) > 0 &&
!strcmp(fallback, cfdata->cur_fallback) )
{
e_widget_ilist_selected_set(cfdata->gui.fallback_list, i);
return;
}
}
e_widget_ilist_append(cfdata->gui.fallback_list, NULL, cfdata->cur_fallback, NULL, NULL, NULL);
e_widget_ilist_go(cfdata->gui.fallback_list);
count = e_widget_ilist_count(cfdata->gui.fallback_list);
e_widget_ilist_selected_set(cfdata->gui.fallback_list, count - 1);
e_widget_entry_text_set(cfdata->gui.fallback, "");
}
e_widget_disabled_set(cfdata->gui.fallback_list, !cfdata->cur_fallbacks_enabled);
}
static void _button_fallback_cb_remove(void *data, void *obj)
{
int indx;
int count;
E_Config_Dialog_Data *cfdata;
cfdata = data;
if (!cfdata) return;
indx = e_widget_ilist_selected_get(cfdata->gui.fallback_list);
count = e_widget_ilist_count(cfdata->gui.fallback_list);
e_widget_ilist_remove_num(cfdata->gui.fallback_list, indx);
e_widget_ilist_go(cfdata->gui.fallback_list);
e_widget_ilist_selected_set(cfdata->gui.fallback_list, indx);
if (count == 1)
{
_list_select_num(cfdata, -1);
}
}
static void _button_fallback_cb_up(void *data, void *obj)
{
E_Config_Dialog_Data *cfdata;
int idx_sel;
const char *label_sel;
const char *label_rep;
cfdata = data;
if (!cfdata) return;
idx_sel = e_widget_ilist_selected_get(cfdata->gui.fallback_list);
label_sel = e_widget_ilist_nth_label_get(cfdata->gui.fallback_list, idx_sel);
label_rep = e_widget_ilist_nth_label_get(cfdata->gui.fallback_list, idx_sel - 1);
e_widget_ilist_nth_label_set(cfdata->gui.fallback_list, idx_sel - 1, label_sel);
e_widget_ilist_nth_label_set(cfdata->gui.fallback_list, idx_sel, label_rep);
e_widget_ilist_selected_set(cfdata->gui.fallback_list, idx_sel - 1);
}
static void _button_fallback_cb_down(void *data, void *obj)
{
E_Config_Dialog_Data *cfdata;
int idx_sel;
const char *label_sel;
const char *label_rep;
cfdata = data;
if (!cfdata) return;
idx_sel = e_widget_ilist_selected_get(cfdata->gui.fallback_list);
label_sel = e_widget_ilist_nth_label_get(cfdata->gui.fallback_list, idx_sel);
label_rep = e_widget_ilist_nth_label_get(cfdata->gui.fallback_list, idx_sel + 1);
e_widget_ilist_nth_label_set(cfdata->gui.fallback_list, idx_sel + 1, label_sel);
e_widget_ilist_nth_label_set(cfdata->gui.fallback_list, idx_sel, label_rep);
e_widget_ilist_selected_set(cfdata->gui.fallback_list, idx_sel + 1);
}
static void _list_select_num(E_Config_Dialog_Data *cfdata, int indx)
{
int count;
/* Disable selecting the list while we are disabled */
if (indx >= 0 && !cfdata->cur_fallbacks_enabled) return;
count = e_widget_ilist_count(cfdata->gui.fallback_list);
if (count == 0 || indx < 0)
{
e_widget_disabled_set(cfdata->gui.fallback_remove, 1);
}
else
{
e_widget_disabled_set(cfdata->gui.fallback_remove, 0);
}
if (count == 1 || indx < 0)
{
e_widget_disabled_set(cfdata->gui.fallback_up, 1);
e_widget_disabled_set(cfdata->gui.fallback_down, 1);
}
else if (indx == 0)
{
e_widget_disabled_set(cfdata->gui.fallback_up, 1);
e_widget_disabled_set(cfdata->gui.fallback_down, 0);
}
else if (indx + 1 == count)
{
e_widget_disabled_set(cfdata->gui.fallback_up, 0);
e_widget_disabled_set(cfdata->gui.fallback_down, 1);
}
else
{
e_widget_disabled_set(cfdata->gui.fallback_up, 0);
e_widget_disabled_set(cfdata->gui.fallback_down, 0);
}
}

View File

@ -0,0 +1,348 @@
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#include "e.h"
typedef struct _E_Widget_Data E_Widget_Data;
/* subsystem functions */
static void _list_cb_change(void *data, Evas_Object *obj);
static void _button_cb_add(void *data, void *obj);
static void _button_cb_remove(void *data, void *obj);
static void _button_cb_up(void *data, void *obj);
static void _button_cb_down(void *data, void *obj);
static void _list_select_num(E_Widget_Data *wd, int indx);
static void _e_wid_disable_hook(Evas_Object *obj);
static void _e_wid_del_hook(Evas_Object *obj);
struct _E_Widget_Data
{
/* Current Data */
char *cur_entry;
int cur_enabled;
struct
{
Evas_Object *list; /* Selecting a list entry starts edit*/
Evas_Object *table;
Evas_Object *entry; /* Generic Entry */
Evas_Object *up; /* Move selected list entry up */
Evas_Object *down; /* Move selected list entry down */
Evas_Object *add; /* create and select a new list entry */
Evas_Object *remove; /* remove the selected entry */
}
gui;
};
/* Externally accessible functions */
EAPI Evas_Object *
e_widget_config_list_add(Evas *evas, Evas_Object* (*func_entry_add) (Evas *evas, char **val), const char *label)
{
Evas_Object *obj, *o;
E_Widget_Data *wd;
Evas_Coord mw, mh;
obj = e_widget_add(evas);
e_widget_del_hook_set(obj, _e_wid_del_hook);
e_widget_disable_hook_set(obj, _e_wid_disable_hook);
wd = E_NEW(E_Widget_Data, 1);
e_widget_data_set(obj, wd);
o = e_widget_table_add(evas, 1);
wd->gui.table = o;
e_widget_sub_object_add(obj, o);
o = e_widget_button_add(evas, _("Move Up"), "widget/up_arrow", _button_cb_up, wd, NULL);
wd->gui.up = o;
e_widget_disabled_set(o, 1);
e_widget_table_object_append( wd->gui.table,
o,
1, 0, 1, 1,
1, 1, 1, 1);
o = e_widget_button_add(evas, _("Move Down"), "widget/down_arrow", _button_cb_down, wd, NULL);
wd->gui.down = o;
e_widget_disabled_set(o, 1);
e_widget_table_object_append( wd->gui.table,
o,
1, 3, 1, 1,
1, 1, 1, 1);
o = e_widget_ilist_add(evas, 16, 16, NULL);
wd->gui.list = o;
e_widget_disabled_set(o, 1);
e_widget_min_size_set(o, 100, 100);
e_widget_on_change_hook_set(o, _list_cb_change, wd);
e_widget_ilist_go(o);
e_widget_table_object_append( wd->gui.table,
o,
2, 0, 1, 4,
1, 1, 1, 1);
o = e_widget_label_add(evas, label);
e_widget_table_object_append( wd->gui.table,
o,
0, 0, 1, 1,
1, 1, 1, 1);
o = func_entry_add(evas, &(wd->cur_entry));
wd->gui.entry = o;
e_widget_disabled_set(o, 1);
e_widget_min_size_set(o, 100, 25);
e_widget_table_object_append( wd->gui.table,
o,
0, 1, 1, 1,
1, 1, 1, 1);
o = e_widget_button_add(evas, _("Add"), NULL, _button_cb_add, wd, obj);
wd->gui.add = o;
e_widget_disabled_set(o, 1);
e_widget_table_object_append( wd->gui.table,
o,
1, 1, 1, 1,
1, 1, 1, 1);
o = e_widget_button_add(evas, _("Remove"), NULL, _button_cb_remove, wd, obj);
wd->gui.remove = o;
e_widget_disabled_set(o, 1);
e_widget_table_object_append( wd->gui.table,
o,
1, 2, 1, 1,
1, 1, 1, 1);
e_widget_min_size_get(wd->gui.table, &mw, &mh);
e_widget_min_size_set(obj, mw, mh);
e_widget_resize_object_set(obj, wd->gui.table);
return obj;
}
EAPI int
e_widget_config_list_count(Evas_Object *obj)
{
E_Widget_Data *wd;
wd = e_widget_data_get(obj);
return e_widget_ilist_count(wd->gui.list);
}
EAPI const char *
e_widget_config_list_nth_get(Evas_Object *obj, int n)
{
E_Widget_Data *wd;
wd = e_widget_data_get(obj);
return e_widget_ilist_nth_label_get(wd->gui.list, n);
}
EAPI void
e_widget_config_list_append(Evas_Object *obj, const char *entry)
{
E_Widget_Data *wd;
int count;
wd = e_widget_data_get(obj);
e_widget_ilist_append(wd->gui.list, NULL, entry, NULL, NULL, NULL);
e_widget_ilist_go(wd->gui.list);
count = e_widget_ilist_count(wd->gui.list);
e_widget_ilist_selected_set(wd->gui.list, count - 1);
}
EAPI void
e_widget_config_list_object_append(Evas_Object *obj, Evas_Object *sobj, int col, int row, int colspan, int rowspan, int fill_w, int fill_h, int expand_w, int expand_h)
{
E_Widget_Data *wd;
wd = e_widget_data_get(obj);
e_widget_table_object_append(wd->gui.table, sobj, col, row, colspan, rowspan, fill_w, fill_h, expand_w, expand_h);
}
/* Private Function defs */
static void _list_cb_change(void *data, Evas_Object *obj)
{
int indx;
E_Widget_Data *wd;
wd = data;
if (!wd) return;
indx = e_widget_ilist_selected_get(wd->gui.list);
_list_select_num(wd, indx);
}
static void _button_cb_add(void *data, void *obj)
{
E_Widget_Data *wd;
Evas_Object *o;
o = obj;
wd = data;
if (!o) return;
if (!wd) return;
if (wd->cur_entry && strlen(wd->cur_entry) > 0)
{
int i;
/* If it already esists just select the existing one */
for (i = 0; i < e_widget_ilist_count(wd->gui.list); i++)
{
const char *label;
label = e_widget_ilist_nth_label_get(wd->gui.list, i);
if ( label != NULL &&
strlen(label) > 0 &&
!strcmp(label, wd->cur_entry) )
{
e_widget_ilist_selected_set(wd->gui.list, i);
return;
}
}
e_widget_config_list_append(o, wd->cur_entry);
e_widget_entry_text_set(wd->gui.entry, "");
}
}
static void _button_cb_remove(void *data, void *obj)
{
int indx;
int count;
E_Widget_Data *wd;
wd = data;
if (!wd) return;
indx = e_widget_ilist_selected_get(wd->gui.list);
count = e_widget_ilist_count(wd->gui.list);
e_widget_ilist_remove_num(wd->gui.list, indx);
e_widget_ilist_go(wd->gui.list);
e_widget_ilist_selected_set(wd->gui.list, indx);
if (count == 1)
{
_list_select_num(wd, -1);
}
}
static void _button_cb_up(void *data, void *obj)
{
E_Widget_Data *wd;
int idx_sel;
const char *label_sel;
const char *label_rep;
wd = data;
if (!wd) return;
idx_sel = e_widget_ilist_selected_get(wd->gui.list);
label_sel = e_widget_ilist_nth_label_get(wd->gui.list, idx_sel);
label_rep = e_widget_ilist_nth_label_get(wd->gui.list, idx_sel - 1);
e_widget_ilist_nth_label_set(wd->gui.list, idx_sel - 1, label_sel);
e_widget_ilist_nth_label_set(wd->gui.list, idx_sel, label_rep);
e_widget_ilist_selected_set(wd->gui.list, idx_sel - 1);
}
static void _button_cb_down(void *data, void *obj)
{
E_Widget_Data *wd;
int idx_sel;
const char *label_sel;
const char *label_rep;
wd = data;
if (!wd) return;
idx_sel = e_widget_ilist_selected_get(wd->gui.list);
label_sel = e_widget_ilist_nth_label_get(wd->gui.list, idx_sel);
label_rep = e_widget_ilist_nth_label_get(wd->gui.list, idx_sel + 1);
e_widget_ilist_nth_label_set(wd->gui.list, idx_sel + 1, label_sel);
e_widget_ilist_nth_label_set(wd->gui.list, idx_sel, label_rep);
e_widget_ilist_selected_set(wd->gui.list, idx_sel + 1);
}
static void _list_select_num(E_Widget_Data *wd, int indx)
{
int count;
/* Disable selecting the list while we are disabled */
if (indx >= 0 && !wd->cur_enabled) return;
count = e_widget_ilist_count(wd->gui.list);
if (count == 0 || indx < 0)
{
e_widget_disabled_set(wd->gui.remove, 1);
}
else
{
e_widget_disabled_set(wd->gui.remove, 0);
}
if (count == 1 || indx < 0)
{
e_widget_disabled_set(wd->gui.up, 1);
e_widget_disabled_set(wd->gui.down, 1);
}
else if (indx == 0)
{
e_widget_disabled_set(wd->gui.up, 1);
e_widget_disabled_set(wd->gui.down, 0);
}
else if (indx + 1 == count)
{
e_widget_disabled_set(wd->gui.up, 0);
e_widget_disabled_set(wd->gui.down, 1);
}
else
{
e_widget_disabled_set(wd->gui.up, 0);
e_widget_disabled_set(wd->gui.down, 0);
}
}
/* Callback Functions */
static void
_e_wid_del_hook(Evas_Object *obj)
{
E_Widget_Data *wd;
wd = e_widget_data_get(obj);
free(wd);
}
static void
_e_wid_disable_hook(Evas_Object *obj)
{
E_Widget_Data *wd;
wd = e_widget_data_get(obj);
if (!wd) return;
wd->cur_enabled = !e_widget_disabled_get(obj);
if (wd->cur_enabled)
{
e_widget_disabled_set(wd->gui.list, 0);
e_widget_disabled_set(wd->gui.add, 0);
e_widget_disabled_set(wd->gui.entry, 0);
}
else
{
_list_select_num(wd, -1);
e_widget_disabled_set(wd->gui.list, 1);
e_widget_disabled_set(wd->gui.entry, 1);
e_widget_disabled_set(wd->gui.add, 1);
}
}

View File

@ -0,0 +1,16 @@
/*
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
*/
#ifdef E_TYPEDEFS
#else
#ifndef E_WIDGET_CONFIG_LIST_H
#define E_WIDGET_CONFIG_LIST_H
EAPI Evas_Object *e_widget_config_list_add(Evas *evas, Evas_Object* (*func_entry_add) (Evas *evas, char **val), const char *label);
EAPI int e_widget_config_list_count(Evas_Object *obj);
EAPI const char *e_widget_config_list_nth_get(Evas_Object *obj, int n);
EAPI void e_widget_config_list_append(Evas_Object *obj, const char *entry);
EAPI void e_widget_config_list_object_append(Evas_Object *obj, Evas_Object *sobj, int col, int row, int colspan, int rowspan, int fill_w, int fill_h, int expand_w, int expand_h);
#endif
#endif

View File

@ -7,7 +7,7 @@
/* externally accessible functions */
EAPI Evas_Object *
e_widget_label_add(Evas *evas, char *label)
e_widget_label_add(Evas *evas, const char *label)
{
Evas_Object *obj, *o;
Evas_Coord mw, mh;

View File

@ -6,7 +6,7 @@
#ifndef E_WIDGET_LABEL_H
#define E_WIDGET_LABEL_H
EAPI Evas_Object *e_widget_label_add(Evas *evas, char *label);
EAPI Evas_Object *e_widget_label_add(Evas *evas, const char *label);
#endif
#endif