Add Emoticon and voice layouts for wearable profile 59/77259/2
authorHaifeng Deng <haifeng.deng@samsung.com>
Wed, 29 Jun 2016 07:58:03 +0000 (15:58 +0800)
committerHaifeng Deng <haifeng.deng@samsung.com>
Wed, 29 Jun 2016 08:10:14 +0000 (16:10 +0800)
Change-Id: I823dc3186ae340c9506304fdc18ef3decf731d99
Signed-off-by: Haifeng Deng <haifeng.deng@samsung.com>
data/edc/gengrid/customised_gengrid.edc
data/layout/wearable/LYT_PORTRAIT_EMOTICON.xml
data/layout/wearable/LYT_PORTRAIT_STT.xml [new file with mode: 0644]
data/layout/wearable/input_mode_configure.xml
data/layout/wearable/label_property.xml
data/pixmaps/default/wearable/b_stt_language_icon.png [new file with mode: 0644]
src/include/ise-emoticon-mode.h
src/include/ise.h
src/ise-emoticon-list.cpp
src/ise-emoticon-mode.cpp
src/ise.cpp

index 9c59636..d7db7a8 100755 (executable)
@@ -48,6 +48,16 @@ collections {
       }
    }
 
+   styles {
+      style { name: "gengrid_myfile_in_text_style_wearable";
+         base: "font=Tizen:style=Bold font_size="60" color=#3e3e40 color_class=T060E align=center wrap=mixed ellipsis=1.0 text_class=T060E";
+         tag: "br" "\n";
+         tag: "ps" "ps";
+         tag: "tab" "\t";
+         tag: "b" "+ font_weight=Bold";
+      }
+   }
+
    plugins {
       plugin {
          name: "touch_sound"; // Name run by RUN_PLUGIN
@@ -373,6 +383,324 @@ collections {
 
    }
 
+   group { name: "elm/gengrid/item/ise/customized_default_style_wearable/default";
+      data.item: "texts" "elm.text";
+      data.item: "contents" "elm.swallow.icon";
+      images {
+         image : "images/gengrid/handwriting_emoticon_pressed.png" COMP;
+         image : "images/gengrid/00_thumbs_loading_bg.png" COMP;
+      }
+      script {
+         public downed;
+         public movement;
+         public highlight_timer;
+         public focus_off(val) {
+            if (get_int(highlight_timer))
+               cancel_timer(get_int(highlight_timer));
+            set_int(highlight_timer, 0);
+            set_state(PART:"focus_bg", "default", 0.0);
+         }
+         public focus_mouse_down(val) {
+            if (get_int(highlight_timer))
+               cancel_timer(get_int(highlight_timer));
+            set_int(highlight_timer, 0);
+            set_state(PART:"focus_bg", "enabled", 0.0);
+         }
+         public focus_mouse_up(val) {
+            if (get_int(highlight_timer))
+               cancel_timer(get_int(highlight_timer));
+            set_int(highlight_timer, 0);
+            set_state(PART:"focus_bg", "default", 0.0);
+         }
+          public select_mouse_down(val) {
+            if (get_int(highlight_timer))
+               cancel_timer(get_int(highlight_timer));
+            set_int(highlight_timer, 0);
+            set_state(PART:"select_clip", "selected", 0.0);
+         }
+         public select_mouse_up(val) {
+            if (get_int(highlight_timer))
+               cancel_timer(get_int(highlight_timer));
+            set_int(highlight_timer, 0);
+            set_state(PART:"select_clip", "default", 0.0);
+         }
+      }
+
+      parts {
+         part { name: "select_clip";
+            type: RECT;
+            scale : 1;
+            description { state: "default" 0.0;
+               visible: 0;
+            }
+            description { state: "selected" 0.0;
+               visible: 0;
+            }
+         }
+         part { name: "bg";
+            type: RECT;
+            scale : 1;
+            description { state: "default" 0.0;
+               color: GENGRID_PART_BACKGROUND_COLOR_INC;
+            }
+         }
+         part { name: "left_top_padding";
+            type: SPACER;
+            scale : 1;
+            description { state: "default" 0.0;
+               min: GENGRID_DEFAULT_LEFT_TOP_PADDING_INC;
+               align: 0.0 0.0;
+               fixed: 1 1;
+               rel1.to: "bg";
+               rel2 {
+                  relative: 0.0 0.0;
+                  to: "bg";
+               }
+            }
+         }
+         part { name: "right_bottom_padding";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: GENGRID_DEFAULT_RIGHT_BOTTOM_PADDING_INC;
+               align: 1.0 1.0;
+               fixed: 1 1;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "bg";
+               }
+               rel2.to: "bg";
+            }
+         }
+         part { name: "item_bg";
+            type: SPACER;
+            scale : 1;
+            description { state: "default" 0.0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "left_top_padding";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to: "right_bottom_padding";
+               }
+            }
+         }
+         part { name: "item_bg_left_top_padding";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: GENGRID_DEFAULT_ITEM_BG_LEFT_TOP_PADDING_INC;
+               align: 0.0 0.0;
+               fixed: 1 1;
+               rel1.to: "item_bg";
+               rel2 {
+                  relative: 0.0 0.0;
+                  to: "item_bg";
+               }
+            }
+         }
+         part { name: "item_bg_right_bottom_padding";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: GENGRID_DEFAULT_ITEM_BG_RIGHT_BOTTOM_PADDING_INC;
+               align: 1.0 1.0;
+               fixed: 1 1;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "item_bg";
+               }
+               rel2.to: "item_bg";
+            }
+         }
+         part { name: "item_real_bg";
+            type: IMAGE;
+            scale : 1;
+            description { state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "item_bg_left_top_padding";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to: "item_bg_right_bottom_padding";
+               }
+               image.normal: "images/gengrid/00_thumbs_loading_bg.png";
+            }
+         }
+         part { name: "item_real_bg_left_top_padding";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: GENGRID_DEFAULT_ITEM_REAL_BG_RIGHT_PADDING_INC;
+               align: 0.0 0.0;
+               fixed: 1 1;
+               rel1.to: "item_real_bg";
+               rel2 {
+                  relative: 0.0 0.0;
+                  to: "item_real_bg";
+               }
+            }
+         }
+         part { name: "item_real_bg_right_bottom_padding";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: GENGRID_DEFAULT_ITEM_REAL_BG_RIGHT_PADDING_INC;
+               align: 1.0 1.0;
+               fixed: 1 1;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "item_real_bg";
+               }
+               rel2.to: "item_real_bg";
+            }
+         }
+         part { name: "elm.text";
+            type: TEXTBLOCK;
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: 0 48;
+               align: 0.5 1.0;
+               text {
+                  style: "gengrid_myfile_in_text_style_wearable";
+                  min: 0 1;
+                  align: 0.0 0.5;
+               }
+            }
+        }
+         part { name: "elm.swallow.icon";
+            type: SWALLOW;
+            scale : 1;
+            description { state: "default" 0.0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "item_real_bg_left_top_padding";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to: "item_real_bg_right_bottom_padding";
+               }
+            }
+         }
+         part { name: "reorder_bg";
+            type: RECT;
+            scale : 1;
+            repeat_events: 1;
+            description { state: "default" 0.0;
+               color: GENGRID_PART_BG_COLOR_INC;
+               rel1.to: "item_bg";
+               rel2.to: "item_bg";
+            }
+            description { state: "enabled" 0.0;
+               inherit: "default" 0.0;
+               color: GENGRID_PART_REORDER_DEFAULT_BG_COLOR_INC;
+            }
+         }
+         part { name: "focus_bg_left_top_padding";
+            type: SPACER;
+            scale : 1;
+            description { state: "default" 0.0;
+               min: GENGRID_DEFAULT_LEFT_TOP_FOCUS_PADDING_INC;
+               align: 0.0 0.0;
+               fixed: 1 1;
+               rel1.to: "bg";
+               rel2 {
+                  relative: 0.0 0.0;
+                  to: "bg";
+               }
+            }
+         }
+         part { name: "focus_bg_right_bottom_padding";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: GENGRID_DEFAULT_RIGHT_BOTTOM_FOCUS_PADDING_INC;
+               align: 1.0 1.0;
+               fixed: 1 1;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "bg";
+               }
+               rel2.to: "bg";
+            }
+         }
+         part { name: "focus_bg";
+            type: IMAGE;
+            scale : 1;
+            description { state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "focus_bg_left_top_padding";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to: "focus_bg_right_bottom_padding";
+               }
+               image.normal: "images/gengrid/handwriting_emoticon_pressed.png";
+               image.border: 3 3 3 6;
+            }
+            description { state: "enabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+      }
+      programs {
+         program { name: "touch_snd";
+            signal: "touch_snd,1";
+            source: "elm";
+            action: RUN_PLUGIN "touch_sound";
+         }
+
+         program { name: "go_reorder_disabled";
+            signal: "elm,state,reorder,disabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "reorder_bg";
+            target: "focus_bg";
+            transition: ACCELERATE 0.3;
+         }
+         program { name: "go_reorder_enabled";
+            signal: "elm,state,reorder,enabled";
+            source: "elm";
+            action: STATE_SET "enabled" 0.0;
+            target: "reorder_bg";
+            target: "focus_bg";
+            transition: DECELERATE 0.3;
+         }
+         program { name: "selected";
+            signal: "elm,state,selected";
+            source: "elm";
+            script {
+                set_state(PART:"focus_bg", "enabled", 0.0);
+                set_int(highlight_timer, timer(0.3, "focus_off", 1));
+            }
+            after: "touch_snd";
+         }
+         program { name: "unselected";
+            signal: "elm,state,unselected";
+            source: "elm";
+            script {
+            set_state(PART:"focus_bg", "default", 0.0);
+                if (get_int(highlight_timer)) {
+                    cancel_timer(get_int(highlight_timer));
+                }
+            }
+         }
+         GENGRID_PROGRAM_DEFAULT(
+            target: "item_bg";
+            target: "item_real_bg";
+            target: "elm.swallow.icon";
+         )
+      }
+
+   }
+
 #define GENGRID_DEFAULT_LEFT_TOP_PADDING_LAND_INC 6 2
 #define GENGRID_DEFAULT_RIGHT_BOTTOM_PADDING_LAND_INC 6 1
 #define GENGRID_DEFAULT_LEFT_TOP_FOCUS_PADDING_LAND_INC 4 0
index b3f917d..87e5c7a 100644 (file)
 <?xml version="1.0" encoding="UTF-8"?>
-<layout width="360" height="240" magnifier="true" key_width="65" key_height="81" key_spacing="6" row_spacing="10" hit_left="3" hit_right="3" hit_top="12" hit_bottom="23" label_type="QTY_DEFAULT" vibe_style="DEFAULT" sound_style="DEFAULT">
+<layout width="360" height="240" key_width="80" key_height="60" vibe_style="DEFAULT" sound_style="DEFAULT" label_type="3X4_NUM">
   <image_path>
     <button_normal>B09_panel.png</button_normal>
   </image_path>
   <background_image>
-    <rec button="normal">button/B09_Qwerty_btn_01.png</rec>
-    <rec button="pressed">button/B09_Qwerty_btn_press.png</rec>
-    <rec button="disabled">button/B09_Qwerty_btn_01.png</rec>
+    <rec button="pressed">key_btn_press.png</rec>
   </background_image>
-  <row x="168" y="240">
-    <key button_type="selfish" key_type="modechange" label_type="QTY_?123" width="100">
-      <label>
-        <rec>abc</rec>
-      </label>
-      <background_image>
-        <rec button="normal">button/B09_Qwerty_btn_02.png</rec>
-        <rec button="pressed">button/B09_Qwerty_btn_press.png</rec>
-        <rec button="disabled">button/B09_Qwerty_btn_02.png</rec>
-      </background_image>
-      <key_value>
-        <rec>CUR_LANG</rec>
-      </key_value>
-    </key>
-    <key button_type="selfish" key_type="modechange" label_type="QTY_?123_2">
-      <label>
-        <rec>?123</rec>
-      </label>
-      <background_image>
-        <rec button="normal">button/B09_Qwerty_btn_02.png</rec>
-        <rec button="pressed">button/B09_Qwerty_btn_press.png</rec>
-        <rec button="disabled">button/B09_Qwerty_btn_02.png</rec>
-      </background_image>
-      <key_value>
-        <rec>SYM_QTY_1</rec>
-      </key_value>
-    </key>
-    <key key_type="user" use_magnifier="true" longkey_magnifier="true" custom_id="EMOTICON_GROUP_RECENTLY_USED" multitouch_type="settle_previous">
-      <image_label>
-        <rec button="normal">emoticon/icon_recent_nor_55x55.png</rec>
-        <rec button="pressed">emoticon/icon_recent_press_55x55.png</rec>
-        <rec button="disabled">emoticon/icon_recent_dim_55x55.png</rec>
-      </image_label>
-      <key_value>
-      <rec>EMOTICON_GROUP_RECENTLY_USED</rec>
-      </key_value>
-    </key>
-    <key key_type="user" use_magnifier="true" longkey_magnifier="true" custom_id="EMOTICON_GROUP_FACE" multitouch_type="settle_previous">
+  <row x="260">
+    <key key_type="control" use_repeat_key="true" image_label_type="IMAGE_3X4_TOP">
       <image_label>
-        <rec button="normal">emoticon/icon_emotion_nor_55x55.png</rec>
-        <rec button="pressed">emoticon/icon_emotion_press_55x55.png</rec>
-        <rec button="disabled">emoticon/icon_emotion_dim_55x55.png</rec>
+        <rec button="normal">w_sip_3x4_btn_ic_delete.png</rec>
+        <rec button="pressed">w_sip_3x4_btn_ic_delete.png</rec>
       </image_label>
       <key_value>
-        <rec>EMOTICON_GROUP_FACE</rec>
-      </key_value>
-    </key>
-    <key key_type="user" use_magnifier="true" longkey_magnifier="true" custom_id="EMOTICON_GROUP_CROWN" multitouch_type="settle_previous">
-      <image_label>
-        <rec button="normal">emoticon/icon_crown_nor_55x55.png</rec>
-        <rec button="pressed">emoticon/icon_crown_press_55x55.png</rec>
-        <rec button="disabled">emoticon/icon_crown_dim_55x55.png</rec>
-      </image_label>
-      <key_value>
-        <rec>EMOTICON_GROUP_CROWN</rec>
+        <rec>BackSpace</rec>
       </key_value>
     </key>
   </row>
-  <row x="205" y="330">
-    <key key_type="user" use_magnifier="true" longkey_magnifier="true" custom_id="EMOTICON_GROUP_DOG" multitouch_type="settle_previous">
+  <row x="260">
+    <key key_type="control" custom_id="Enter" image_label_type="IMAGE_3X4_TOP">
       <image_label>
-        <rec button="normal">emoticon/icon_dog_nor_55x55.png</rec>
-        <rec button="pressed">emoticon/icon_dog_press_55x55.png</rec>
-        <rec button="disabled">emoticon/icon_dog_dim_55x55.png</rec>
+        <rec button="normal">w_sip_3x4_btn_ic_enter.png</rec>
+        <rec button="pressed">w_sip_3x4_btn_ic_enter.png</rec>
+        <rec button="disabled">w_sip_3x4_btn_ic_enter_d.png</rec>
       </image_label>
       <key_value>
-        <rec>EMOTICON_GROUP_DOG</rec>
+        <rec>Enter</rec>
       </key_value>
     </key>
-    <key key_type="user" use_magnifier="true" longkey_magnifier="true" custom_id="EMOTICON_GROUP_HOUSE" multitouch_type="settle_previous">
+  </row>
+  <row x="260">
+    <key key_type="modechange" image_label_type="IMAGE_3X4_TOP">
       <image_label>
-        <rec button="normal">emoticon/icon_house_nor_55x55.png</rec>
-        <rec button="pressed">emoticon/icon_house_press_55x55.png</rec>
-        <rec button="disabled">emoticon/icon_house_dim_55x55.png</rec>
+        <rec button="normal">w_sip_3x4_btn_ic_setting.png</rec>
+        <rec button="pressed">w_sip_3x4_btn_ic_setting.png</rec>
       </image_label>
       <key_value>
-        <rec>EMOTICON_GROUP_HOUSE</rec>
+        <rec>OPTION</rec>
       </key_value>
     </key>
-    <key key_type="user" use_magnifier="true" longkey_magnifier="true" custom_id="EMOTICON_GROUP_STAR" multitouch_type="settle_previous">
-      <image_label>
-        <rec button="normal">emoticon/icon_star_nor_55x55.png</rec>
-        <rec button="pressed">emoticon/icon_star_press_55x55.png</rec>
-        <rec button="disabled">emoticon/icon_star_dim_55x55.png</rec>
-      </image_label>
+  </row>
+  <row x="47">
+    <key key_type="user" label_type="3X4_NUM_0" custom_id="EMOTICON_GROUP_ID" width="133">
+      <label>
+        <rec>1/3</rec>
+      </label>
       <key_value>
-        <rec>EMOTICON_GROUP_STAR</rec>
+        <rec>EMOTICON_GROUP_NEXT</rec>
       </key_value>
     </key>
-    <key button_type="selfish" key_type="control" use_magnifier="true" use_repeat_key="true" width="95">
+    <key button_type="direction" key_type="control" label_type="3X4_DEFAULT_SPACE" image_label_type="IMAGE_3X4_SPACE" width="133">
+      <label>
+        <rec>_LANGUAGE_</rec>
+      </label>
       <image_label>
-        <rec button="normal">B09_icon_back_nor_54x54.png</rec>
-        <rec button="pressed">B09_icon_back_press_54x54.png</rec>
-        <rec button="disabled">B09_icon_back_dim_54x54.png</rec>
+        <rec button="normal">w_sip_3x4_btn_ic_space.png</rec>
+        <rec button="pressed">w_sip_3x4_btn_ic_space.png</rec>
       </image_label>
-      <background_image>
-        <rec button="normal">button/B09_Qwerty_btn_02.png</rec>
-        <rec button="pressed">button/B09_Qwerty_btn_press.png</rec>
-        <rec button="disabled">button/B09_Qwerty_btn_02.png</rec>
-      </background_image>
       <key_value>
-        <rec>BackSpace</rec>
+        <rec>Space</rec>
       </key_value>
     </key>
   </row>
diff --git a/data/layout/wearable/LYT_PORTRAIT_STT.xml b/data/layout/wearable/LYT_PORTRAIT_STT.xml
new file mode 100644 (file)
index 0000000..818a3d0
--- /dev/null
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<layout width="360" height="240" magnifier="true" key_width="90" key_height="60" vibe_style="DEFAULT" sound_style="DEFAULT" label_type="3X4_PHONE">
+  <image_path>
+    <button_normal>B09_panel.png</button_normal>
+  </image_path>
+  <background_image>
+    <rec button="pressed">key_btn_press.png</rec>
+  </background_image>
+  <row x="226" y="13">
+    <key key_type="control" use_repeat_key="true" image_label_type="IMAGE_3X4">
+      <image_label>
+        <rec button="normal">w_sip_3x4_btn_ic_delete.png</rec>
+        <rec button="pressed">w_sip_3x4_btn_ic_delete.png</rec>
+      </image_label>
+      <key_value>
+        <rec>BackSpace</rec>
+      </key_value>
+    </key>
+  </row>
+  <row x="226">
+    <key key_type="control" custom_id="Enter">
+      <label>
+        <rec>Done</rec>
+      </label>
+      <key_value>
+        <rec>Enter</rec>
+      </key_value>
+    </key>
+  </row>
+  <row x="49" y="41">
+    <key key_type="modechange" image_label_type="IMAGE_3X4">
+      <image_label>
+        <rec button="normal">b_stt_language_icon.png</rec>
+        <rec button="pressed">b_stt_language_icon.png</rec>
+      </image_label>
+      <key_value>
+        <rec>LANGUAGE</rec>
+      </key_value>
+    </key>
+  </row>
+</layout>
index 20f8c9a..c336223 100644 (file)
       <landscape>LYT_PORTRAIT_3X4_IPv6_123.xml</landscape>
     </layouts>
   </mode>
-  <mode name="IPv6_3X4_ABC">
+  <mode name="STT_3X4">
     <layouts>
-      <portrait>LYT_PORTRAIT_3X4_IPv6_ABC.xml</portrait>
-      <landscape>LYT_PORTRAIT_3X4_IPv6_ABC.xml</landscape>
+      <portrait>LYT_PORTRAIT_STT.xml</portrait>
+      <landscape>LYT_PORTRAIT_STT.xml</landscape>
     </layouts>
   </mode>
   <mode name="NUM_3X4">
index d80873e..bcdd38f 100644 (file)
     </label_properties>
   </label_properties_table>
   <label_properties_table label_type="3X4_PHONE">
-    <label_properties font_name="Tizen:style=medium" font_size="44" label_alignment="center_middle" padding_X="0" padding_Y="0" inner_width="0" inner_height="56">
+    <label_properties font_name="Tizen:style=medium" font_size="25" label_alignment="center_middle" padding_X="0" padding_Y="0">
       <font_color_record>
-        <color button="normal">0x171717ff</color>
-        <color button="pressed">0x000000ff</color>
-        <color button="disabled">0x17171733</color>
+        <color button="normal">0xfafafaff</color>
+        <color button="pressed">0xfafafa7f</color>
+        <color button="disabled">0xfafafa66</color>
       </font_color_record>
     </label_properties>
     <label_properties font_name="Tizen:style=medium" font_size="30" label_alignment="right_top" padding_X="18" padding_Y="8">
diff --git a/data/pixmaps/default/wearable/b_stt_language_icon.png b/data/pixmaps/default/wearable/b_stt_language_icon.png
new file mode 100644 (file)
index 0000000..e832537
Binary files /dev/null and b/data/pixmaps/default/wearable/b_stt_language_icon.png differ
index 30d2800..b28c8b3 100644 (file)
 
 #ifdef SUPPORTS_EMOTICONS
 
+#ifdef _WEARABLE
+#define EMOTICON_GROUP_RECENTLY_USED_NUM 9
+#define EMOTICON_GROUP_1_NUM 9
+#define EMOTICON_GROUP_2_NUM 9
+#define EMOTICON_GROUP_3_NUM 9
+#define EMOTICON_GROUP_4_NUM 0
+#define EMOTICON_GROUP_5_NUM 0
+#else
 #define EMOTICON_GROUP_RECENTLY_USED_NUM 18
 #define EMOTICON_GROUP_1_NUM 77
 #define EMOTICON_GROUP_2_NUM 157
 #define EMOTICON_GROUP_3_NUM 178
 #define EMOTICON_GROUP_4_NUM 114
 #define EMOTICON_GROUP_5_NUM 207
+#endif
 
 enum emoticon_group_t
 {
index 11746c6..ca90bc0 100644 (file)
@@ -119,7 +119,7 @@ const ISE_DEFAULT_VALUES g_ise_default_values[ISE_LAYOUT_STYLE_MAX] = {
     {"NUMONLY_3X4",     "DEFAULT",      FALSE },    /* ISE_LAYOUT_STYLE_NUMBERONLY */
     {"",                "DEFAULT",      FALSE },    /* ISE_LAYOUT_STYLE_INVALID */
     {"SYM_4X4_1",       "DEFAULT",      FALSE },    /* ISE_LAYOUT_STYLE_HEX */
-    {"",                "DEFAULT",      TRUE },     /* ISE_LAYOUT_STYLE_TERMINAL */
+    {"STT_3X4",         "DEFAULT",      TRUE },     /* ISE_LAYOUT_STYLE_TERMINAL */
     {"",                "DEFAULT",      TRUE },     /* ISE_LAYOUT_STYLE_PASSWORD */
     {"DATETIME_3X4",    "DEFAULT",      FALSE },    /* ISE_LAYOUT_STYLE_DATETIME */
     {"EMOTICON_LAYOUT", "DEFAULT",      FALSE },    /* ISE_LAYOUT_STYLE_EMOTICON */
index 08ac942..ab0a4e7 100644 (file)
 #ifdef SUPPORTS_EMOTICONS
 #include "ise-emoticon-mode.h"
 #include <string.h>
+#ifdef _WEARABLE
+int emoticon_list_1[EMOTICON_GROUP_1_NUM] = {
+    0x1f44c,
+    0x1f44d,
+    0x1f44e,
+    0x1f60a,
+    0x1f60d,
+    0x1f61a,
+    0x1f61c,
+    0x1f62a,
+    0x1f62b
+};
+
+int emoticon_list_2[EMOTICON_GROUP_2_NUM] = {
+    0x1f604,
+    0x1f606,
+    0x1f620,
+    0x1f621,
+    0x1f622,
+    0x1f624,
+    0x1f625,
+    0x1f631,
+    0x1f632
+};
+
+int emoticon_list_3[EMOTICON_GROUP_3_NUM] = {
+    0x1f637,
+    0x1f495,
+    0x1f43d,
+    0x1f415,
+    0x1f408,
+    0x1f414,
+    0x1f433,
+    0x1f43c,
+    0x1f42f
+};
+
+int * emoticon_list[] =
+{
+    emoticon_list_1,
+    emoticon_list_2,
+    emoticon_list_3
+};
+
+const char *emoticon_group_name[] =
+{
+    "EMOTICON_GROUP_RECENTLY_USED",
+    "EMOTICON_GROUP_GESTURE",
+    "EMOTICON_GROUP_FACE",
+    "EMOTICON_GROUP_DOG"
+};
+
+#else
 int emoticon_list_1[EMOTICON_GROUP_1_NUM] = {
         0x263a,
         0x1f60a,
@@ -763,7 +816,6 @@ int emoticon_list_5[EMOTICON_GROUP_5_NUM] = {
         0x1f50a
 };
 
-
 int * emoticon_list[] =
 {
     emoticon_list_1,
@@ -782,6 +834,7 @@ const char *emoticon_group_name[] =
     "EMOTICON_GROUP_HOUSE",
     "EMOTICON_GROUP_STAR"
 };
+#endif
 
 extern void ise_read_recent_emoticon_list_from_scim(void);
 
index aa3d5f0..3210c8f 100644 (file)
@@ -38,6 +38,9 @@
 #ifdef _TV
 #define ISE_HEIGHT_PORT         398
 #define ISE_HEIGHT_LAND         398
+#elif _WEARABLE
+#define ISE_HEIGHT_PORT         240
+#define ISE_HEIGHT_LAND         240
 #else
 #define ISE_HEIGHT_PORT         442
 #define ISE_HEIGHT_LAND         318
 #define EMOTICON_GENGRID_ITEM_STYLE_PORT2 "ise/customized_default_style_port2"
 #define EMOTICON_GENGRID_ITEM_STYLE_LAND2 "ise/customized_default_style_land2"
 
+#define EMOTICON_GENGRID_ITEM_STYLE_WEARABLE "ise/customized_default_style_wearable"
+
 #define IND_NUM 20
 
+#ifdef _WEARABLE
+#define EMOTICON_ICON_WIDTH_PORT 40
+#define EMOTICON_ICON_HEIGHT_PORT 40
+
+#define EMOTICON_ICON_GAP_WIDTH_PORT 24
+#define EMOTICON_ICON_GAP_HEIGHT_PORT 3
+#else
 #define EMOTICON_ICON_WIDTH_PORT 30
 #define EMOTICON_ICON_HEIGHT_PORT 30
 
 #define EMOTICON_ICON_GAP_WIDTH_PORT 12
 #define EMOTICON_ICON_GAP_HEIGHT_PORT 6
-
+#endif
 #define EMOTICON_WIDTH_PORT (EMOTICON_ICON_WIDTH_PORT + EMOTICON_ICON_GAP_WIDTH_PORT)
 #define EMOTICON_HEIGHT_PORT (EMOTICON_ICON_HEIGHT_PORT + EMOTICON_ICON_GAP_HEIGHT_PORT)
 
@@ -215,6 +227,10 @@ void ise_show_emoticon_window(emoticon_group_t emoticon_group, const int screen_
             elm_layout_file_set(layout, EMOTICON_EDJ_FILE_PATH, EMOTICON_EDJ_GROUP_LAND_CANDIDATE_OFF);
             evas_object_resize(layout, width, g_ui->get_scaled_y(ISE_HEIGHT_LAND));
         }
+#ifdef _WEARABLE
+        evas_object_resize(layout, 260, 240);
+        evas_object_move(layout, 10, 0);
+#endif
     }
 
     theme = elm_theme_new();
@@ -475,11 +491,14 @@ static void __ise_emoticon_create_item_class(unsigned short int screen_degree)
         gic = elm_gengrid_item_class_new();
 
     if (gic) {
+#ifdef _WEARABLE
+        gic->item_style = EMOTICON_GENGRID_ITEM_STYLE_WEARABLE;
+#else
         if (screen_degree == 0 || screen_degree == 180)
             gic->item_style = EMOTICON_GENGRID_ITEM_STYLE_PORT2;
         else
             gic->item_style = EMOTICON_GENGRID_ITEM_STYLE_LAND2;
-
+#endif
         gic->func.text_get = grid_text_get;
         gic->func.content_get = NULL;
         gic->func.state_get = NULL;
index ed45596..444869b 100644 (file)
@@ -505,6 +505,12 @@ void CCoreEventCallback::on_process_input_device_event(sclu32 &type, sclchar *da
                         new_layout = ISE_LAYOUT_STYLE_HEX;
                         break;
                     case ISE_LAYOUT_STYLE_HEX:
+                        new_layout = ISE_LAYOUT_STYLE_EMOTICON;
+                        break;
+                    case ISE_LAYOUT_STYLE_EMOTICON:
+                        new_layout = ISE_LAYOUT_STYLE_TERMINAL;
+                        break;
+                    case ISE_LAYOUT_STYLE_TERMINAL:
                         new_layout = ISE_LAYOUT_STYLE_NORMAL;
                         break;
                     default:
@@ -516,7 +522,7 @@ void CCoreEventCallback::on_process_input_device_event(sclu32 &type, sclchar *da
                     case ISE_LAYOUT_STYLE_NORMAL:
                     case ISE_LAYOUT_STYLE_EMAIL:
                     case ISE_LAYOUT_STYLE_URL:
-                        new_layout = ISE_LAYOUT_STYLE_HEX;
+                        new_layout = ISE_LAYOUT_STYLE_TERMINAL;
                         break;
                     case ISE_LAYOUT_STYLE_NUMBER:
                         new_layout = ISE_LAYOUT_STYLE_NORMAL;
@@ -524,6 +530,12 @@ void CCoreEventCallback::on_process_input_device_event(sclu32 &type, sclchar *da
                     case ISE_LAYOUT_STYLE_HEX:
                         new_layout = ISE_LAYOUT_STYLE_NUMBER;
                         break;
+                    case ISE_LAYOUT_STYLE_EMOTICON:
+                        new_layout = ISE_LAYOUT_STYLE_HEX;
+                        break;
+                    case ISE_LAYOUT_STYLE_TERMINAL:
+                        new_layout = ISE_LAYOUT_STYLE_EMOTICON;
+                        break;
                     default:
                         ;
                 }
@@ -670,10 +682,14 @@ on_input_mode_changed(const sclchar *key_value, sclulong key_event, sclint key_t
         if (key_value) {
             if (!strcmp(key_value, USER_KEYSTRING_EMOTICON)) {
                 ise_init_emoticon_list();
+#ifdef _WEARABLE
+                    current_emoticon_group = EMOTICON_GROUP_1;
+#else
                 if (emoticon_list_recent.size() == 0)
                     current_emoticon_group = EMOTICON_GROUP_1;
                 else
                     current_emoticon_group = EMOTICON_GROUP_RECENTLY_USED;
+#endif
                 SCLRotation rotation = g_ui->get_rotation();
                 ise_show_emoticon_window(current_emoticon_group, ROTATION_TO_DEGREE(rotation), false, g_core.get_main_window());
             }
@@ -895,7 +911,20 @@ SCLEventReturnType CUIEventCallback::on_event_key_clicked(SclUIEventDesc event_d
                     {
                         ise_destroy_emoticon_window();
                     }
+#ifdef _WEARABLE
+                    emoticon_group_t group_id = EMOTICON_GROUP_1;
+                    if (current_emoticon_group < EMOTICON_GROUP_3)
+                        group_id = (emoticon_group_t)(current_emoticon_group + 1);
+
+                    const int BUF_LEN = 16;
+                    char buf[BUF_LEN] = {0};
+                    snprintf(buf, BUF_LEN, "%d/3", group_id);
+                    static sclchar *imagelabel[SCL_BUTTON_STATE_MAX] = {
+                           const_cast<sclchar*>(" "), const_cast<sclchar*>(" "), const_cast<sclchar*>(" ")};
+                    g_ui->set_private_key("EMOTICON_GROUP_ID", buf, imagelabel, NULL, 0, const_cast<sclchar*>("EMOTICON_GROUP_NEXT"), TRUE);
+#else
                     emoticon_group_t group_id = ise_get_emoticon_group_id(event_desc.key_value);
+#endif
                     if ((group_id >= 0) && (group_id < MAX_EMOTICON_GROUP))
                     {
                         SCLRotation rotation = g_ui->get_rotation();
@@ -1096,10 +1125,14 @@ ise_show(int ic)
 
                 if (g_keyboard_state.layout == ISE_LAYOUT_STYLE_EMOTICON) {
                     ise_init_emoticon_list();
+#ifdef _WEARABLE
+                    current_emoticon_group = EMOTICON_GROUP_1;
+#else
                     if (emoticon_list_recent.size() == 0)
                         current_emoticon_group = EMOTICON_GROUP_1;
                     else
                         current_emoticon_group = EMOTICON_GROUP_RECENTLY_USED;
+#endif
                     SCLRotation rotation = g_ui->get_rotation();
                     ise_show_emoticon_window(current_emoticon_group, ROTATION_TO_DEGREE(rotation), false, g_core.get_main_window());
                 }