entry disabled changes in.

SVN revision: 33529
This commit is contained in:
Carsten Haitzler 2008-01-19 01:00:37 +00:00
parent 81e24be334
commit 5e8fe37119
4 changed files with 50 additions and 2 deletions

View File

@ -96,8 +96,30 @@ group {
text_class: "entry";
}
}
description {
state: "disabled" 0.0;
inherit: "default" 0.0;
color: 128 128 128 255;
}
}
}
programs {
program {
name: "disable";
signal: "e,state,disabled";
source: "e";
action: STATE_SET "disabled" 0.0;
target: "e.text.text";
}
program {
name: "enable";
signal: "e,state,enabled";
source: "e";
action: STATE_SET "default" 0.0;
target: "e.text.text";
}
}
}
group {

View File

@ -846,6 +846,27 @@ e_editable_char_size_get(Evas_Object *editable, int *w, int *h)
if (h) *h = sd->average_char_h;
}
EAPI void
e_editable_enable (Evas_Object *editable)
{
E_Editable_Smart_Data *sd;
if ((!editable) || (!(sd = evas_object_smart_data_get(editable))))
return;
edje_object_signal_emit(sd->text_object, "e,state,enabled", "e");
}
EAPI void
e_editable_disable (Evas_Object *editable)
{
E_Editable_Smart_Data *sd;
if ((!editable) || (!(sd = evas_object_smart_data_get(editable))))
return;
edje_object_signal_emit(sd->text_object, "e,state,disabled", "e");
}
/* Private functions */
/* A utility function to insert some text inside the editable object.

View File

@ -42,5 +42,8 @@ EAPI void e_editable_selection_hide (Evas_Object *editable);
EAPI int e_editable_pos_get_from_coords (Evas_Object *editable, Evas_Coord x, Evas_Coord y);
EAPI void e_editable_char_size_get (Evas_Object *editable, int *w, int *h);
EAPI void e_editable_enable (Evas_Object *entry);
EAPI void e_editable_disable (Evas_Object *entry);
#endif
#endif

View File

@ -291,7 +291,8 @@ e_entry_enable(Evas_Object *entry)
if (sd->enabled)
return;
edje_object_signal_emit(entry, "e,state,enabled", "e");
edje_object_signal_emit(sd->entry_object, "e,state,enabled", "e");
e_editable_enable(sd->editable_object);
if (sd->focused)
e_editable_cursor_show(sd->editable_object);
sd->enabled = 1;
@ -313,7 +314,8 @@ e_entry_disable(Evas_Object *entry)
if (!sd->enabled)
return;
edje_object_signal_emit(entry, "e,state,disabled", "e");
edje_object_signal_emit(sd->entry_object, "e,state,disabled", "e");
e_editable_disable(sd->editable_object);
e_editable_cursor_hide(sd->editable_object);
sd->enabled = 0;
}