extern InputKeyboardData g_input_keyboard_data;
extern App_Data* app_data;
-static Evas_Object *entry;
+static Evas_Object *entry = NULL;
struct _input_panel_layout_item {
const char *layout_string;
exit_keyboard();
}
-void create_fullscreen_editor(void *data)
+static Evas_Object *create_entry(Evas_Object *parent)
{
- App_Data *ad = (App_Data *)data;
-
- Evas_Object *box = elm_box_add(ad->naviframe);
- evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_show(box);
- elm_win_resize_object_add(ad->naviframe, box);
+ static Elm_Entry_Filter_Limit_Size limit_filter_data;
- entry = elm_entry_add(box);
+ entry = elm_entry_add(parent);
- static Elm_Entry_Filter_Limit_Size limit_filter_data;
limit_filter_data.max_char_count = g_input_keyboard_data.max_text_length;
elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, &limit_filter_data);
- evas_object_smart_callback_add(entry, "maxlength,reached", maxlength_cb, data);
+ evas_object_smart_callback_add(entry, "maxlength,reached", maxlength_cb, NULL);
- elm_entry_single_line_set(entry, EINA_TRUE);
elm_entry_scrollable_set(entry, EINA_TRUE);
elm_scroller_policy_set(entry, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
elm_object_part_text_set(entry, "elm.guide", g_input_keyboard_data.guide_text.c_str());
elm_entry_entry_set(entry, g_input_keyboard_data.default_text.c_str());
elm_entry_cursor_end_set(entry);
- evas_object_size_hint_weight_set(entry, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_entry_input_panel_return_key_type_set(entry, g_input_keyboard_data.return_key_type);
+
if (g_input_keyboard_data.return_key_type == ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE) {
- evas_object_smart_callback_add(entry, "activated", enter_keydown_cb, ad);
+ evas_object_smart_callback_add(entry, "activated", enter_keydown_cb, NULL);
}
if (g_input_keyboard_data.cursor_position_set != 0) {
elm_entry_cursor_pos_set(entry, g_input_keyboard_data.cursor_position_set);
elm_entry_input_panel_layout_set(entry, g_input_keyboard_data.input_panel_layout);
evas_object_show(entry);
+
+ return entry;
+}
+
+void create_fullscreen_editor(void *data)
+{
+ App_Data *ad = (App_Data *)data;
+
+ Evas_Object *box = elm_box_add(ad->naviframe);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(box);
+ elm_win_resize_object_add(ad->naviframe, box);
+
+ entry = create_entry(box);
+ elm_entry_single_line_set(entry, EINA_TRUE);
elm_box_pack_end(box, entry);
Evas_Object *btn = elm_button_add(box);
elm_object_signal_emit(editfield, "elm,action,hide,button", "");
}
-static Evas_Object *create_multiline_editfield_layout(Evas_Object *parent, void *data)
+static Evas_Object *create_multiline_editfield_layout(Evas_Object *parent)
{
- App_Data *ad = (App_Data *)data;
+ //App_Data *ad = (App_Data *)data;
Evas_Object *editfield;
editfield = elm_layout_add(parent);
evas_object_size_hint_align_set(editfield, EVAS_HINT_FILL, 0.0);
evas_object_size_hint_weight_set(editfield, EVAS_HINT_EXPAND, 0.0);
- entry = elm_entry_add(editfield);
- static Elm_Entry_Filter_Limit_Size limit_filter_data;
- limit_filter_data.max_char_count = g_input_keyboard_data.max_text_length;
- elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, &limit_filter_data);
- evas_object_smart_callback_add(entry, "maxlength,reached", maxlength_cb, data);
-
- elm_entry_scrollable_set(entry, EINA_TRUE);
- elm_scroller_policy_set(entry, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
- elm_object_part_text_set(entry, "elm.guide", g_input_keyboard_data.guide_text.c_str());
- elm_entry_entry_set(entry, g_input_keyboard_data.default_text.c_str());
- elm_entry_cursor_end_set(entry);
+ entry = create_entry(editfield);
evas_object_smart_callback_add(entry, "focused", editfield_focused_cb, editfield);
evas_object_smart_callback_add(entry, "unfocused", editfield_unfocused_cb, editfield);
- elm_entry_input_panel_return_key_type_set(entry, g_input_keyboard_data.return_key_type);
- if (g_input_keyboard_data.return_key_type == ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE) {
- evas_object_smart_callback_add(entry, "activated", enter_keydown_cb, ad);
- }
- if (g_input_keyboard_data.cursor_position_set != 0) {
- elm_entry_cursor_pos_set(entry, g_input_keyboard_data.cursor_position_set);
- }
-
- elm_entry_input_panel_layout_set(entry, g_input_keyboard_data.input_panel_layout);
-
- evas_object_show(entry);
elm_object_part_content_set(editfield, "elm.swallow.content", entry);
return editfield;
evas_object_size_hint_weight_set(main_box, EVAS_HINT_EXPAND, 0.0);
evas_object_show(main_box);
- editfield = create_multiline_editfield_layout(main_box, data);
+ editfield = create_multiline_editfield_layout(main_box);
elm_box_pack_end(main_box, editfield);
evas_object_show(editfield);