--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#include "input_method_setting_genlist.h"
+#include <Elementary.h>
+#include <efl_extension.h>
+
+#ifdef _CIRCLE
+static Eext_Circle_Surface *surface = NULL;
+#endif
+
+#if !(defined(_WEARABLE) || defined(_MOBILE))
+static void gl_realized_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ Elm_Object_Item *it = (Elm_Object_Item *)event_info;
+ Elm_Object_Item *first_item = elm_genlist_first_item_get(obj);
+ Elm_Object_Item *last_item = elm_genlist_last_item_get(obj);
+
+ if (it == first_item && it == last_item)
+ elm_object_item_signal_emit(it, "elm,state,group,single", "elm");
+ else if (it == first_item)
+ elm_object_item_signal_emit(it, "elm,state,group,top", "elm");
+ else if (it == last_item)
+ elm_object_item_signal_emit(it, "elm,state,group,bottom", "elm");
+ else
+ elm_object_item_signal_emit(it, "elm,state,group,middle", "elm");
+}
+#endif
+
+Evas_Object *im_setting_genlist_create(Evas_Object* parent, Evas_Object* conform, Evas_Object **cgenlist)
+{
+ Evas_Object *genlist = elm_genlist_add(parent);
+ elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+
+#ifdef _CIRCLE
+ if (!surface) {
+ /* Circle Surface Creation */
+ surface = eext_circle_surface_conformant_add(conform);
+ }
+
+ Evas_Object *circle_genlist = eext_circle_object_genlist_add(genlist, surface);
+ eext_rotary_object_event_activated_set(circle_genlist, EINA_TRUE);
+
+ if (cgenlist)
+ *cgenlist = circle_genlist;
+#endif
+ evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+#if !(defined(_WEARABLE) || defined(_MOBILE))
+ evas_object_smart_callback_add(genlist, "realized", gl_realized_cb, NULL);
+#endif
+ evas_object_show(genlist);
+ return genlist;
+}
--- /dev/null
+/*
+ * Copyright (c) 2020 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+#include <Elementary.h>
+
+#ifndef __INPUTMETHOD_SETTING_GENLIST_H
+#define __INPUTMETHOD_SETTING_GENLIST_H
+
+Evas_Object *im_setting_genlist_create(Evas_Object* parent, Evas_Object* conform, Evas_Object **cgenlist = NULL);
+
+#endif
\ No newline at end of file
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
SET(SRC_LIST
+ ../common/input_method_setting_genlist.cpp
input_method_setting_list_ui.cpp
input_method_setting_list.cpp
input_method_setting_list_popup_view.cpp
#include "input_method_setting_list.h"
#include "input_method_setting_list_ui.h"
#include "input_method_setting_list_popup_view.h"
+#include "../common/input_method_setting_genlist.h"
+
#include <string>
#include <efl_extension.h>
#include <vector>
elm_genlist_realized_items_update(obj);
}
-#if !(defined(_WEARABLE) || defined(_MOBILE))
-static void gl_realized_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *)event_info;
- Elm_Object_Item *first_item = elm_genlist_first_item_get(obj);
- Elm_Object_Item *last_item = elm_genlist_last_item_get(obj);
-
- if (it == first_item && it == last_item) {
- elm_object_item_signal_emit(it, "elm,state,group,single", "elm");
- }
- else if (it == first_item) {
- elm_object_item_signal_emit(it, "elm,state,group,top", "elm");
- }
- else if (it == last_item) {
- elm_object_item_signal_emit(it, "elm,state,group,bottom", "elm");
- }
- else {
- elm_object_item_signal_emit(it, "elm,state,group,middle", "elm");
- }
-}
-#endif
-
-static Evas_Object *im_setting_list_genlist_create(appdata *ad, Evas_Object* parent, Evas_Object* conform)
-{
- if (!parent)
- return NULL;
- Evas_Object *genlist = elm_genlist_add(parent);
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
-#ifdef _CIRCLE
- /* Circle Surface Creation */
- if (ad->circle_surface == NULL)
- ad->circle_surface = eext_circle_surface_conformant_add(conform);
- Evas_Object *circle_genlist = eext_circle_object_genlist_add(genlist, ad->circle_surface);
- eext_rotary_object_event_activated_set(circle_genlist, EINA_TRUE);
-#endif
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_scroller_content_min_limit(genlist, EINA_FALSE, EINA_TRUE);
- evas_object_smart_callback_add(genlist, "language,changed", gl_lang_changed, NULL);
-#if !(defined(_WEARABLE) || defined(_MOBILE))
- evas_object_smart_callback_add(genlist, "realized", gl_realized_cb, NULL);
-#endif
- evas_object_show(genlist);
- return genlist;
-}
-
static char *im_setting_list_genlist_item_label_get(void *data, Evas_Object *obj, const char *part)
{
sel_cb_data *cb_data = (sel_cb_data *)data;
return NULL;
im_setting_list_genlist_item_class_create();
Evas_Object *genlist = NULL;
- genlist = im_setting_list_genlist_create(ad, ad->popup, ad->conform);
+ genlist = im_setting_genlist_create(ad->popup, ad->conform);
+ elm_scroller_content_min_limit(ad->genlist, EINA_FALSE, EINA_TRUE);
+ evas_object_smart_callback_add(genlist, "language,changed", gl_lang_changed, NULL);
unsigned int i = 0;
/* keyboard list */
ttc->func.text_get = im_setting_list_default_keyboard_title_text_get;
im_setting_list_genlist_item_class_create();
- genlist = im_setting_list_genlist_create(ad, ad->win, ad->conform);
+ genlist = im_setting_genlist_create(ad->win, ad->conform);
+ elm_scroller_content_min_limit(genlist, EINA_FALSE, EINA_TRUE);
+ evas_object_smart_callback_add(genlist, "language,changed", gl_lang_changed, NULL);
elm_genlist_mode_set(genlist, ELM_LIST_SCROLL);
elm_genlist_item_append(genlist, ttc, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
#include "input_method_setting_list.h"
#include "input_method_setting_list_ui.h"
#include "input_method_setting_list_popup_view.h"
+#include "../common/input_method_setting_genlist.h"
+
#include <string>
#include <app.h>
#include <vector>
#include <inputmethod_manager.h>
#include <package_manager.h>
#include <vconf.h>
-
-#include "isf_control.h"
+#include <isf_control.h>
#define IM_SETTING_LIST_PACKAGE PACKAGE
#define IM_SETTING_LIST_LOCALE_DIR tzplatform_mkpath(TZ_SYS_RO_APP, PACKAGE_NAME"/res/locale")
elm_genlist_realized_items_update(obj);
}
-#if !(defined(_WEARABLE) || defined(_MOBILE))
-static void gl_realized_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *)event_info;
- Elm_Object_Item *first_item = elm_genlist_first_item_get(obj);
- Elm_Object_Item *last_item = elm_genlist_last_item_get(obj);
-
- if (it == first_item && it == last_item)
- elm_object_item_signal_emit(it, "elm,state,group,single", "elm");
- else if (it == first_item)
- elm_object_item_signal_emit(it, "elm,state,group,top", "elm");
- else if (it == last_item)
- elm_object_item_signal_emit(it, "elm,state,group,bottom", "elm");
- else
- elm_object_item_signal_emit(it, "elm,state,group,middle", "elm");
-}
-#endif
-
-static Evas_Object *im_setting_list_genlist_create(appdata *ad)
-{
- Evas_Object *genlist = elm_genlist_add(ad->naviframe);
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
-#ifdef _CIRCLE
- /* Circle Surface Creation */
- if (ad->circle_surface == NULL)
- ad->circle_surface = eext_circle_surface_conformant_add(ad->conform);
- ad->main_circle_genlist = eext_circle_object_genlist_add(genlist, ad->circle_surface);
- eext_rotary_object_event_activated_set(ad->main_circle_genlist, EINA_TRUE);
-#endif
- evas_object_smart_callback_add(genlist, "language,changed", gl_lang_changed, NULL);
-#if !(defined(_WEARABLE) || defined(_MOBILE))
- evas_object_smart_callback_add(genlist, "realized", gl_realized_cb, NULL);
-#endif
- evas_object_show(genlist);
- return genlist;
-}
-
static char *im_setting_list_genlist_group_label_get(void *data, Evas_Object *obj, const char *part)
{
char *text = (char *)data;
return NULL;
ad->conform = im_setting_list_conform_create(ad->win);
ad->naviframe = im_setting_list_naviframe_create(ad->conform);
- ad->genlist = im_setting_list_genlist_create(ad);
+ ad->genlist = im_setting_genlist_create(ad->naviframe, ad->conform, &ad->main_circle_genlist);
+ evas_object_smart_callback_add(ad->genlist, "language,changed", gl_lang_changed, NULL);
im_setting_list_add_ime(ad);
/* Add genlist to naviframe */
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
SET(SRC_LIST
+ ../common/input_method_setting_genlist.cpp
input_method_setting_selector_ui.cpp
input_method_setting_selector.cpp
)
#include <algorithm>
#include <tzplatform_config.h>
#include <inputmethod_manager.h>
+#include "../common/input_method_setting_genlist.h"
#define IM_SETTING_SELECTOR_PACKAGE PACKAGE
#define IM_SETTING_SELECTOR_LOCALE_DIR tzplatform_mkpath(TZ_SYS_RO_APP, PACKAGE_NAME"/res/locale")
ecore_idler_add(_ime_select_idler_cb, ad);
}
-#if !(defined(_WEARABLE) || defined(_MOBILE))
-static void gl_realized_cb(void *data, Evas_Object *obj, void *event_info)
-{
- Elm_Object_Item *it = (Elm_Object_Item *)event_info;
- Elm_Object_Item *first_item = elm_genlist_first_item_get(obj);
- Elm_Object_Item *last_item = elm_genlist_last_item_get(obj);
-
- if (it == first_item && it == last_item)
- elm_object_item_signal_emit(it, "elm,state,group,single", "elm");
- else if (it == first_item)
- elm_object_item_signal_emit(it, "elm,state,group,top", "elm");
- else if (it == last_item)
- elm_object_item_signal_emit(it, "elm,state,group,bottom", "elm");
- else
- elm_object_item_signal_emit(it, "elm,state,group,middle", "elm");
-}
-#endif
-
-static Evas_Object *im_setting_selector_genlist_create(appdata *ad, Evas_Object* parent, Evas_Object* conform)
-{
- Evas_Object *genlist = elm_genlist_add(parent);
- elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
-#ifdef _CIRCLE
- /* Circle Surface Creation */
- if (ad->circle_surface == NULL)
- ad->circle_surface = eext_circle_surface_conformant_add(conform);
- Evas_Object *circle_genlist = eext_circle_object_genlist_add(genlist, ad->circle_surface);
- eext_rotary_object_event_activated_set(circle_genlist, EINA_TRUE);
-#endif
- evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
- elm_scroller_content_min_limit(genlist, EINA_FALSE, EINA_TRUE);
-
-#if !(defined(_WEARABLE) || defined(_MOBILE))
- evas_object_smart_callback_add(genlist, "realized", gl_realized_cb, NULL);
-#endif
-
- evas_object_show(genlist);
- return genlist;
-}
-
static char *im_setting_selector_genlist_item_label_get(void *data, Evas_Object *obj, const char *part)
{
sel_cb_data *cb_data = (sel_cb_data *)data;
appdata *ad = (appdata *)data;
if (!ad)
return NULL;
- ad->genlist = im_setting_selector_genlist_create(ad, ad->popup, ad->conform);
+ ad->genlist = im_setting_genlist_create(ad->popup, ad->conform);
+ elm_scroller_content_min_limit(ad->genlist, EINA_FALSE, EINA_TRUE);
im_setting_selector_add_ime(ad);
return ad->genlist;
}
ad->conform = im_setting_selector_conform_create(ad->win);
ad->naviframe = im_setting_selector_naviframe_create(ad->conform);
- genlist = im_setting_selector_genlist_create(ad, ad->win, ad->conform);
+ genlist = im_setting_genlist_create(ad->win, ad->conform);
+ elm_scroller_content_min_limit(genlist, EINA_FALSE, EINA_TRUE);
evas_object_show(ad->win);
im_setting_selector_genlist_item_class_create();