Evas_Object *common_utils_add_edit_box(Evas_Object *parent, const common_utils_entry_info_t *entry_info)
{
	Evas_Object *layout = elm_layout_add(parent);
	Evas_Object *entry = NULL;
	elm_layout_theme_set(layout, "layout", "editfield", "title");
	evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
	evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
	elm_object_part_text_set(layout, "elm.text", entry_info->title);
	elm_object_part_text_set(layout, "elm.guidetext", entry_info->guide_txt); // Set guidetext.

	entry = elm_entry_add(layout);
	elm_object_part_content_set(layout, "elm.swallow.content", entry);
	elm_entry_single_line_set(entry, EINA_TRUE);
	elm_entry_scrollable_set(entry, EINA_TRUE);
	elm_entry_entry_set(entry, entry_info->entry_txt);
	elm_entry_input_panel_layout_set(entry, entry_info->panel_type);
	if (!elm_entry_is_empty(entry)) {
		INFO_LOG(UG_NAME_NORMAL, "entry is not empty");
		elm_object_signal_emit(layout, "elm,state,guidetext,hide", "elm");
		if (!entry_info->guide_txt || strlen(entry_info->guide_txt) <= 0)
			evas_object_data_set(layout, COMMON_UTILS_DEFAULT_ENTRY_TEXT_KEY, g_strdup(entry_info->entry_txt));
	}

	evas_object_smart_callback_add(entry, "changed", __common_utils_entry_changed_cb, layout);
	evas_object_smart_callback_add(entry, "focused", __common_utils_entry_focused_cb, layout);
	evas_object_smart_callback_add(entry, "unfocused", __common_utils_entry_unfocused_cb, layout);
	elm_object_signal_callback_add(layout, "elm,eraser,clicked", "elm", __common_utils_eraser_clicked_cb, entry);
	evas_object_show(entry);

	return layout;
}
void EditBoxImplTizen::openKeyboard()
{
    if (s_keypadWin)
    {
        return;
    }

    if (_delegate != NULL)
    {
        _delegate->editBoxEditingDidBegin(_editBox);
    }

#if CC_ENABLE_SCRIPT_BINDING
    EditBox* pEditBox = this->getEditBox();
    if (NULL != pEditBox && 0 != pEditBox->getScriptEditBoxHandler())
    {
        CommonScriptData data(pEditBox->getScriptEditBoxHandler(), "began",pEditBox);
        ScriptEvent event(cocos2d::kCommonEvent,(void*)&data);
        ScriptEngineManager::getInstance()->getScriptEngine()->sendEvent(&event);
    }
#endif

    Evas_Object* parent = Application::getInstance()->_win;
    GLView* glView = Director::getInstance()->getOpenGLView();
    Size frameSize = glView->getFrameSize();

    s_keypadWin = elm_win_add(parent, "cocos2d-x", ELM_WIN_BASIC);
    elm_win_autodel_set(s_keypadWin, EINA_TRUE);
    elm_win_conformant_set(s_keypadWin, EINA_TRUE);
    elm_win_alpha_set(s_keypadWin, EINA_TRUE);
    evas_object_show(s_keypadWin);
    eext_object_event_callback_add(s_keypadWin, EEXT_CALLBACK_BACK, entry_back_cb, this);
    int rots[2];
    rots[0] = (int)(elm_win_rotation_get(parent));
    rots[1] = rots[0] + 180 % 360;
    elm_win_wm_rotation_available_rotations_set(s_keypadWin, rots, 2);

    Evas_Object* bgFull = elm_bg_add(s_keypadWin);
    evas_object_color_set(bgFull, 0, 0, 0, 0xa0);
    evas_object_resize(bgFull, frameSize.width, frameSize.height);
    evas_object_show(bgFull);

    int height = frameSize.height / 10;
    Evas_Object* rectangle = elm_bg_add(bgFull);
    evas_object_resize(rectangle, frameSize.width, height);
    evas_object_move(rectangle, 0, height);
    evas_object_color_set(rectangle, 0xff, 0xff, 0xff, 0xff);
    evas_object_show(rectangle);

    Evas_Object* title = elm_entry_add(rectangle);
    evas_object_resize(title, frameSize.width, height);
    auto text = _placeHolder.c_str();
    auto richText = (char*)malloc(strlen(text) + 50);
    sprintf(richText,"<color=#ffffff>%s</>", text);
    elm_entry_entry_set(title, richText);
    elm_entry_editable_set(title, EINA_FALSE);
    //elm_entry_drag_disabled_set(title, EINA_TRUE);
    //elm_entry_drop_disabled_set(title, EINA_TRUE);
    evas_object_show(title);
    free(richText);

    Evas_Object* entry = elm_entry_add(bgFull);
    elm_object_focus_set(entry, EINA_TRUE);
    evas_object_resize(entry, frameSize.width, height);
    evas_object_move(entry, 0, height);
    elm_entry_single_line_set(entry, EINA_TRUE);
    elm_entry_line_wrap_set(entry, ELM_WRAP_MIXED);
    elm_entry_entry_set(entry, _text.c_str());
    evas_object_show(entry);
    elm_object_focus_set(entry, EINA_TRUE);
    eext_entry_selection_back_event_allow_set(entry, EINA_TRUE);
    Elm_Entry_Filter_Limit_Size limit_size = { 0, };
    limit_size.max_char_count = _maxLength;
    elm_entry_markup_filter_append(entry, elm_entry_filter_limit_size, &limit_size);
    elm_entry_input_panel_return_key_type_set(entry, ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE);
    elm_entry_prediction_allow_set(entry, EINA_FALSE);

    evas_object_smart_callback_add(entry, "activated", entry_activated_cb, this);

    switch(_editBoxInputFlag)
    {
    case EditBox::InputFlag::PASSWORD:
        elm_entry_password_set(entry, EINA_TRUE);
        elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_EMAIL);
        break;
    case EditBox::InputFlag::SENSITIVE:
        elm_entry_input_hint_set(entry, ELM_INPUT_HINT_SENSITIVE_DATA);
        break;
    case EditBox::InputFlag::INITIAL_CAPS_WORD:
        elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_WORD);
        break;
    case EditBox::InputFlag::INITIAL_CAPS_SENTENCE:
        elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_SENTENCE);
        break;
    case EditBox::InputFlag::INITIAL_CAPS_ALL_CHARACTERS:
        elm_entry_autocapital_type_set(entry, ELM_AUTOCAPITAL_TYPE_ALLCHARACTER);
        break;
    }

    switch(_editBoxInputMode)
    {
    case EditBox::InputMode::ANY:
        break;
    case EditBox::InputMode::EMAIL_ADDRESS:
        elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_EMAIL);
        break;
    case EditBox::InputMode::NUMERIC:
        elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_NUMBER);
        break;
    case EditBox::InputMode::PHONE_NUMBER:
        elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_PHONENUMBER);
        break;
    case EditBox::InputMode::URL:
        elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_URL);
        break;
    case EditBox::InputMode::DECIMAL:
        elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_HEX); //fixme?
        break;
    case EditBox::InputMode::SINGLE_LINE:
        break;
    }
}
Beispiel #3
0
void create_second_page(void *data, Evas_Object *connect_button, void *ev) {


   struct appdata *ad = data;
   Elm_Object_Item *nf_it = NULL;

   Evas_Object *layout = elm_layout_add(ad->naviframe);

   // Outer Box
   Evas_Object* box = elm_box_add(layout);
   evas_object_size_hint_weight_set(box, EVAS_HINT_FILL, EVAS_HINT_EXPAND);
   evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
   elm_box_align_set(box, 0.5, 0.5);

   // Port Box
   Evas_Object* box2 = elm_box_add(layout);
   elm_box_horizontal_set(box2, EINA_TRUE);

   // Port Label
   Evas_Object* portLabel = elm_label_add(box);
   elm_object_text_set(portLabel, "<align = center>Port </align>");
   elm_box_pack_end(box2, portLabel);
   evas_object_show(portLabel);

   // Port Entry
   portEntry = elm_entry_add(box2);
   elm_entry_entry_set(portEntry, "7777");
   elm_entry_single_line_set(portEntry, EINA_FALSE);
   elm_entry_line_wrap_set(portEntry, ELM_WRAP_NONE);
   static Elm_Entry_Filter_Limit_Size portLimit_size = { .max_char_count = 5,
.max_byte_count = 0 };
   elm_entry_markup_filter_append(portEntry, elm_entry_filter_limit_size,
         &portLimit_size);
   elm_box_pack_end(box2, portEntry);
   evas_object_show(portEntry);

   evas_object_show(box2);
   evas_object_size_hint_weight_set(box2, EVAS_HINT_EXPAND, 0.3);
   evas_object_size_hint_align_set(box2, EVAS_HINT_FILL, EVAS_HINT_FILL);
   elm_box_pack_end(box, box2);

   // IP Box
   Evas_Object* box1 = elm_box_add(layout);
   elm_box_horizontal_set(box1, EINA_TRUE);

   // IP Label
   Evas_Object* ipLabel = elm_label_add(box1);
   elm_object_text_set(ipLabel, "<align = center>IP </align>");
   elm_box_pack_end(box1, ipLabel);
   evas_object_show(ipLabel);

   static Elm_Entry_Filter_Limit_Size ipLimit_size = { .max_char_count = 3, // 3글자 까지
         .max_byte_count = 0 };

   // IP Entry
   ipEntry1 = elm_entry_add(box1);
   //elm_entry_entry_set(ipEntry1, "127");
   elm_entry_single_line_set(ipEntry1, EINA_FALSE);
   elm_entry_line_wrap_set(ipEntry1, ELM_WRAP_NONE);
   elm_entry_markup_filter_append(ipEntry1, elm_entry_filter_limit_size,
         &ipLimit_size);
   elm_box_pack_end(box1, ipEntry1);
   evas_object_show(ipEntry1);

   // IP Label
   Evas_Object* ipPeriod1 = elm_label_add(box1);
   elm_object_text_set(ipPeriod1, "<align = center>.</align>");
   elm_box_pack_end(box1, ipPeriod1);
   evas_object_show(ipPeriod1);

   // IP Entry
   ipEntry2 = elm_entry_add(box1);
   //elm_entry_entry_set(ipEntry2, "  0");
   elm_entry_single_line_set(ipEntry2, EINA_FALSE);
   elm_entry_line_wrap_set(ipEntry2, ELM_WRAP_NONE);
   elm_entry_markup_filter_append(ipEntry2, elm_entry_filter_limit_size,
         &ipLimit_size);
   elm_box_pack_end(box1, ipEntry2);
   evas_object_show(ipEntry2);

   // IP Label
   Evas_Object* ipPeriod2 = elm_label_add(box1);
   elm_object_text_set(ipPeriod2, "<align = center>.</align>");
   elm_box_pack_end(box1, ipPeriod2);
   evas_object_show(ipPeriod2);

   // IP Entry
   ipEntry3 = elm_entry_add(box1);
   //elm_entry_entry_set(ipEntry3, "  0");
   elm_entry_single_line_set(ipEntry3, EINA_FALSE);
   elm_entry_line_wrap_set(ipEntry3, ELM_WRAP_NONE);
   elm_entry_markup_filter_append(ipEntry3, elm_entry_filter_limit_size,
         &ipLimit_size);
   elm_box_pack_end(box1, ipEntry3);
   evas_object_show(ipEntry3);

   // IP Label
   Evas_Object* ipPeriod3 = elm_label_add(box1);
   elm_object_text_set(ipPeriod3, "<align = center>.</align>");
   elm_box_pack_end(box1, ipPeriod3);
   evas_object_show(ipPeriod3);

   // IP Entry
   ipEntry4 = elm_entry_add(box1);
   //elm_entry_entry_set(ipEntry4, "  1");
   elm_entry_single_line_set(ipEntry4, EINA_FALSE);
   elm_entry_line_wrap_set(ipEntry4, ELM_WRAP_NONE);
   elm_entry_markup_filter_append(ipEntry4, elm_entry_filter_limit_size,
         &ipLimit_size);
   elm_box_pack_end(box1, ipEntry4);
   evas_object_show(ipEntry4);

   evas_object_show(box1);
   evas_object_size_hint_weight_set(box1, EVAS_HINT_EXPAND, 0.3);
   evas_object_size_hint_align_set(box1, EVAS_HINT_FILL, EVAS_HINT_FILL);
   elm_box_pack_end(box, box1);

   // Connect Button
   Evas_Object* connection_button = elm_button_add(box);
   elm_object_style_set(connection_button, "bottom");
   elm_object_text_set(connection_button, "Connection");
   elm_object_part_content_set(layout, "elm.swallow.button", connection_button);
   //evas_object_size_hint_weight_set(connection_button, EVAS_HINT_EXPAND, 1.0);
   evas_object_size_hint_align_set(connection_button, EVAS_HINT_FILL, EVAS_HINT_FILL);
   evas_object_smart_callback_add(connection_button, "clicked", _connect_button_click_cb, NULL);
   elm_box_pack_end(box, connection_button);

   evas_object_show(connection_button);

   evas_object_show(box);

   elm_entry_input_panel_layout_set(ipEntry1,ELM_INPUT_PANEL_LAYOUT_NUMBERONLY);
   elm_entry_input_panel_layout_set(ipEntry2,ELM_INPUT_PANEL_LAYOUT_NUMBERONLY);
   elm_entry_input_panel_layout_set(ipEntry3,ELM_INPUT_PANEL_LAYOUT_NUMBERONLY);
   elm_entry_input_panel_layout_set(ipEntry4,ELM_INPUT_PANEL_LAYOUT_NUMBERONLY);
   elm_entry_input_panel_layout_set(portEntry,ELM_INPUT_PANEL_LAYOUT_NUMBERONLY);

   nf_it = elm_naviframe_item_push(ad->naviframe,"<color=#F5D6FFFF>Connection</color>", NULL, NULL, box, NULL);

//   evas_object_show(ad->win);
}
Eina_Bool Add_To_Most_Visited_Sites_View::_create_main_layout(void)
{
	BROWSER_LOGD("[%s]", __func__);
	elm_win_conformant_set(m_win, EINA_TRUE);

	m_conformant = elm_conformant_add(m_navi_bar);
	if (!m_conformant) {
		BROWSER_LOGE("elm_conformant_add failed");
		return EINA_FALSE;
	}
	elm_object_style_set(m_conformant, "internal_layout");
	evas_object_size_hint_weight_set(m_conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
	evas_object_size_hint_align_set(m_conformant, EVAS_HINT_FILL, EVAS_HINT_FILL);
	evas_object_show(m_conformant);

	m_content_box = elm_box_add(m_conformant);
	if (!m_content_box) {
		BROWSER_LOGE("elm_box_add failed");
		return EINA_FALSE;
	}
	evas_object_size_hint_align_set(m_content_box, EVAS_HINT_FILL, EVAS_HINT_FILL);
	evas_object_size_hint_weight_set(m_content_box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
	evas_object_show(m_content_box);

	elm_object_content_set(m_conformant, m_content_box);

	m_url_edit_field = br_elm_editfield_add(m_conformant, EINA_TRUE);
	if (!m_url_edit_field) {
		BROWSER_LOGE("elm_editfield_add failed");
		return EINA_FALSE;
	}
	evas_object_size_hint_align_set(m_url_edit_field, EVAS_HINT_FILL, EVAS_HINT_FILL);
	br_elm_editfield_entry_single_line_set(m_url_edit_field, EINA_TRUE);
	br_elm_editfield_label_set(m_url_edit_field, BR_STRING_URL);
	evas_object_show(m_url_edit_field);

	Evas_Object *entry = br_elm_editfield_entry_get(m_url_edit_field);
	elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_URL);

	if (m_most_visited_sites->m_selected_item->url && strlen(m_most_visited_sites->m_selected_item->url))
		/* If modify selected speed dial item. */
		elm_entry_entry_set(entry, m_most_visited_sites->m_selected_item->url);
	else
		/* If add empty speed dial item. */
		elm_entry_entry_set(entry, BROWSER_HTTP_SCHEME);

	/* To show ime.
	  * __set_focus_editfield_idler_cb is defined in browser_common_view class. */
	ecore_idler_add(__set_focus_editfield_idler_cb, m_url_edit_field);

	elm_box_pack_end(m_content_box, m_url_edit_field);

	m_history_genlist = _create_history_genlist();
	if (!m_history_genlist) {
		BROWSER_LOGE("_create_history_genlist failed");
		return EINA_FALSE;
	}
	elm_box_pack_end(m_content_box, m_history_genlist);
	evas_object_show(m_history_genlist);

	Elm_Object_Item *navi_it = elm_naviframe_item_push(m_navi_bar, BR_STRING_ADD_TO_MOST_VISITED_SITES,
						NULL, NULL, m_conformant, "browser_titlebar");
	elm_object_item_part_content_set(navi_it, ELM_NAVIFRAME_ITEM_PREV_BTN, NULL);

	m_cancel_button = elm_button_add(m_conformant);
	if (!m_cancel_button) {
		BROWSER_LOGE("elm_button_add failed");
		return EINA_FALSE;
	}
	elm_object_style_set(m_cancel_button, "browser/title_button");
	elm_object_text_set(m_cancel_button, BR_STRING_CANCEL);
	evas_object_show(m_cancel_button);
	evas_object_smart_callback_add(m_cancel_button, "clicked", __cancel_button_clicked_cb, this);
	elm_object_item_part_content_set(navi_it, ELM_NAVIFRAME_ITEM_TITLE_LEFT_BTN, m_cancel_button);

	m_save_button = elm_button_add(m_conformant);
	if (!m_save_button) {
		BROWSER_LOGE("elm_button_add failed");
		return EINA_FALSE;
	}
	elm_object_style_set(m_save_button, "browser/title_button");
	elm_object_text_set(m_save_button, BR_STRING_SAVE);
	evas_object_show(m_save_button);
	evas_object_smart_callback_add(m_save_button, "clicked", __save_button_clicked_cb, this);
	elm_object_item_part_content_set(navi_it, ELM_NAVIFRAME_ITEM_TITLE_RIGHT_BTN, m_save_button);

	return EINA_TRUE;
}