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; } }
EINA_DEPRECATED EAPI void elm_scrolled_entry_text_filter_append(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data) {elm_entry_markup_filter_append(obj, func, data);}
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); }