when clicking on a color well, initialize the color selector to the well's color
few other cleanups SVN revision: 24957
This commit is contained in:
parent
e84d43ddba
commit
24bb452439
|
@ -19,7 +19,7 @@ e_color_update_hsv(E_Color *ec)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_color_copy(E_Color *from, E_Color *to)
|
e_color_copy(const E_Color *from, E_Color *to)
|
||||||
{
|
{
|
||||||
if (!from || !to) return;
|
if (!from || !to) return;
|
||||||
to->r = from->r;
|
to->r = from->r;
|
||||||
|
|
|
@ -31,6 +31,6 @@ struct _E_Color
|
||||||
|
|
||||||
EAPI void e_color_update_rgb (E_Color *ec);
|
EAPI void e_color_update_rgb (E_Color *ec);
|
||||||
EAPI void e_color_update_hsv (E_Color *ec);
|
EAPI void e_color_update_hsv (E_Color *ec);
|
||||||
EAPI void e_color_copy (E_Color *from, E_Color *to);
|
EAPI void e_color_copy (const E_Color *from, E_Color *to);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -8,8 +8,14 @@ static void _e_color_dialog_button1_click(void *data, E_Dialog *edia);
|
||||||
static void _e_color_dialog_button2_click(void *data, E_Dialog *edia);
|
static void _e_color_dialog_button2_click(void *data, E_Dialog *edia);
|
||||||
static void _e_color_dialog_free(E_Color_Dialog *dia);
|
static void _e_color_dialog_free(E_Color_Dialog *dia);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a color selector dialog.
|
||||||
|
*
|
||||||
|
* @param con container to display on
|
||||||
|
* @param color color to initialize to (or NULL for black).
|
||||||
|
*/
|
||||||
E_Color_Dialog *
|
E_Color_Dialog *
|
||||||
e_color_dialog_new (E_Container *con)
|
e_color_dialog_new (E_Container *con, const E_Color *color)
|
||||||
{
|
{
|
||||||
E_Color_Dialog *dia;
|
E_Color_Dialog *dia;
|
||||||
Evas_Object *o;
|
Evas_Object *o;
|
||||||
|
@ -21,6 +27,10 @@ e_color_dialog_new (E_Container *con)
|
||||||
e_dialog_title_set(dia->dia, "Color Selector");
|
e_dialog_title_set(dia->dia, "Color Selector");
|
||||||
|
|
||||||
dia->color = calloc(1, sizeof(E_Color));
|
dia->color = calloc(1, sizeof(E_Color));
|
||||||
|
|
||||||
|
if (color)
|
||||||
|
e_color_copy(color, dia->color);
|
||||||
|
else
|
||||||
dia->color->a = 255;
|
dia->color->a = 255;
|
||||||
|
|
||||||
o = e_widget_csel_add(dia->dia->win->evas, dia->color);
|
o = e_widget_csel_add(dia->dia->win->evas, dia->color);
|
||||||
|
|
|
@ -26,7 +26,7 @@ struct _E_Color_Dialog
|
||||||
void *cancel_data;
|
void *cancel_data;
|
||||||
};
|
};
|
||||||
|
|
||||||
EAPI E_Color_Dialog *e_color_dialog_new (E_Container *con);
|
EAPI E_Color_Dialog *e_color_dialog_new (E_Container *con, const E_Color *initial_color);
|
||||||
EAPI void e_color_dialog_show (E_Color_Dialog *dia);
|
EAPI void e_color_dialog_show (E_Color_Dialog *dia);
|
||||||
EAPI void e_color_dialog_title_set (E_Color_Dialog *dia, const char *title);
|
EAPI void e_color_dialog_title_set (E_Color_Dialog *dia, const char *title);
|
||||||
EAPI void e_color_dialog_select_callback_add(E_Color_Dialog *dia, void (*func)(E_Color_Dialog *dia, E_Color *color, void *data), void *data);
|
EAPI void e_color_dialog_select_callback_add(E_Color_Dialog *dia, void (*func)(E_Color_Dialog *dia, E_Color *color, void *data), void *data);
|
||||||
|
|
|
@ -129,17 +129,17 @@ e_int_config_wallpaper_gradient(E_Config_Dialog *parent)
|
||||||
evas_object_show(o);
|
evas_object_show(o);
|
||||||
e_widget_table_object_append(ot, o, 2, 1, 1, 1, 1, 1, 1, 1);
|
e_widget_table_object_append(ot, o, 2, 1, 1, 1, 1, 1, 1, 1);
|
||||||
|
|
||||||
o = e_widget_color_well_add(evas, cfdata->color1, parent->con);
|
o = e_widget_color_well_add(evas, cfdata->color1, 1);
|
||||||
evas_object_show(o);
|
evas_object_show(o);
|
||||||
e_widget_table_object_append(ot, o, 2, 2, 1, 1, 1, 1, 1, 1);
|
e_widget_table_object_append(ot, o, 2, 2, 1, 1, 1, 1, 1, 1);
|
||||||
|
|
||||||
o = e_widget_color_well_add(evas, cfdata->color2, parent->con);
|
o = e_widget_color_well_add(evas, cfdata->color2, 1);
|
||||||
evas_object_show(o);
|
evas_object_show(o);
|
||||||
e_widget_table_object_append(ot, o, 2, 3, 1, 1, 1, 1, 1, 1);
|
e_widget_table_object_append(ot, o, 2, 3, 1, 1, 1, 1, 1, 1);
|
||||||
|
|
||||||
e_widget_list_object_append(ol, ot, 1, 1, 0.5);
|
e_widget_list_object_append(ol, ot, 1, 1, 0.5);
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, "Fill and Spread Options", 1);
|
of = e_widget_framelist_add(evas, "Fill Options", 1);
|
||||||
|
|
||||||
rg = e_widget_radio_group_new(&(cfdata->mode));
|
rg = e_widget_radio_group_new(&(cfdata->mode));
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@ e_int_config_wallpaper_gradient(E_Config_Dialog *parent)
|
||||||
e_dialog_button_add(dia, _("Cancel"), NULL, _import_cb_close, cfdata);
|
e_dialog_button_add(dia, _("Cancel"), NULL, _import_cb_close, cfdata);
|
||||||
|
|
||||||
_import_opt_disabled_set(import, 1);
|
_import_opt_disabled_set(import, 1);
|
||||||
e_dialog_resizable_set(dia, 1);
|
e_dialog_resizable_set(dia, 0);
|
||||||
e_dialog_show(dia);
|
e_dialog_show(dia);
|
||||||
return dia;
|
return dia;
|
||||||
}
|
}
|
||||||
|
|
|
@ -662,7 +662,7 @@ _e_test_internal(E_Container *con)
|
||||||
{
|
{
|
||||||
E_Color_Dialog *d;
|
E_Color_Dialog *d;
|
||||||
|
|
||||||
d = e_color_dialog_new(con);
|
d = e_color_dialog_new(con, NULL);
|
||||||
e_color_dialog_show(d);
|
e_color_dialog_show(d);
|
||||||
e_color_dialog_select_callback_add(d, _e_test_cb_ok, NULL);
|
e_color_dialog_select_callback_add(d, _e_test_cb_ok, NULL);
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,7 @@ struct _E_Widget_Data
|
||||||
E_Color_Dialog *dia;
|
E_Color_Dialog *dia;
|
||||||
E_Color *color;
|
E_Color *color;
|
||||||
E_Container *con; // container to pop a color dialog up on
|
E_Container *con; // container to pop a color dialog up on
|
||||||
|
int show_color_dialog;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void _e_wid_update(E_Widget_Data *wd);
|
static void _e_wid_update(E_Widget_Data *wd);
|
||||||
|
@ -38,10 +39,10 @@ _e_wid_signal_cb1(void *data, Evas_Object *obj, const char *emission, const char
|
||||||
wid = data;
|
wid = data;
|
||||||
wd = e_widget_data_get(wid);
|
wd = e_widget_data_get(wid);
|
||||||
|
|
||||||
if (!wd->con) return;
|
if (!wd->show_color_dialog || !wd->con) return;
|
||||||
if (!wd->dia)
|
if (!wd->dia)
|
||||||
{
|
{
|
||||||
wd->dia = e_color_dialog_new(wd->con);
|
wd->dia = e_color_dialog_new(wd->con, wd->color);
|
||||||
e_color_dialog_select_callback_add(wd->dia, _e_wid_color_select_cb, wd);
|
e_color_dialog_select_callback_add(wd->dia, _e_wid_color_select_cb, wd);
|
||||||
e_color_dialog_cancel_callback_add(wd->dia, _e_wid_color_cancel_cb, wd);
|
e_color_dialog_cancel_callback_add(wd->dia, _e_wid_color_cancel_cb, wd);
|
||||||
}
|
}
|
||||||
|
@ -83,11 +84,12 @@ _e_wid_del_hook(Evas_Object *obj)
|
||||||
* An optional E_Container may be passed in. If not NULL, when clicked a color dialog will pop up.
|
* An optional E_Container may be passed in. If not NULL, when clicked a color dialog will pop up.
|
||||||
*/
|
*/
|
||||||
Evas_Object *
|
Evas_Object *
|
||||||
e_widget_color_well_add(Evas *evas, E_Color *color, E_Container *con)
|
e_widget_color_well_add(Evas *evas, E_Color *color, int show_color_dialog)
|
||||||
{
|
{
|
||||||
Evas_Object *obj, *o;
|
Evas_Object *obj, *o;
|
||||||
Evas_Coord mw, mh;
|
Evas_Coord mw, mh;
|
||||||
E_Widget_Data *wd;
|
E_Widget_Data *wd;
|
||||||
|
E_Win *win;
|
||||||
|
|
||||||
obj = e_widget_add(evas);
|
obj = e_widget_add(evas);
|
||||||
e_widget_del_hook_set(obj, _e_wid_del_hook);
|
e_widget_del_hook_set(obj, _e_wid_del_hook);
|
||||||
|
@ -97,7 +99,10 @@ e_widget_color_well_add(Evas *evas, E_Color *color, E_Container *con)
|
||||||
wd->obj = obj;
|
wd->obj = obj;
|
||||||
|
|
||||||
wd->color = color;
|
wd->color = color;
|
||||||
wd->con = con;
|
win = e_win_evas_object_win_get(obj);
|
||||||
|
wd->con = win->container;
|
||||||
|
|
||||||
|
wd->show_color_dialog = show_color_dialog;
|
||||||
|
|
||||||
o = edje_object_add(evas);
|
o = edje_object_add(evas);
|
||||||
e_widget_sub_object_add(obj, o);
|
e_widget_sub_object_add(obj, o);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#ifndef E_WIDGET_COLOR_WELL_H
|
#ifndef E_WIDGET_COLOR_WELL_H
|
||||||
#define E_WIDGET_COLOR_WELL_H
|
#define E_WIDGET_COLOR_WELL_H
|
||||||
|
|
||||||
EAPI Evas_Object *e_widget_color_well_add (Evas *evas, E_Color *color, E_Container *con);
|
EAPI Evas_Object *e_widget_color_well_add (Evas *evas, E_Color *color, int show_color_dialog);
|
||||||
EAPI void e_widget_color_well_update (Evas_Object *obj);
|
EAPI void e_widget_color_well_update (Evas_Object *obj);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -256,7 +256,7 @@ e_widget_csel_add(Evas *evas, E_Color *color)
|
||||||
|
|
||||||
e_widget_table_object_append(table, frame, 3, 1, 1, 1, 1, 1, 1, 1);
|
e_widget_table_object_append(table, frame, 3, 1, 1, 1, 1, 1, 1, 1);
|
||||||
|
|
||||||
o = e_widget_color_well_add(evas, wd->cv, NULL);
|
o = e_widget_color_well_add(evas, wd->cv, 0);
|
||||||
e_widget_sub_object_add(obj, o);
|
e_widget_sub_object_add(obj, o);
|
||||||
evas_object_show(o);
|
evas_object_show(o);
|
||||||
wd->well = o;
|
wd->well = o;
|
||||||
|
|
Loading…
Reference in New Issue