wgui_categories_inputs.c
上传用户:lqx1163
上传日期:2014-08-13
资源大小:9183k
文件大小:1705k
源码类别:

MTK

开发平台:

C/C++

  1.  *  wgui_close_singleline_inputbox
  2.  * DESCRIPTION
  3.  *  close single line input box
  4.  * PARAMETERS
  5.  *  void
  6.  * RETURNS
  7.  *  void
  8.  *****************************************************************************/
  9. void wgui_close_singleline_inputbox(void)
  10. {
  11.     /*----------------------------------------------------------------*/
  12.     /* Local Variables                                                */
  13.     /*----------------------------------------------------------------*/
  14.     /*----------------------------------------------------------------*/
  15.     /* Code Body                                                      */
  16.     /*----------------------------------------------------------------*/
  17.     wgui_singleline_inputbox_handle_multitap_input_complete(WGUI_INPUTBOX_EDIT_MULTITAP_ANY);
  18.     reset_singleline_inputbox();
  19.     wgui_singleline_inputbox_RSK_function = NULL;
  20.     wgui_singleline_inputbox_RSK_label_clear = 0;
  21.     wgui_singleline_inputbox_decimal_input_mode_flag = 0;
  22.     wgui_inputbox_not_empty_callback = NULL;
  23.     wgui_inputbox_empty_callback = NULL;
  24.     wgui_inputbox_validation_callback = NULL;
  25.     wgui_inputbox_UCS2_count_function = NULL;
  26.     wgui_inputbox_GSM_ext_count_function = NULL;
  27.     wgui_inputbox_information_flag = 0;
  28. #ifdef __MMI_ZI__
  29.     ZiInuptMethodExitSinglelineInputBox();
  30. #endif 
  31. #if defined(__MMI_TOUCH_SCREEN__) || defined(__MMI_HANDWRITING_PAD__)
  32.     mmi_pen_editor_close_input_box();
  33. #endif 
  34.     if (test_change_input_mode != NULL)
  35.     {
  36.         if (test_change_input_mode())
  37.         {
  38.             MMI_english_input_mode_flag = 0;
  39.         }
  40.         else
  41.         {
  42.             MMI_english_input_mode_flag = 1;
  43.         }
  44.     }
  45.     else
  46.     {
  47.         MMI_english_input_mode_flag = 0;
  48.     }
  49.     if (MMI_allow_only_english_input_modes)
  50.     {
  51.         MMI_english_input_mode_flag = 1;
  52.         MMI_allow_only_english_input_modes = 0;
  53.     }
  54.     test_change_input_mode = NULL;
  55.     /* W05.36 Fix Vietnamese Tone Input Issue */
  56.     set_current_input_box_type(EDITOR_NONE_INPUT_BOX);
  57. }
  58. /* Common functions for multi line input box screens  */
  59. S32 wgui_inputbox_information_bar_x;
  60. S32 wgui_inputbox_information_bar_y;
  61. S32 wgui_inputbox_information_bar_width;
  62. S32 wgui_inputbox_information_bar_height;
  63. U8 wgui_inputbox_information_flag = 0;
  64. #ifdef UI_SMALL_CATEGORY_EDITOR
  65. U8 wgui_small_editor_information_flag = 0;
  66. #endif 
  67. PU8 wgui_inputbox_information_icon = NULL;
  68. S32 wgui_inputbox_buffer_size = 0;
  69. /*****************************************************************************
  70.  * FUNCTION
  71.  *  wgui_setup_input_information
  72.  * DESCRIPTION
  73.  *  set input information of  input box like bar width/bar height
  74.  * PARAMETERS
  75.  *  x           [IN]        Start x position of input box
  76.  *  y           [IN]        Start y position of input box
  77.  *  width       [IN]        Width of input box
  78.  *  height      [IN]        Height of input box
  79.  * RETURNS
  80.  *  void
  81.  *****************************************************************************/
  82. void wgui_setup_input_information(S32 x, S32 y, S32 width, S32 height)
  83. {
  84.     /*----------------------------------------------------------------*/
  85.     /* Local Variables                                                */
  86.     /*----------------------------------------------------------------*/
  87.     /*----------------------------------------------------------------*/
  88.     /* Code Body                                                      */
  89.     /*----------------------------------------------------------------*/
  90.     wgui_inputbox_information_bar_x = x;
  91.     wgui_inputbox_information_bar_y = y;
  92.     wgui_inputbox_information_bar_width = width;
  93.     wgui_inputbox_information_bar_height = height;
  94. }
  95. /*****************************************************************************
  96.  * FUNCTION
  97.  *  wgui_input_information_background
  98.  * DESCRIPTION
  99.  *  fill the background color of information of input box
  100.  * PARAMETERS
  101.  *  x1      [IN]        Start x position of input box
  102.  *  y1      [IN]        Start y position of input box
  103.  *  x2      [IN]        End x position of input box
  104.  *  y2      [IN]        End y position of input box
  105.  * RETURNS
  106.  *  void
  107.  *****************************************************************************/
  108. void wgui_input_information_background(S32 x1, S32 y1, S32 x2, S32 y2)
  109. {
  110.     /*----------------------------------------------------------------*/
  111.     /* Local Variables                                                */
  112.     /*----------------------------------------------------------------*/
  113.     /* Now reads color from the theme structure  */
  114.     color c = current_information_bar_theme->background_color;
  115.     /*----------------------------------------------------------------*/
  116.     /* Code Body                                                      */
  117.     /*----------------------------------------------------------------*/
  118.     gui_reset_clip();
  119.     if (MMI_multiline_inputbox.flags & UI_MULTI_LINE_INPUT_BOX_INCLUDE_INFO_AREA)
  120.     {
  121.         UI_filled_area f = *MMI_multiline_inputbox.normal_filler;
  122.         if (f.flags & UI_FILLED_AREA_SINGLE_BORDER)
  123.         {
  124.             f.flags &= ~UI_FILLED_AREA_SINGLE_BORDER;
  125.         }
  126.         gui_set_clip(x1, y1, x2, y2);
  127.         gui_draw_filled_area(x1, y1, x2, y2, &f);
  128.     }
  129.     else
  130.     {
  131.         /* W05.39 Set Information Bar Background as GDI_COLOR_TRANSPARENT when wgui_is_wallpaper_on_bottom */
  132.         if (wgui_is_wallpaper_on_bottom() == MMI_TRUE)
  133.         {
  134.             gdi_draw_solid_rect(x1, y1, x2, y2, GDI_COLOR_TRANSPARENT);
  135.         }
  136.         else
  137.         {
  138.             gui_fill_rectangle(x1, y1, x2, y2, c);
  139.         }
  140.     }
  141. }
  142. /*****************************************************************************
  143.  * FUNCTION
  144.  *  wgui_hide_input_information_bar
  145.  * DESCRIPTION
  146.  *  hide information bar
  147.  * PARAMETERS
  148.  *  void
  149.  * RETURNS
  150.  *  void
  151.  *****************************************************************************/
  152. void wgui_hide_input_information_bar()
  153. {
  154.     /*----------------------------------------------------------------*/
  155.     /* Local Variables                                                */
  156.     /*----------------------------------------------------------------*/
  157.     S32 x1 = 0;
  158.     S32 y1 = wgui_inputbox_information_bar_y;
  159.     S32 x2 = UI_device_width - 1;
  160.     S32 y2 = wgui_inputbox_information_bar_y + wgui_inputbox_information_bar_height - 1;
  161.     color c = gui_color(255, 255, 255);
  162.     /*----------------------------------------------------------------*/
  163.     /* Code Body                                                      */
  164.     /*----------------------------------------------------------------*/
  165.     gui_reset_clip();
  166.     gui_fill_rectangle(x1, y1, x2, y2, c);
  167. }
  168. /*****************************************************************************
  169.  * FUNCTION
  170.  *  wgui_show_input_mode
  171.  * DESCRIPTION
  172.  *  show current input mode on the top of editor scrren
  173.  * PARAMETERS
  174.  *  input_mode                      [IN]        
  175.  *  inputbox_information_icon       [IN]        
  176.  * RETURNS
  177.  *  void
  178.  *****************************************************************************/
  179. #if defined(__MMI_TOUCH_SCREEN__)
  180. UI_filled_area information_bar_BG_filler = 
  181. {
  182.     UI_FILLED_AREA_TYPE_COLOR | UI_FILLED_AREA_ROUNDED_BORDER | UI_FILLED_AREA_SINGLE_BORDER,
  183.     UI_NULL_IMAGE,
  184.     NULL,
  185.     /* {    248,144,248,100 }, */
  186.     {255, 185, 253, 100},
  187.     {0, 0, 0, 0},
  188.     {160, 72, 168, 100},
  189.     {255, 0, 0, 100},
  190.     0
  191. };
  192. #endif /* defined(__MMI_TOUCH_SCREEN__) */ 
  193. void wgui_show_input_mode_internal(
  194.                     S32 info_bar_x,
  195.                     S32 info_bar_y,
  196.                     S32 info_bar_width,
  197.                     S32 info_bar_height,
  198.                     U8 input_mode, 
  199.                     PU8 inputbox_information_icon)
  200. {
  201.     /*----------------------------------------------------------------*/
  202.     /* Local Variables                                                */
  203.     /*----------------------------------------------------------------*/
  204.     color c = *current_MMI_theme->input_method_text_color;
  205. #if !defined(__MMI_TOUCH_SCREEN__)
  206.     stFontAttribute *f = &MMI_small_font;
  207. #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  208.     stFontAttribute *f = &MMI_medium_font;
  209.     S32 rect_height;
  210. #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  211.     S32 width, height;
  212.     UI_string_type inputmode_string = (UI_string_type) "";
  213. #ifdef __MMI_HINDI_ALG__
  214.     U16 name[] = {IV_A, IV_AA, IV_I, 0x0};  /* added during merge */
  215. #endif 
  216.     /* PMT RAKESH START 20061006 */
  217. #if defined (__MMI_LANG_MARATHI__)
  218.     U16 input_mode_marathi_string_array[] = {C_MA, C_RA, DV_AA, C_TTHA, DV_II, 0x0};
  219. #endif 
  220.     /* PMT RAKESH END 20061006 */
  221.     S32 x, x1, x2;
  222.     /*----------------------------------------------------------------*/
  223.     /* Code Body                                                      */
  224.     /*----------------------------------------------------------------*/
  225. #if defined(__MMI_TOUCH_SCREEN__)
  226.     wgui_information_bar_input_mode_display_width = 0;
  227.     wgui_information_bar_input_mode_display_height = 0;
  228. #endif
  229.     x = x1 = info_bar_x;
  230.     x2 = info_bar_x + info_bar_width - 1;
  231.     switch (MMI_current_input_mode)
  232.     {
  233.         case INPUT_MODE_MULTITAP_UPPERCASE_ABC:
  234.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_ABC_STRING_ID);
  235.             break;
  236.         case INPUT_MODE_MULTITAP_LOWERCASE_ABC:
  237.         case INPUT_MODE_MMI_LOWERCASE_ABC:
  238.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_abc_STRING_ID);
  239.             break;
  240.     #if defined(__MMI_MULTITAP_THAI__)
  241.         case INPUT_MODE_MULTITAP_THAI:
  242.         case INPUT_MODE_MMI_MULTITAP_THAI:
  243.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_thai_STRING_ID);
  244.             break;
  245.     #endif /* defined(__MMI_MULTITAP_THAI__) */ 
  246.     #if defined(__MMI_MULTITAP_SPANISH__)
  247.         case INPUT_MODE_MULTITAP_UPPERCASE_SPANISH:
  248.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_SPANISH_STRING_ID);
  249.             break;
  250.         case INPUT_MODE_MULTITAP_LOWERCASE_SPANISH:
  251.         case INPUT_MODE_MMI_LOWERCASE_SPANISH:
  252.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_spanish_STRING_ID);
  253.             break;
  254.     #endif /* defined(__MMI_MULTITAP_SPANISH__) */ 
  255.     #if defined(__MMI_T9_SPANISH__) || defined(__MMI_ZI_EU_SPANISH__) || defined(__MMI_ZI_SA_SPANISH__) || defined(__MMI_CSTAR_SPANISH__) //KP Jerry add "__MMI_CSTAR_SPANISH__" on 2007-4-6
  256.         case INPUT_MODE_SMART_UPPERCASE_SPANISH:
  257.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_SPANISH_STRING_ID);
  258.             break;
  259.         case INPUT_MODE_SMART_LOWERCASE_SPANISH:
  260.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_spanish_STRING_ID);
  261.             break;
  262.     #endif /* defined(__MMI_T9_SPANISH__) || defined(__MMI_ZI_EU_SPANISH__) || defined(__MMI_ZI_SA_SPANISH__) || defined(__MMI_CSTAR_SPANISH__) */  //KP Jerry add "__MMI_CSTAR_SPANISH__" on 2007-4-6
  263.     #if defined(__MMI_MULTITAP_DANISH__)
  264.         case INPUT_MODE_MULTITAP_UPPERCASE_DANISH:
  265.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_DANISH_STRING_ID);
  266.             break;
  267.         case INPUT_MODE_MULTITAP_LOWERCASE_DANISH:
  268.         case INPUT_MODE_MMI_LOWERCASE_DANISH:
  269.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_danish_STRING_ID);
  270.             break;
  271.     #endif /* defined(__MMI_MULTITAP_DANISH__) */ 
  272.     #if defined(__MMI_T9_DANISH__) || defined(__MMI_ZI_DANISH__) || defined(__MMI_CSTAR_DANISH__) //KP Jerry add "__MMI_CSTAR_DANISH__" on 2007-4-6
  273.         case INPUT_MODE_SMART_UPPERCASE_DANISH:
  274.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_DANISH_STRING_ID);
  275.             break;
  276.         case INPUT_MODE_SMART_LOWERCASE_DANISH:
  277.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_danish_STRING_ID);
  278.             break;
  279.     #endif /* defined(__MMI_T9_DANISH__) || defined(__MMI_ZI_DANISH__) || defined(__MMI_CSTAR_DANISH__) */  //KP Jerry add "__MMI_CSTAR_DANISH__" on 2007-4-6
  280.     #if defined(__MMI_MULTITAP_POLISH__)
  281.         case INPUT_MODE_MULTITAP_UPPERCASE_POLISH:
  282.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_POLISH_STRING_ID);
  283.             break;
  284.         case INPUT_MODE_MULTITAP_LOWERCASE_POLISH:
  285.         case INPUT_MODE_MMI_LOWERCASE_POLISH:
  286.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_polish_STRING_ID);
  287.             break;
  288.     #endif /* defined(__MMI_MULTITAP_POLISH__) */ 
  289.     #if defined(__MMI_T9_POLISH__) || defined(__MMI_ZI_POLISH__) || defined(__MMI_CSTAR_POLISH__) //KP Jerry add "__MMI_CSTAR_POLISH__" on 2007-4-6
  290.         case INPUT_MODE_SMART_UPPERCASE_POLISH:
  291.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_POLISH_STRING_ID);
  292.             break;
  293.         case INPUT_MODE_SMART_LOWERCASE_POLISH:
  294.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_polish_STRING_ID);
  295.             break;
  296.     #endif /* defined(__MMI_T9_POLISH__) || defined(__MMI_ZI_POLISH__) || defined(__MMI_CSTAR_POLISH__) */  //KP Jerry add "__MMI_CSTAR_POLISH__" on 2007-4-6
  297.     #if defined(__MMI_MULTITAP_FRENCH__)
  298.         case INPUT_MODE_MULTITAP_UPPERCASE_FRENCH:
  299.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_FRENCH_STRING_ID);
  300.             break;
  301.         case INPUT_MODE_MULTITAP_LOWERCASE_FRENCH:
  302.         case INPUT_MODE_MMI_LOWERCASE_FRENCH:
  303.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_french_STRING_ID);
  304.             break;
  305.     #endif /* defined(__MMI_MULTITAP_FRENCH__) */ 
  306.     #if defined(__MMI_T9_FRENCH__) || defined(__MMI_ZI_CA_FRENCH__) || defined(__MMI_ZI_EU_FRENCH__) || defined(__MMI_CSTAR_FRENCH__) //KP Jerry add "__MMI_CSTAR_FRENCH__" on 2007-4-6
  307.         case INPUT_MODE_SMART_UPPERCASE_FRENCH:
  308.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_FRENCH_STRING_ID);
  309.             break;
  310.         case INPUT_MODE_SMART_LOWERCASE_FRENCH:
  311.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_french_STRING_ID);
  312.             break;
  313.     #endif /* defined(__MMI_T9_FRENCH__) || defined(__MMI_ZI_CA_FRENCH__) || defined(__MMI_ZI_EU_FRENCH__) || defined(__MMI_CSTAR_FRENCH__) */  //KP Jerry add "__MMI_CSTAR_FRENCH__" on 2007-4-6
  314.     #if defined(__MMI_MULTITAP_GERMAN__)
  315.         case INPUT_MODE_MULTITAP_UPPERCASE_GERMAN:
  316.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_GERMAN_STRING_ID);
  317.             break;
  318.         case INPUT_MODE_MULTITAP_LOWERCASE_GERMAN:
  319.         case INPUT_MODE_MMI_LOWERCASE_GERMAN:
  320.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_german_STRING_ID);
  321.             break;
  322.     #endif /* defined(__MMI_MULTITAP_GERMAN__) */ 
  323.     #if defined(__MMI_T9_GERMAN__) || defined(__MMI_ZI_GERMAN__) || defined(__MMI_CSTAR_GERMAN__) //KP Jerry add "__MMI_CSTAR_GERMAN__" on 2007-4-6
  324.         case INPUT_MODE_SMART_UPPERCASE_GERMAN:
  325.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_GERMAN_STRING_ID);
  326.             break;
  327.         case INPUT_MODE_SMART_LOWERCASE_GERMAN:
  328.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_german_STRING_ID);
  329.             break;
  330.     #endif /* defined(__MMI_T9_GERMAN__) || defined(__MMI_ZI_GERMAN__) || defined(__MMI_CSTAR_GERMAN__) */  //KP Jerry add "__MMI_CSTAR_GERMAN__" on 2007-4-6
  331.     #if defined(__MMI_MULTITAP_ITALIAN__)
  332.         case INPUT_MODE_MULTITAP_UPPERCASE_ITALIAN:
  333.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_ITALIAN_STRING_ID);
  334.             break;
  335.         case INPUT_MODE_MULTITAP_LOWERCASE_ITALIAN:
  336.         case INPUT_MODE_MMI_LOWERCASE_ITALIAN:
  337.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_italian_STRING_ID);
  338.             break;
  339.     #endif /* defined(__MMI_MULTITAP_ITALIAN__) */ 
  340.     #if defined(__MMI_T9_ITALIAN__) || defined(__MMI_ZI_ITALIAN__) || defined(__MMI_CSTAR_ITALIAN__) //KP Jerry add "__MMI_CSTAR_ITALIAN__" on 2007-4-6
  341.         case INPUT_MODE_SMART_UPPERCASE_ITALIAN:
  342.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_ITALIAN_STRING_ID);
  343.             break;
  344.         case INPUT_MODE_SMART_LOWERCASE_ITALIAN:
  345.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_italian_STRING_ID);
  346.             break;
  347.     #endif /* defined(__MMI_T9_ITALIAN__) || defined(__MMI_ZI_ITALIAN__) || defined(__MMI_CSTAR_ITALIAN__) */  //KP Jerry add "__MMI_CSTAR_ITALIAN__" on 2007-4-6
  348.     #if defined(__MMI_MULTITAP_RUSSIAN__)
  349.         case INPUT_MODE_MULTITAP_UPPERCASE_RUSSIAN:
  350.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_RUSSIAN_STRING_ID);
  351.             break;
  352.         case INPUT_MODE_MULTITAP_LOWERCASE_RUSSIAN:
  353.         case INPUT_MODE_MMI_LOWERCASE_RUSSIAN:
  354.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_russian_STRING_ID);
  355.             break;
  356.     #endif /* defined(__MMI_MULTITAP_RUSSIAN__) */ 
  357.     #if defined(__MMI_MULTITAP_BULGARIAN__)
  358.         case INPUT_MODE_MULTITAP_UPPERCASE_BULGARIAN:
  359.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_BULGARIAN_STRING_ID);
  360.             break;
  361.         case INPUT_MODE_MULTITAP_LOWERCASE_BULGARIAN:
  362.         case INPUT_MODE_MMI_LOWERCASE_BULGARIAN:
  363.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_bulgarian_STRING_ID);
  364.             break;
  365.     #endif /* defined(__MMI_MULTITAP_BULGARIAN__) */ 
  366.     #if defined(__MMI_MULTITAP_HEBREW__)
  367.         case INPUT_MODE_MULTITAP_HEBREW:
  368.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_HEBREW_STRING_ID);
  369.             break;
  370.         case INPUT_MODE_MMI_MULTITAP_HEBREW:
  371.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_HEBREW_STRING_ID);
  372.             break;
  373.     #endif /* defined(__MMI_MULTITAP_HEBREW__) */ 
  374.     #if defined(__MMI_MULTITAP_ARABIC__)
  375.         case INPUT_MODE_MULTITAP_ARABIC:
  376.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_ARABIC_STRING_ID);
  377.             break;
  378.         case INPUT_MODE_MMI_MULTITAP_ARABIC:
  379.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_ARABIC_STRING_ID);
  380.             break;
  381.     #endif /* defined(__MMI_MULTITAP_ARABIC__) */ 
  382. //PMT START PERSIAN
  383.     #if defined(__MMI_MULTITAP_PERSIAN__)
  384.         case INPUT_MODE_MULTITAP_PERSIAN:
  385.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_PERSIAN_STRING_ID);
  386.             break;
  387.         case INPUT_MODE_MMI_MULTITAP_PERSIAN:
  388.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_PERSIAN_STRING_ID);
  389.             break;
  390.     #endif 
  391. //PMT END PERSIAN
  392.     #if defined(__MMI_T9_RUSSIAN__) || defined(__MMI_ZI_RUSSIAN__) || defined(__MMI_ZI_RECOMMENDED_SIZE_RUSSIAN__) || defined(__MMI_CSTAR_RUSSIAN__)   //KP Jerry add "__MMI_CSTAR_RUSSIAN__" on 2007-4-17
  393.         case INPUT_MODE_SMART_UPPERCASE_RUSSIAN:
  394.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_RUSSIAN_STRING_ID);
  395.             break;
  396.         case INPUT_MODE_SMART_LOWERCASE_RUSSIAN:
  397.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_russian_STRING_ID);
  398.             break;
  399.     #endif /* defined(__MMI_T9_RUSSIAN__) || defined(__MMI_ZI_RUSSIAN__) || defined(__MMI_ZI_RECOMMENDED_SIZE_RUSSIAN__) || defined(__MMI_CSTAR_RUSSIAN__) */    //KP Jerry add "__MMI_CSTAR_RUSSIAN__" on 2007-4-17
  400.     #if defined(__MMI_T9_BULGARIAN__) || defined(__MMI_ZI_BULGARIAN__) || defined(__MMI_CSTAR_BULGARIAN__) //KP Jerry add "__MMI_CSTAR_BULGARIAN__" on 2007-4-6
  401.         case INPUT_MODE_SMART_UPPERCASE_BULGARIAN:
  402.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_BULGARIAN_STRING_ID);
  403.             break;
  404.         case INPUT_MODE_SMART_LOWERCASE_BULGARIAN:
  405.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_bulgarian_STRING_ID);
  406.             break;
  407.     #endif /* defined(__MMI_T9_BULGARIAN__) || defined(__MMI_ZI_BULGARIAN__) || defined(__MMI_CSTAR_BULGARIAN__) */  //KP Jerry add "__MMI_CSTAR_BULGARIAN__" on 2007-4-6
  408.     #if defined(__MMI_MULTITAP_TURKISH__)
  409.         case INPUT_MODE_MULTITAP_UPPERCASE_TURKISH:
  410.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_TURKISH_STRING_ID);
  411.             break;
  412.         case INPUT_MODE_MULTITAP_LOWERCASE_TURKISH:
  413.         case INPUT_MODE_MMI_LOWERCASE_TURKISH:
  414.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_turkish_STRING_ID);
  415.             break;
  416.     #endif /* defined(__MMI_MULTITAP_TURKISH__) */ 
  417.     #if defined(__MMI_ZI_TURKISH__) || defined(__MMI_T9_TURKISH__) || defined(__MMI_CSTAR_TURKISH__) //KP Jerry add "__MMI_CSTAR_TURKISH__" on 2007-4-6
  418.         case INPUT_MODE_SMART_UPPERCASE_TURKISH:
  419.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_TURKISH_STRING_ID);
  420.             break;
  421.         case INPUT_MODE_SMART_LOWERCASE_TURKISH:
  422.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_turkish_STRING_ID);
  423.             break;
  424.     #endif /* defined(__MMI_ZI_TURKISH__) || defined(__MMI_T9_TURKISH__) || defined(__MMI_CSTAR_TURKISH__) */  //KP Jerry add "__MMI_CSTAR_TURKISH__" on 2007-4-6
  425.     #if defined(__MMI_MULTITAP_PORTUGUESE__)
  426.         case INPUT_MODE_MULTITAP_UPPERCASE_PORTUGUESE:
  427.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_PORTUGUESE_STRING_ID);
  428.             break;
  429.         case INPUT_MODE_MULTITAP_LOWERCASE_PORTUGUESE:
  430.         case INPUT_MODE_MMI_LOWERCASE_PORTUGUESE:
  431.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_portuguese_STRING_ID);
  432.             break;
  433.     #endif /* defined(__MMI_MULTITAP_PORTUGUESE__) */ 
  434.     #if defined(__MMI_T9_PORTUGUESE__) || defined(__MMI_ZI_EU_PORTUGUESE__) || defined(__MMI_ZI_SA_PORTUGUESE__) || defined(__MMI_ZI_BZ_PORTUGUESE__) || defined(__MMI_CSTAR_PORTUGUESE__)  //KP Jerry add "__MMI_CSTAR_PORTUGUESE__" on 2007-4-6
  435.         case INPUT_MODE_SMART_UPPERCASE_PORTUGUESE:
  436.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_PORTUGUESE_STRING_ID);
  437.             break;
  438.         case INPUT_MODE_SMART_LOWERCASE_PORTUGUESE:
  439.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_portuguese_STRING_ID);
  440.             break;
  441.     #endif /* defined(__MMI_T9_PORTUGUESE__) || defined(__MMI_ZI_EU_PORTUGUESE__) || defined(__MMI_ZI_SA_PORTUGUESE__) || defined(__MMI_ZI_BZ_PORTUGUESE__) || defined(__MMI_CSTAR_PORTUGUESE__) */   //KP Jerry add "__MMI_CSTAR_PORTUGUESE__" on 2007-4-6
  442.     #if defined(__MMI_MULTITAP_HINDI__)
  443.         case INPUT_MODE_MULTITAP_HINDI:
  444.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_HINDI_STRING_ID);
  445.             break;
  446.     #endif /* defined(__MMI_MULTITAP_HINDI__) */ 
  447.             /* PMT RAKESH START 20061006 */
  448.     #if defined (__MMI_MULTITAP_MARATHI__)
  449.         case INPUT_MODE_MULTITAP_MARATHI:
  450.             inputmode_string = (UI_string_type) input_mode_marathi_string_array;
  451.             break;
  452.     #endif /* defined (__MMI_MULTITAP_MARATHI__) */ 
  453.             /* PMT RAKESH END 20061006 */
  454.     #if defined(__MMI_MULTITAP_INDONESIAN__)
  455.         case INPUT_MODE_MULTITAP_UPPERCASE_INDONESIAN:
  456.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_INDONESIAN_STRING_ID);
  457.             break;
  458.         case INPUT_MODE_MULTITAP_LOWERCASE_INDONESIAN:
  459.         case INPUT_MODE_MMI_LOWERCASE_INDONESIAN:
  460.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_indonesian_STRING_ID);
  461.             break;
  462.     #endif /* defined(__MMI_MULTITAP_INDONESIAN__) */ 
  463.     #if defined(__MMI_ZI_INDONESIAN__) || defined(__MMI_T9_INDONESIAN__) || defined(__MMI_CSTAR_INDONESIAN__) //KP Jerry add "__MMI_CSTAR_INDONESIAN__" on 2007-4-6
  464.         case INPUT_MODE_SMART_UPPERCASE_INDONESIAN:
  465.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_INDONESIAN_STRING_ID);
  466.             break;
  467.         case INPUT_MODE_SMART_LOWERCASE_INDONESIAN:
  468.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_indonesian_STRING_ID);
  469.             break;
  470.     #endif /* defined(__MMI_ZI_INDONESIAN__) || defined(__MMI_T9_INDONESIAN__) || defined(__MMI_CSTAR_INDONESIAN__) */  //KP Jerry add "__MMI_CSTAR_INDONESIAN__" on 2007-4-6
  471.     #if defined(__MMI_MULTITAP_CZECH__)
  472.         case INPUT_MODE_MULTITAP_UPPERCASE_CZECH:
  473.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_CZECH_STRING_ID);
  474.             break;
  475.         case INPUT_MODE_MULTITAP_LOWERCASE_CZECH:
  476.         case INPUT_MODE_MMI_LOWERCASE_CZECH:
  477.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_czech_STRING_ID);
  478.             break;
  479.     #endif /* defined(__MMI_MULTITAP_CZECH__) */ 
  480.     #if defined(__MMI_T9_CZECH__) || defined(__MMI_ZI_CZECH__) || defined(__MMI_CSTAR_CZECH__) //KP Jerry add "__MMI_CSTAR_CZECH__" on 2007-4-6
  481.         case INPUT_MODE_SMART_UPPERCASE_CZECH:
  482.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_CZECH_STRING_ID);
  483.             break;
  484.         case INPUT_MODE_SMART_LOWERCASE_CZECH:
  485.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_czech_STRING_ID);
  486.             break;
  487.     #endif /* defined(__MMI_T9_CZECH__) || defined(__MMI_ZI_CZECH__) || defined(__MMI_CSTAR_CZECH__) */  //KP Jerry add "__MMI_CSTAR_CZECH__" on 2007-4-6
  488.     #if defined(__MMI_MULTITAP_MALAY__)
  489.         case INPUT_MODE_MULTITAP_UPPERCASE_MALAY:
  490.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_MALAY_STRING_ID);
  491.             break;
  492.         case INPUT_MODE_MULTITAP_LOWERCASE_MALAY:
  493.         case INPUT_MODE_MMI_LOWERCASE_MALAY:
  494.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_malay_STRING_ID);
  495.             break;
  496.     #endif /* defined(__MMI_MULTITAP_MALAY__) */ 
  497.     #if defined(__MMI_ZI_MALAY__) || defined(__MMI_T9_MALAY__) || defined(__MMI_CSTAR_MALAY__) //KP Jerry add "__MMI_CSTAR_MALAY__" on 2007-4-6
  498.         case INPUT_MODE_SMART_UPPERCASE_MALAY:
  499.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_MALAY_STRING_ID);
  500.             break;
  501.         case INPUT_MODE_SMART_LOWERCASE_MALAY:
  502.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_malay_STRING_ID);
  503.             break;
  504.     #endif /* defined(__MMI_ZI_MALAY__) || defined(__MMI_T9_MALAY__) || defined(__MMI_CSTAR_MALAY__) */  //KP Jerry add "__MMI_CSTAR_MALAY__" on 2007-4-6
  505.     #if defined(__MMI_MULTITAP_VIETNAMESE__)
  506.         case INPUT_MODE_MULTITAP_UPPERCASE_VIETNAMESE:
  507.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_VIETNAMESE_STRING_ID);
  508.             break;
  509.         case INPUT_MODE_MULTITAP_LOWERCASE_VIETNAMESE:
  510.         case INPUT_MODE_MMI_LOWERCASE_VIETNAMESE:
  511.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_vietnamese_STRING_ID);
  512.             break;
  513.     #endif /* defined(__MMI_MULTITAP_VIETNAMESE__) */ 
  514.     #if defined(__MMI_ZI_VIETNAMESE__) || defined(__MMI_T9_VIETNAMESE__) || defined(__MMI_CSTAR_VIETNAMESE__) //KP Jerry add "__MMI_CSTAR_VIETNAMESE__" on 2007-4-6
  515.         case INPUT_MODE_SMART_UPPERCASE_VIETNAMESE:
  516.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_VIETNAMESE_STRING_ID);
  517.             break;
  518.         case INPUT_MODE_SMART_LOWERCASE_VIETNAMESE:
  519.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_vietnamese_STRING_ID);
  520.             break;
  521.     #endif /* defined(__MMI_ZI_VIETNAMESE__) || defined(__MMI_T9_VIETNAMESE__) || defined(__MMI_CSTAR_VIETNAMESE__) */  //KP Jerry add "__MMI_CSTAR_VIETNAMESE__" on 2007-4-6
  522.     #if defined(__MMI_MULTITAP_FINNISH__)
  523.         case INPUT_MODE_MULTITAP_UPPERCASE_FINNISH:
  524.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_FINNISH_STRING_ID);
  525.             break;
  526.         case INPUT_MODE_MULTITAP_LOWERCASE_FINNISH:
  527.         case INPUT_MODE_MMI_LOWERCASE_FINNISH:
  528.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_finnish_STRING_ID);
  529.             break;
  530.     #endif /* defined(__MMI_MULTITAP_FINNISH__) */ 
  531.     #if defined(__MMI_T9_FINNISH__) || defined(__MMI_ZI_FINNISH__) || defined(__MMI_CSTAR_FINNISH__) //KP Jerry add "__MMI_CSTAR_FINNISH__" on 2007-4-6
  532.         case INPUT_MODE_SMART_UPPERCASE_FINNISH:
  533.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_FINNISH_STRING_ID);
  534.             break;
  535.         case INPUT_MODE_SMART_LOWERCASE_FINNISH:
  536.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_finnish_STRING_ID);
  537.             break;
  538.     #endif /* defined(__MMI_T9_FINNISH__) || defined(__MMI_ZI_FINNISH__) || defined(__MMI_CSTAR_FINNISH__) */  //KP Jerry add "__MMI_CSTAR_FINNISH__" on 2007-4-6
  539.     #if defined(__MMI_MULTITAP_HUNGARIAN__)
  540.         case INPUT_MODE_MULTITAP_UPPERCASE_HUNGARIAN:
  541.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_HUNGARIAN_STRING_ID);
  542.             break;
  543.         case INPUT_MODE_MULTITAP_LOWERCASE_HUNGARIAN:
  544.         case INPUT_MODE_MMI_LOWERCASE_HUNGARIAN:
  545.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_hungarian_STRING_ID);
  546.             break;
  547.     #endif /* defined(__MMI_MULTITAP_HUNGARIAN__) */ 
  548.     #if defined(__MMI_T9_HUNGARIAN__) || defined(__MMI_ZI_HUNGARIAN__) || defined(__MMI_CSTAR_HUNGARIAN__) //KP Jerry add "__MMI_CSTAR_HUNGARIAN__" on 2007-4-6
  549.         case INPUT_MODE_SMART_UPPERCASE_HUNGARIAN:
  550.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_HUNGARIAN_STRING_ID);
  551.             break;
  552.         case INPUT_MODE_SMART_LOWERCASE_HUNGARIAN:
  553.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_hungarian_STRING_ID);
  554.             break;
  555.     #endif /* defined(__MMI_T9_HUNGARIAN__) || defined(__MMI_ZI_HUNGARIAN__) || defined(__MMI_CSTAR_HUNGARIAN__) */  //KP Jerry add "__MMI_CSTAR_HUNGARIAN__" on 2007-4-6
  556.     #if defined(__MMI_MULTITAP_SLOVAK__)
  557.         case INPUT_MODE_MULTITAP_UPPERCASE_SLOVAK:
  558.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_SLOVAK_STRING_ID);
  559.             break;
  560.         case INPUT_MODE_MULTITAP_LOWERCASE_SLOVAK:
  561.         case INPUT_MODE_MMI_LOWERCASE_SLOVAK:
  562.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_slovak_STRING_ID);
  563.             break;
  564.     #endif /* defined(__MMI_MULTITAP_SLOVAK__) */ 
  565.     #if defined(__MMI_T9_SLOVAK__) || defined(__MMI_ZI_SLOVAK__) || defined(__MMI_CSTAR_SLOVAK__) //KP Jerry add "__MMI_CSTAR_SLOVAK__" on 2007-4-6
  566.         case INPUT_MODE_SMART_UPPERCASE_SLOVAK:
  567.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_SLOVAK_STRING_ID);
  568.             break;
  569.         case INPUT_MODE_SMART_LOWERCASE_SLOVAK:
  570.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_slovak_STRING_ID);
  571.             break;
  572.     #endif /* defined(__MMI_T9_SLOVAK__) || defined(__MMI_ZI_SLOVAK__) || defined(__MMI_CSTAR_SLOVAK__) */  //KP Jerry add "__MMI_CSTAR_SLOVAK__" on 2007-4-6
  573.     #if defined(__MMI_MULTITAP_DUTCH__)
  574.         case INPUT_MODE_MULTITAP_UPPERCASE_DUTCH:
  575.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_DUTCH_STRING_ID);
  576.             break;
  577.         case INPUT_MODE_MULTITAP_LOWERCASE_DUTCH:
  578.         case INPUT_MODE_MMI_LOWERCASE_DUTCH:
  579.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_dutch_STRING_ID);
  580.             break;
  581.     #endif /* defined(__MMI_MULTITAP_DUTCH__) */ 
  582.     #if defined(__MMI_ZI_DUTCH__) || defined(__MMI_T9_DUTCH__) || defined(__MMI_CSTAR_DUTCH__) //KP Jerry add "__MMI_CSTAR_DUTCH__" on 2007-4-6
  583.         case INPUT_MODE_SMART_UPPERCASE_DUTCH:
  584.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_DUTCH_STRING_ID);
  585.             break;
  586.         case INPUT_MODE_SMART_LOWERCASE_DUTCH:
  587.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_dutch_STRING_ID);
  588.             break;
  589.     #endif /* defined(__MMI_ZI_DUTCH__) || defined(__MMI_T9_DUTCH__) || defined(__MMI_CSTAR_DUTCH__) */  //KP Jerry add "__MMI_CSTAR_DUTCH__" on 2007-4-6
  590.     #if defined(__MMI_MULTITAP_NORWEGIAN__)
  591.         case INPUT_MODE_MULTITAP_UPPERCASE_NORWEGIAN:
  592.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_NORWEGIAN_STRING_ID);
  593.             break;
  594.         case INPUT_MODE_MULTITAP_LOWERCASE_NORWEGIAN:
  595.         case INPUT_MODE_MMI_LOWERCASE_NORWEGIAN:
  596.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_norwegian_STRING_ID);
  597.             break;
  598.     #endif /* defined(__MMI_MULTITAP_NORWEGIAN__) */ 
  599.     #if defined(__MMI_T9_NORWEGIAN__) || defined(__MMI_ZI_NORWEGIAN__) || defined(__MMI_CSTAR_NORWEGIAN__) //KP Jerry add "__MMI_CSTAR_NORWEGIAN__" on 2007-4-6
  600.         case INPUT_MODE_SMART_UPPERCASE_NORWEGIAN:
  601.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_NORWEGIAN_STRING_ID);
  602.             break;
  603.         case INPUT_MODE_SMART_LOWERCASE_NORWEGIAN:
  604.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_norwegian_STRING_ID);
  605.             break;
  606.     #endif /* defined(__MMI_T9_NORWEGIAN__) || defined(__MMI_ZI_NORWEGIAN__) || defined(__MMI_CSTAR_NORWEGIAN__) */  //KP Jerry add "__MMI_CSTAR_NORWEGIAN__" on 2007-4-6
  607.     #if defined(__MMI_MULTITAP_SWEDISH__)
  608.         case INPUT_MODE_MULTITAP_UPPERCASE_SWEDISH:
  609.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_SWEDISH_STRING_ID);
  610.             break;
  611.         case INPUT_MODE_MULTITAP_LOWERCASE_SWEDISH:
  612.         case INPUT_MODE_MMI_LOWERCASE_SWEDISH:
  613.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_swedish_STRING_ID);
  614.             break;
  615.     #endif /* defined(__MMI_MULTITAP_SWEDISH__) */ 
  616.     #if defined(__MMI_T9_SWEDISH__) || defined(__MMI_ZI_SWEDISH__) || defined(__MMI_CSTAR_SWEDISH__) //KP Jerry add "__MMI_CSTAR_SWEDISH__" on 2007-4-6
  617.         case INPUT_MODE_SMART_UPPERCASE_SWEDISH:
  618.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_SWEDISH_STRING_ID);
  619.             break;
  620.         case INPUT_MODE_SMART_LOWERCASE_SWEDISH:
  621.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_swedish_STRING_ID);
  622.             break;
  623.     #endif /* defined(__MMI_T9_SWEDISH__) || defined(__MMI_ZI_SWEDISH__) || defined(__MMI_CSTAR_SWEDISH__) */  //KP Jerry add "__MMI_CSTAR_SWEDISH__" on 2007-4-6
  624.     #if defined(__MMI_MULTITAP_CROATIAN__)
  625.         case INPUT_MODE_MULTITAP_UPPERCASE_CROATIAN:
  626.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_CROATIAN_STRING_ID);
  627.             break;
  628.         case INPUT_MODE_MULTITAP_LOWERCASE_CROATIAN:
  629.         case INPUT_MODE_MMI_LOWERCASE_CROATIAN:
  630.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_croatian_STRING_ID);
  631.             break;
  632.     #endif /* defined(__MMI_MULTITAP_CROATIAN__) */ 
  633.     #if defined(__MMI_T9_CROATIAN__) || defined(__MMI_ZI_CROATIAN__) || defined(__MMI_CSTAR_CROATIAN__) //KP Jerry add "__MMI_CSTAR_CROATIAN__" on 2007-4-6
  634.         case INPUT_MODE_SMART_UPPERCASE_CROATIAN:
  635.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_CROATIAN_STRING_ID);
  636.             break;
  637.         case INPUT_MODE_SMART_LOWERCASE_CROATIAN:
  638.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_croatian_STRING_ID);
  639.             break;
  640.     #endif /* defined(__MMI_T9_CROATIAN__) || defined(__MMI_ZI_CROATIAN__) || defined(__MMI_CSTAR_CROATIAN__) */  //KP Jerry add "__MMI_CSTAR_CROATIAN__" on 2007-4-6
  641.     #if defined(__MMI_MULTITAP_ROMANIAN__)
  642.         case INPUT_MODE_MULTITAP_UPPERCASE_ROMANIAN:
  643.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_ROMANIAN_STRING_ID);
  644.             break;
  645.         case INPUT_MODE_MULTITAP_LOWERCASE_ROMANIAN:
  646.         case INPUT_MODE_MMI_LOWERCASE_ROMANIAN:
  647.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_romanian_STRING_ID);
  648.             break;
  649.     #endif /* defined(__MMI_MULTITAP_ROMANIAN__) */ 
  650.     #if defined(__MMI_ZI_ROMANIAN__) || defined(__MMI_T9_ROMANIAN__) || defined(__MMI_CSTAR_ROMANIAN__) //KP Jerry add "__MMI_CSTAR_ROMANIAN__" on 2007-4-6
  651.         case INPUT_MODE_SMART_UPPERCASE_ROMANIAN:
  652.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_ROMANIAN_STRING_ID);
  653.             break;
  654.         case INPUT_MODE_SMART_LOWERCASE_ROMANIAN:
  655.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_romanian_STRING_ID);
  656.             break;
  657.     #endif /* defined(__MMI_ZI_ROMANIAN__) || defined(__MMI_T9_ROMANIAN__) || defined(__MMI_CSTAR_ROMANIAN__) */  //KP Jerry add "__MMI_CSTAR_ROMANIAN__" on 2007-4-6
  658.     #if defined(__MMI_MULTITAP_SLOVENIAN__)
  659.         case INPUT_MODE_MULTITAP_UPPERCASE_SLOVENIAN:
  660.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_SLOVENIAN_STRING_ID);
  661.             break;
  662.         case INPUT_MODE_MULTITAP_LOWERCASE_SLOVENIAN:
  663.         case INPUT_MODE_MMI_LOWERCASE_SLOVENIAN:
  664.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_slovenian_STRING_ID);
  665.             break;
  666.     #endif /* defined(__MMI_MULTITAP_SLOVENIAN__) */ 
  667.     #if defined(__MMI_T9_SLOVENIAN__) || defined(__MMI_ZI_SLOVENIAN__) || defined(__MMI_CSTAR_SLOVENIAN__) //KP Jerry add "__MMI_CSTAR_SLOVENIAN__" on 2007-4-6
  668.         case INPUT_MODE_SMART_UPPERCASE_SLOVENIAN:
  669.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_SLOVENIAN_STRING_ID);
  670.             break;
  671.         case INPUT_MODE_SMART_LOWERCASE_SLOVENIAN:
  672.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_slovenian_STRING_ID);
  673.             break;
  674.     #endif /* defined(__MMI_T9_SLOVENIAN__) || defined(__MMI_ZI_SLOVENIAN__) || defined(__MMI_CSTAR_SLOVENIAN__) */  //KP Jerry add "__MMI_CSTAR_SLOVENIAN__" on 2007-4-6
  675.     #if defined(__MMI_MULTITAP_GREEK__)
  676.         case INPUT_MODE_MULTITAP_UPPERCASE_GREEK:
  677.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_GREEK_STRING_ID);
  678.             break;
  679.         case INPUT_MODE_MULTITAP_LOWERCASE_GREEK:
  680.         case INPUT_MODE_MMI_LOWERCASE_GREEK:
  681.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_greek_STRING_ID);
  682.             break;
  683.     #endif /* defined(__MMI_MULTITAP_GREEK__) */ 
  684.     #if defined(__MMI_T9_GREEK__) || defined(__MMI_ZI_GREEK__) || defined(__MMI_CSTAR_GREEK__) //KP Jerry add "__MMI_CSTAR_GREEK__" on 2007-4-6
  685.         case INPUT_MODE_SMART_UPPERCASE_GREEK:
  686.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_GREEK_STRING_ID);
  687.             break;
  688.         case INPUT_MODE_SMART_LOWERCASE_GREEK:
  689.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_greek_STRING_ID);
  690.             break;
  691.     #endif /* defined(__MMI_T9_GREEK__) || defined(__MMI_ZI_GREEK__) || defined(__MMI_CSTAR_GREEK__) */  //KP Jerry add "__MMI_CSTAR_GREEK__" on 2007-4-6
  692.         case INPUT_MODE_123:
  693.         case INPUT_MODE_MMI_NUMERIC:
  694.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_123_STRING_ID);
  695.             break;
  696.     #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
  697.         case INPUT_MODE_MULTITAP_UPPERCASE_ABC_NO_NUMERIC:
  698.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_ABC_STRING_ID);
  699.             break;
  700.         case INPUT_MODE_MULTITAP_LOWERCASE_ABC_NO_NUMERIC:
  701.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_abc_STRING_ID);
  702.             break;
  703.         case INPUT_MODE_123_SYMBOLS:
  704.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_123_STRING_ID);
  705.             break;
  706.     #endif /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */ 
  707.         case INPUT_MODE_SMART_UPPERCASE_ABC:
  708.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_ABC_STRING_ID);
  709.             break;
  710.         case INPUT_MODE_SMART_LOWERCASE_ABC:
  711.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_abc_STRING_ID);
  712.             break;
  713. #ifdef __MMI_LANG_THAI__      //KP Jerry add on 2007-4-17
  714.         case INPUT_MODE_SMART_THAI:
  715.             inputmode_string = (UI_string_type) get_string(STR_INPUT_METHOD_THAI);
  716.             break;
  717. #endif     //KP Jerry add on 2007-4-17
  718. #ifdef __MMI_LANG_ARABIC__      //KP Jerry add on 2007-4-17
  719.         case INPUT_MODE_SMART_ARABIC:
  720.             inputmode_string = (UI_string_type) get_string(STR_INPUT_METHOD_ARABIC);
  721.             break;
  722. #endif     //KP Jerry add on 2007-4-17
  723. //PMT START PERSIAN
  724. #ifdef __MMI_LANG_PERSIAN__      //KP Jerry add on 2007-4-17
  725.         case INPUT_MODE_SMART_PERSIAN:
  726.             inputmode_string = (UI_string_type) get_string(STR_INPUT_METHOD_PERSIAN);
  727.             break;
  728. #endif     //KP Jerry add on 2007-4-17
  729. //PMT END PERSIAN
  730. #ifdef __MMI_LANG_HINDI__      //KP Jerry add on 2007-4-17
  731.         case INPUT_MODE_SMART_HINDI:
  732.             inputmode_string = (UI_string_type) get_string(WGUI_CATEGORY_HINDI_STRING_ID);
  733.             break;
  734. #endif     //KP Jerry add on 2007-4-17
  735. #ifdef __MMI_LANG_HEBREW__      //KP Jerry add on 2007-4-17
  736.         case INPUT_MODE_SMART_HEBREW:
  737.             inputmode_string = (UI_string_type) get_string(STR_INPUT_METHOD_HEBREW);
  738.             break;
  739. #endif     //KP Jerry add on 2007-4-17
  740.     }
  741.     gui_set_font(f);
  742.     gui_set_text_color(c);
  743.     gui_set_text_clip(0, 0, UI_device_width - 1, UI_device_height - 1);
  744. #ifdef __BW_MMI__
  745.     gui_move_text_cursor(2, 2);
  746.     gui_print_text(inputmode_string);
  747. #else /* __BW_MMI__ */ 
  748. #if defined (__MMI_T9__) || defined(__MMI_ITAP__) || defined(__MMI_KA__)|| defined(__MMI_CSTAR__)     //KP Jerry add "__MMI_CSTAR__" on 2007-3-8
  749.     if (wgui_inputbox_information_icon == NULL)
  750.     {
  751.         if (!r2lMMIFlag)
  752.         {
  753.             x = x1 + 2;
  754.         }
  755.         else
  756.         {
  757.             x = x2 - 2;
  758.         }
  759.     }
  760.     else
  761.     {
  762.         gui_measure_image(wgui_inputbox_information_icon, &width, &height);
  763.         if (!r2lMMIFlag)
  764.         {
  765.         #if !defined(__MMI_TOUCH_SCREEN__)
  766.             gui_show_transparent_image(x1 + 1, info_bar_y + 1, wgui_inputbox_information_icon, 0);
  767.         #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  768.             gui_show_transparent_image(
  769.                 x1 + 1,
  770.                 info_bar_y + (info_bar_height - height) / 2,
  771.                 wgui_inputbox_information_icon,
  772.                 0);
  773.         #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  774.             x = x1 + width + 2;
  775.         }
  776.         else
  777.         {
  778.         #if !defined(__MMI_TOUCH_SCREEN__)
  779.             gui_show_transparent_image(
  780.                 x2 - 1 - width,
  781.                 info_bar_y + 1,
  782.                 wgui_inputbox_information_icon,
  783.                 0);
  784.         #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  785.             gui_show_transparent_image(
  786.                 x2 - 1 - width,
  787.                 info_bar_y + (info_bar_height - height) / 2,
  788.                 wgui_inputbox_information_icon,
  789.                 0);
  790.         #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  791.             x = x2 - 2 - width;
  792.         }
  793.     }
  794. #elif defined(__MMI_ZI__)
  795.     if (wgui_inputbox_information_icon == NULL)
  796.     {
  797.         if (!r2lMMIFlag)
  798.         {
  799.             x = x1 + 2;
  800.         }
  801.         else
  802.         {
  803.             x = x2 - 2;
  804.         }
  805.     }
  806.     else
  807.     {
  808.         gui_measure_image(get_image(WGUI_INPUT_INFORMATION_ICON1), &width, &height);
  809.         if (!r2lMMIFlag)
  810.         {
  811.         #if !defined(__MMI_TOUCH_SCREEN__)
  812.             gui_show_transparent_image(
  813.                 x1 + 1,
  814.                 info_bar_y + 1,
  815.                 get_image(WGUI_INPUT_INFORMATION_ICON1),
  816.                 0);
  817.         #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  818.             gui_show_transparent_image(
  819.                 x1 + 1,
  820.                 info_bar_y + (info_bar_height - height) / 2,
  821.                 get_image(WGUI_INPUT_INFORMATION_ICON1),
  822.                 0);
  823.         #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  824.             x = x1 + width + 2;
  825.         }
  826.         else
  827.         {
  828.         #if !defined(__MMI_TOUCH_SCREEN__)
  829.             gui_show_transparent_image(
  830.                 x2 - 1 - width,
  831.                 info_bar_y + 1,
  832.                 get_image(WGUI_INPUT_INFORMATION_ICON1),
  833.                 0);
  834.         #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  835.             gui_show_transparent_image(
  836.                 x2 - 1 - width,
  837.                 info_bar_y + (info_bar_height - height) / 2,
  838.                 get_image(WGUI_INPUT_INFORMATION_ICON1),
  839.                 0);
  840.         #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  841.             x = x2 - 2 - width;
  842.         }
  843.     }
  844. #else 
  845.     if (wgui_inputbox_information_icon == NULL)
  846.     {
  847.         if (!r2lMMIFlag)
  848.         {
  849.             x = x1 + 2;
  850.         }
  851.         else
  852.         {
  853.             x = x2 - 2;
  854.         }
  855.     }
  856.     else
  857.     {
  858.         gui_measure_image(wgui_inputbox_information_icon, &width, &height);
  859.         if (!r2lMMIFlag)
  860.         {
  861.         #if !defined(__MMI_TOUCH_SCREEN__)
  862.             gui_show_transparent_image(x1 + 1, info_bar_y + 1, wgui_inputbox_information_icon, 0);
  863.         #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  864.             gui_show_transparent_image(
  865.                 x1 + 1,
  866.                 info_bar_y + (info_bar_height - height) / 2,
  867.                 wgui_inputbox_information_icon,
  868.                 0);
  869.         #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  870.             x = x1 + width + 2;
  871.         }
  872.         else
  873.         {
  874.         #if !defined(__MMI_TOUCH_SCREEN__)
  875.             gui_show_transparent_image(
  876.                 x2 - 1 - width,
  877.                 info_bar_y + 1,
  878.                 wgui_inputbox_information_icon,
  879.                 0);
  880.         #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  881.             gui_show_transparent_image(
  882.                 x2 - 1 - width,
  883.                 info_bar_y + (info_bar_height - height) / 2,
  884.                 wgui_inputbox_information_icon,
  885.                 0);
  886.         #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  887.             x = x2 - 2 - width;
  888.         }
  889.     }
  890. #endif 
  891. #if defined(__MMI_TOUCH_SCREEN__)
  892.     /*  3 is from display icon shift position by adjusting x value
  893.      *  4 is draw rectangle width in touch screen case
  894.      *  
  895.      */
  896.     wgui_information_bar_input_mode_display_width = width + 7;
  897.     wgui_information_bar_input_mode_display_height = height;
  898.     gui_measure_string(inputmode_string, &width, &height);
  899.     #ifdef __MMI_T9__
  900.     /*  T9 chinese input mode uses icon instead of inputmode_string and
  901.      *  no need to adjust x value ,so previous +7 ,now -7
  902.      */
  903.     if(width == 0) 
  904.     {
  905.         wgui_information_bar_input_mode_display_width -= 7;
  906.     }
  907.     #endif
  908.     rect_height = gui_get_character_height();
  909.     wgui_information_bar_input_mode_display_width += width;
  910.     if(rect_height > wgui_information_bar_input_mode_display_height)
  911.     {
  912.         wgui_information_bar_input_mode_display_height = rect_height;
  913.     }
  914. #endif /* defined(__MMI_TOUCH_SCREEN__) */ 
  915.     switch (MMI_current_input_mode)
  916.     {
  917.         case INPUT_MODE_MULTITAP_UPPERCASE_ABC:
  918.         case INPUT_MODE_MULTITAP_LOWERCASE_ABC:
  919.         case INPUT_MODE_123:
  920.         case INPUT_MODE_MMI_LOWERCASE_ABC:  /* Elvis, for quick search */
  921.         case INPUT_MODE_MMI_NUMERIC:        /* Elvis, for quick search */
  922.     #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
  923.         case INPUT_MODE_MULTITAP_UPPERCASE_ABC_NO_NUMERIC:
  924.         case INPUT_MODE_MULTITAP_LOWERCASE_ABC_NO_NUMERIC:
  925.         case INPUT_MODE_123_SYMBOLS:
  926.     #endif /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */ 
  927.     #if defined(__MMI_MULTITAP_THAI__)
  928.         case INPUT_MODE_MULTITAP_THAI:
  929.         case INPUT_MODE_MMI_MULTITAP_THAI:
  930.     #endif /* defined(__MMI_MULTITAP_THAI__) */ 
  931.     #if defined(__MMI_MULTITAP_SPANISH__)
  932.         case INPUT_MODE_MULTITAP_UPPERCASE_SPANISH:
  933.         case INPUT_MODE_MULTITAP_LOWERCASE_SPANISH:
  934.         case INPUT_MODE_MMI_LOWERCASE_SPANISH:
  935.     #endif /* defined(__MMI_MULTITAP_SPANISH__) */ 
  936.     #if defined(__MMI_MULTITAP_DANISH__)
  937.         case INPUT_MODE_MULTITAP_UPPERCASE_DANISH:
  938.         case INPUT_MODE_MULTITAP_LOWERCASE_DANISH:
  939.         case INPUT_MODE_MMI_LOWERCASE_DANISH:
  940.     #endif /* defined(__MMI_MULTITAP_DANISH__) */ 
  941.     #if defined(__MMI_MULTITAP_POLISH__)
  942.         case INPUT_MODE_MULTITAP_UPPERCASE_POLISH:
  943.         case INPUT_MODE_MULTITAP_LOWERCASE_POLISH:
  944.         case INPUT_MODE_MMI_LOWERCASE_POLISH:
  945.     #endif /* defined(__MMI_MULTITAP_POLISH__) */ 
  946.     #if defined(__MMI_MULTITAP_FRENCH__)
  947.         case INPUT_MODE_MULTITAP_UPPERCASE_FRENCH:
  948.         case INPUT_MODE_MULTITAP_LOWERCASE_FRENCH:
  949.         case INPUT_MODE_MMI_LOWERCASE_FRENCH:
  950.     #endif /* defined(__MMI_MULTITAP_FRENCH__) */ 
  951.     #if defined(__MMI_MULTITAP_GERMAN__)
  952.         case INPUT_MODE_MULTITAP_UPPERCASE_GERMAN:
  953.         case INPUT_MODE_MULTITAP_LOWERCASE_GERMAN:
  954.         case INPUT_MODE_MMI_LOWERCASE_GERMAN:
  955.     #endif /* defined(__MMI_MULTITAP_GERMAN__) */ 
  956.     #if defined(__MMI_MULTITAP_ITALIAN__)
  957.         case INPUT_MODE_MULTITAP_UPPERCASE_ITALIAN:
  958.         case INPUT_MODE_MULTITAP_LOWERCASE_ITALIAN:
  959.         case INPUT_MODE_MMI_LOWERCASE_ITALIAN:
  960.     #endif /* defined(__MMI_MULTITAP_ITALIAN__) */ 
  961.     #if defined(__MMI_MULTITAP_RUSSIAN__)
  962.         case INPUT_MODE_MULTITAP_UPPERCASE_RUSSIAN:
  963.         case INPUT_MODE_MULTITAP_LOWERCASE_RUSSIAN:
  964.         case INPUT_MODE_MMI_LOWERCASE_RUSSIAN:
  965.     #endif /* defined(__MMI_MULTITAP_RUSSIAN__) */ 
  966.     #if defined(__MMI_MULTITAP_BULGARIAN__)
  967.         case INPUT_MODE_MULTITAP_UPPERCASE_BULGARIAN:
  968.         case INPUT_MODE_MULTITAP_LOWERCASE_BULGARIAN:
  969.         case INPUT_MODE_MMI_LOWERCASE_BULGARIAN:
  970.     #endif /* defined(__MMI_MULTITAP_BULGARIAN__) */ 
  971.     #if defined(__MMI_MULTITAP_TURKISH__)
  972.         case INPUT_MODE_MULTITAP_UPPERCASE_TURKISH:
  973.         case INPUT_MODE_MULTITAP_LOWERCASE_TURKISH:
  974.         case INPUT_MODE_MMI_LOWERCASE_TURKISH:
  975.     #endif /* defined(__MMI_MULTITAP_TURKISH__) */ 
  976.     #if defined(__MMI_MULTITAP_PORTUGUESE__)
  977.         case INPUT_MODE_MULTITAP_UPPERCASE_PORTUGUESE:
  978.         case INPUT_MODE_MULTITAP_LOWERCASE_PORTUGUESE:
  979.         case INPUT_MODE_MMI_LOWERCASE_PORTUGUESE:
  980.     #endif /* defined(__MMI_MULTITAP_PORTUGUESE__) */ 
  981.     #if defined(__MMI_MULTITAP_HINDI__)
  982.         case INPUT_MODE_MULTITAP_HINDI:
  983.     #endif 
  984.             /* PMT RAKESH START 20061006 */
  985.     #if defined (__MMI_MULTITAP_MARATHI__)
  986.         case INPUT_MODE_MULTITAP_MARATHI:
  987.     #endif 
  988.             /* PMT RAKESH END 20061006 */
  989.     #if defined(__MMI_MULTITAP_INDONESIAN__)
  990.         case INPUT_MODE_MULTITAP_UPPERCASE_INDONESIAN:
  991.         case INPUT_MODE_MULTITAP_LOWERCASE_INDONESIAN:
  992.         case INPUT_MODE_MMI_LOWERCASE_INDONESIAN:
  993.     #endif /* defined(__MMI_MULTITAP_INDONESIAN__) */ 
  994.     #if defined(__MMI_MULTITAP_CZECH__)
  995.         case INPUT_MODE_MULTITAP_UPPERCASE_CZECH:
  996.         case INPUT_MODE_MULTITAP_LOWERCASE_CZECH:
  997.         case INPUT_MODE_MMI_LOWERCASE_CZECH:
  998.     #endif /* defined(__MMI_MULTITAP_CZECH__) */ 
  999.     #if defined(__MMI_MULTITAP_MALAY__)
  1000.         case INPUT_MODE_MULTITAP_UPPERCASE_MALAY:
  1001.         case INPUT_MODE_MULTITAP_LOWERCASE_MALAY:
  1002.         case INPUT_MODE_MMI_LOWERCASE_MALAY:
  1003.     #endif /* defined(__MMI_MULTITAP_MALAY__) */ 
  1004.     #if defined(__MMI_MULTITAP_VIETNAMESE__)
  1005.         case INPUT_MODE_MULTITAP_UPPERCASE_VIETNAMESE:
  1006.         case INPUT_MODE_MULTITAP_LOWERCASE_VIETNAMESE:
  1007.         case INPUT_MODE_MMI_LOWERCASE_VIETNAMESE:
  1008.     #endif /* defined(__MMI_MULTITAP_VIETNAMESE__) */ 
  1009.     #if defined(__MMI_MULTITAP_FINNISH__)
  1010.         case INPUT_MODE_MULTITAP_UPPERCASE_FINNISH:
  1011.         case INPUT_MODE_MULTITAP_LOWERCASE_FINNISH:
  1012.         case INPUT_MODE_MMI_LOWERCASE_FINNISH:
  1013.     #endif /* defined(__MMI_MULTITAP_FINNISH__) */ 
  1014.     #if defined(__MMI_MULTITAP_HUNGARIAN__)
  1015.         case INPUT_MODE_MULTITAP_UPPERCASE_HUNGARIAN:
  1016.         case INPUT_MODE_MULTITAP_LOWERCASE_HUNGARIAN:
  1017.         case INPUT_MODE_MMI_LOWERCASE_HUNGARIAN:
  1018.     #endif /* defined(__MMI_MULTITAP_HUNGARIAN__) */ 
  1019.     #if defined(__MMI_MULTITAP_SWEDISH__)
  1020.         case INPUT_MODE_MULTITAP_UPPERCASE_SWEDISH:
  1021.         case INPUT_MODE_MULTITAP_LOWERCASE_SWEDISH:
  1022.         case INPUT_MODE_MMI_LOWERCASE_SWEDISH:
  1023.     #endif /* defined(__MMI_MULTITAP_SWEDISH__) */ 
  1024.     #if defined(__MMI_MULTITAP_HEBREW__)
  1025.         case INPUT_MODE_MULTITAP_HEBREW:
  1026.         case INPUT_MODE_MMI_MULTITAP_HEBREW:
  1027.     #endif /* defined(__MMI_MULTITAP_HEBREW__) */ 
  1028.     #if defined(__MMI_MULTITAP_SLOVAK__)
  1029.         case INPUT_MODE_MULTITAP_UPPERCASE_SLOVAK:
  1030.         case INPUT_MODE_MULTITAP_LOWERCASE_SLOVAK:
  1031.         case INPUT_MODE_MMI_LOWERCASE_SLOVAK:
  1032.     #endif /* defined(__MMI_MULTITAP_SLOVAK__) */ 
  1033.     #if defined(__MMI_MULTITAP_DUTCH__)
  1034.         case INPUT_MODE_MULTITAP_UPPERCASE_DUTCH:
  1035.         case INPUT_MODE_MULTITAP_LOWERCASE_DUTCH:
  1036.         case INPUT_MODE_MMI_LOWERCASE_DUTCH:
  1037.     #endif /* defined(__MMI_MULTITAP_DUTCH__) */ 
  1038.     #if defined(__MMI_MULTITAP_NORWEGIAN__)
  1039.         case INPUT_MODE_MULTITAP_UPPERCASE_NORWEGIAN:
  1040.         case INPUT_MODE_MULTITAP_LOWERCASE_NORWEGIAN:
  1041.         case INPUT_MODE_MMI_LOWERCASE_NORWEGIAN:
  1042.     #endif /* defined(__MMI_MULTITAP_NORWEGIAN__) */ 
  1043.     #if defined(__MMI_MULTITAP_ARABIC__)
  1044.         case INPUT_MODE_MULTITAP_ARABIC:
  1045.         case INPUT_MODE_MMI_MULTITAP_ARABIC:
  1046.     #endif /* defined(__MMI_MULTITAP_ARABIC__) */ 
  1047. //PMT START PERSIAN
  1048.     #if defined(__MMI_MULTITAP_PERSIAN__)
  1049.         case INPUT_MODE_MULTITAP_PERSIAN:
  1050.         case INPUT_MODE_MMI_MULTITAP_PERSIAN:
  1051.     #endif /* defined(__MMI_MULTITAP_ARABIC__) */ 
  1052. //PMT END PERSIAN
  1053.     #if defined(__MMI_MULTITAP_CROATIAN__)
  1054.         case INPUT_MODE_MULTITAP_UPPERCASE_CROATIAN:
  1055.         case INPUT_MODE_MULTITAP_LOWERCASE_CROATIAN:
  1056.         case INPUT_MODE_MMI_LOWERCASE_CROATIAN:
  1057.     #endif /* defined(__MMI_MULTITAP_CROATIAN__) */ 
  1058.     #if defined(__MMI_MULTITAP_ROMANIAN__)
  1059.         case INPUT_MODE_MULTITAP_UPPERCASE_ROMANIAN:
  1060.         case INPUT_MODE_MULTITAP_LOWERCASE_ROMANIAN:
  1061.         case INPUT_MODE_MMI_LOWERCASE_ROMANIAN:
  1062.     #endif /* defined(__MMI_MULTITAP_ROMANIAN__) */ 
  1063.     #if defined(__MMI_MULTITAP_SLOVENIAN__)
  1064.         case INPUT_MODE_MULTITAP_UPPERCASE_SLOVENIAN:
  1065.         case INPUT_MODE_MULTITAP_LOWERCASE_SLOVENIAN:
  1066.         case INPUT_MODE_MMI_LOWERCASE_SLOVENIAN:
  1067.     #endif /* defined(__MMI_MULTITAP_SLOVENIAN__) */ 
  1068.     #if defined(__MMI_MULTITAP_GREEK__)
  1069.         case INPUT_MODE_MULTITAP_UPPERCASE_GREEK:
  1070.         case INPUT_MODE_MULTITAP_LOWERCASE_GREEK:
  1071.         case INPUT_MODE_MMI_LOWERCASE_GREEK:
  1072.     #endif /* defined(__MMI_MULTITAP_GREEK__) */ 
  1073.             if (MMI_current_input_mode == INPUT_MODE_MULTITAP_HINDI)
  1074.             {
  1075.                 gui_move_text_cursor(x, info_bar_y);
  1076.             }
  1077.             /* PMT RAKESH START 20061006 */
  1078.             else if (MMI_current_input_mode == INPUT_MODE_MULTITAP_MARATHI)
  1079.             {
  1080.                 gui_move_text_cursor(x, wgui_inputbox_information_bar_y + 1);
  1081.             }
  1082.             /* PMT RAKESH END 20061006 */
  1083.             else
  1084.         #if !defined(__MMI_TOUCH_SCREEN__)
  1085.                 gui_move_text_cursor(x, info_bar_y + 3);
  1086.         #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1087.             {
  1088.                 gui_draw_filled_area(
  1089.                     x + 2,
  1090.                     info_bar_y + (info_bar_height - rect_height) / 2 - 1,
  1091.                     x + 4 + width,
  1092.                     info_bar_y + (info_bar_height + rect_height) / 2,
  1093.                     &information_bar_BG_filler);
  1094.                 gui_move_text_cursor(
  1095.                     x + 3,
  1096.                     info_bar_y + (info_bar_height - height) / 2);
  1097.             }
  1098.         #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1099.             gui_print_text(inputmode_string);
  1100.             break;
  1101.         #if defined (__MMI_T9__) || defined(__MMI_ITAP__) || defined(__MMI_KA__)|| defined(__MMI_CSTAR__)     //KP Jerry add "__MMI_CSTAR__" on 2007-3-8
  1102.         case INPUT_MODE_SMART_UPPERCASE_ABC:
  1103.         case INPUT_MODE_SMART_LOWERCASE_ABC:
  1104.         #if defined (__MMI_T9_THAI__) || defined(__MMI_CSTAR_THAI__) //KP Jerry add "__MMI_CSTAR_THAI__" on 2007-4-6
  1105.         case INPUT_MODE_SMART_THAI:
  1106.         #endif 
  1107.         #if defined(__MMI_T9_SPANISH__) || defined(__MMI_CSTAR_SPANISH__) //KP Jerry add "__MMI_CSTAR_SPANISH__" on 2007-4-6
  1108.         case INPUT_MODE_SMART_UPPERCASE_SPANISH:
  1109.         case INPUT_MODE_SMART_LOWERCASE_SPANISH:
  1110.         #endif /* defined(__MMI_T9_SPANISH__) || defined(__MMI_CSTAR_SPANISH__) */  //KP Jerry add "__MMI_CSTAR_SPANISH__" on 2007-4-6
  1111.         #if defined(__MMI_T9_DANISH__) || defined(__MMI_CSTAR_DANISH__) //KP Jerry add "__MMI_CSTAR_DANISH__" on 2007-4-6
  1112.         case INPUT_MODE_SMART_UPPERCASE_DANISH:
  1113.         case INPUT_MODE_SMART_LOWERCASE_DANISH:
  1114.         #endif /* defined(__MMI_T9_DANISH__) || defined(__MMI_CSTAR_DANISH__) */  //KP Jerry add "__MMI_CSTAR_DANISH__" on 2007-4-6
  1115.         #if defined(__MMI_T9_POLISH__) || defined(__MMI_CSTAR_POLISH__) //KP Jerry add "__MMI_CSTAR_POLISH__" on 2007-4-6
  1116.         case INPUT_MODE_SMART_UPPERCASE_POLISH:
  1117.         case INPUT_MODE_SMART_LOWERCASE_POLISH:
  1118.         #endif /* defined(__MMI_T9_POLISH__) || defined(__MMI_CSTAR_POLISH__) */  //KP Jerry add "__MMI_CSTAR_POLISH__" on 2007-4-6
  1119.         #if defined(__MMI_T9_FRENCH__) || defined(__MMI_CSTAR_FRENCH__) //KP Jerry add "__MMI_CSTAR_FRENCH__" on 2007-4-6
  1120.         case INPUT_MODE_SMART_UPPERCASE_FRENCH:
  1121.         case INPUT_MODE_SMART_LOWERCASE_FRENCH:
  1122.         #endif /* defined(__MMI_T9_FRENCH__) || defined(__MMI_CSTAR_FRENCH__) */  //KP Jerry add "__MMI_CSTAR_FRENCH__" on 2007-4-6
  1123.         #if defined(__MMI_T9_GERMAN__) || defined(__MMI_CSTAR_GERMAN__) //KP Jerry add "__MMI_CSTAR_GERMAN__" on 2007-4-6
  1124.         case INPUT_MODE_SMART_UPPERCASE_GERMAN:
  1125.         case INPUT_MODE_SMART_LOWERCASE_GERMAN:
  1126.         #endif /* defined(__MMI_T9_GERMAN__) || defined(__MMI_CSTAR_GERMAN__) */  //KP Jerry add "__MMI_CSTAR_GERMAN__" on 2007-4-6
  1127.         #if defined(__MMI_T9_ITALIAN__) || defined(__MMI_CSTAR_ITALIAN__) //KP Jerry add "__MMI_CSTAR_ITALIAN__" on 2007-4-6
  1128.         case INPUT_MODE_SMART_UPPERCASE_ITALIAN:
  1129.         case INPUT_MODE_SMART_LOWERCASE_ITALIAN:
  1130.         #endif /* defined(__MMI_T9_ITALIAN__) || defined(__MMI_CSTAR_ITALIAN__) */  //KP Jerry add "__MMI_CSTAR_ITALIAN__" on 2007-4-6
  1131.         #if defined(__MMI_T9_RUSSIAN__) || defined(__MMI_CSTAR_RUSSIAN__) //KP Jerry add "__MMI_CSTAR_RUSSIAN__" on 2007-4-6
  1132.         case INPUT_MODE_SMART_UPPERCASE_RUSSIAN:
  1133.         case INPUT_MODE_SMART_LOWERCASE_RUSSIAN:
  1134.         #endif /* defined(__MMI_T9_RUSSIAN__) || defined(__MMI_CSTAR_RUSSIAN__) */  //KP Jerry add "__MMI_CSTAR_RUSSIAN__" on 2007-4-6
  1135.         #if defined(__MMI_T9_BULGARIAN__) || defined(__MMI_CSTAR_BULGARIAN__) //KP Jerry add "__MMI_CSTAR_BULGARIAN__" on 2007-4-6
  1136.         case INPUT_MODE_SMART_UPPERCASE_BULGARIAN:
  1137.         case INPUT_MODE_SMART_LOWERCASE_BULGARIAN:
  1138.         #endif /* defined(__MMI_T9_BULGARIAN__) || defined(__MMI_CSTAR_BULGARIAN__) */  //KP Jerry add "__MMI_CSTAR_BULGARIAN__" on 2007-4-6
  1139.         #if defined(__MMI_T9_VIETNAMESE__) || defined(__MMI_CSTAR_VIETNAMESE__) //KP Jerry add "__MMI_CSTAR_VIETNAMESE__" on 2007-4-6
  1140.         case INPUT_MODE_SMART_UPPERCASE_VIETNAMESE:
  1141.         case INPUT_MODE_SMART_LOWERCASE_VIETNAMESE:
  1142.         #endif /* defined(__MMI_T9_VIETNAMESE__) || defined(__MMI_CSTAR_VIETNAMESE__) */  //KP Jerry add "__MMI_CSTAR_VIETNAMESE__" on 2007-4-6
  1143.         #if defined(__MMI_T9_INDONESIAN__) || defined(__MMI_CSTAR_INDONESIAN__) //KP Jerry add "__MMI_CSTAR_INDONESIAN__" on 2007-4-6
  1144.         case INPUT_MODE_SMART_UPPERCASE_INDONESIAN:
  1145.         case INPUT_MODE_SMART_LOWERCASE_INDONESIAN:
  1146.         #endif /* defined(__MMI_T9_INDONESIAN__) || defined(__MMI_CSTAR_INDONESIAN__) */  //KP Jerry add "__MMI_CSTAR_INDONESIAN__" on 2007-4-6
  1147.         #if defined(__MMI_T9_TURKISH__) || defined(__MMI_CSTAR_TURKISH__) //KP Jerry add "__MMI_CSTAR_TURKISH__" on 2007-4-6
  1148.         case INPUT_MODE_SMART_UPPERCASE_TURKISH:
  1149.         case INPUT_MODE_SMART_LOWERCASE_TURKISH:
  1150.         #endif /* defined(__MMI_T9_TURKISH__) || defined(__MMI_CSTAR_TURKISH__) */  //KP Jerry add "__MMI_CSTAR_TURKISH__" on 2007-4-6
  1151.         #if defined(__MMI_T9_CZECH__) || defined(__MMI_CSTAR_CZECH__) //KP Jerry add "__MMI_CSTAR_CZECH__" on 2007-4-6
  1152.         case INPUT_MODE_SMART_UPPERCASE_CZECH:
  1153.         case INPUT_MODE_SMART_LOWERCASE_CZECH:
  1154.         #endif /* defined(__MMI_T9_CZECH__) || defined(__MMI_CSTAR_CZECH__) */  //KP Jerry add "__MMI_CSTAR_CZECH__" on 2007-4-6
  1155.         #if defined(__MMI_T9_PORTUGUESE__) || defined(__MMI_CSTAR_PORTUGUESE__) //KP Jerry add "__MMI_CSTAR_PORTUGUESE__" on 2007-4-6
  1156.         case INPUT_MODE_SMART_UPPERCASE_PORTUGUESE:
  1157.         case INPUT_MODE_SMART_LOWERCASE_PORTUGUESE:
  1158.         #endif /* defined(__MMI_T9_PORTUGUESE__) || defined(__MMI_CSTAR_PORTUGUESE__) */  //KP Jerry add "__MMI_CSTAR_PORTUGUESE__" on 2007-4-6
  1159.         #if defined(__MMI_T9_FINNISH__) || defined(__MMI_CSTAR_FINNISH__) //KP Jerry add "__MMI_CSTAR_FINNISH__" on 2007-4-6
  1160.         case INPUT_MODE_SMART_UPPERCASE_FINNISH:
  1161.         case INPUT_MODE_SMART_LOWERCASE_FINNISH:
  1162.         #endif /* defined(__MMI_T9_FINNISH__) || defined(__MMI_CSTAR_FINNISH__) */  //KP Jerry add "__MMI_CSTAR_FINNISH__" on 2007-4-6
  1163.         #if defined(__MMI_T9_HUNGARIAN__) || defined(__MMI_CSTAR_HUNGARIAN__) //KP Jerry add "__MMI_CSTAR_HUNGARIAN__" on 2007-4-6
  1164.         case INPUT_MODE_SMART_UPPERCASE_HUNGARIAN:
  1165.         case INPUT_MODE_SMART_LOWERCASE_HUNGARIAN:
  1166.         #endif /* defined(__MMI_T9_HUNGARIAN__) || defined(__MMI_CSTAR_HUNGARIAN__) */  //KP Jerry add "__MMI_CSTAR_HUNGARIAN__" on 2007-4-6
  1167.         #if defined(__MMI_T9_ARABIC__) || defined(__MMI_CSTAR_ARABIC__) //KP Jerry add "__MMI_CSTAR_ARABIC__" on 2007-4-6
  1168.         case INPUT_MODE_SMART_ARABIC:
  1169.         #endif 
  1170.         #if defined(__MMI_T9_GREEK__) || defined(__MMI_CSTAR_GREEK__) //KP Jerry add "__MMI_CSTAR_GREEK__" on 2007-4-6
  1171.         case INPUT_MODE_SMART_UPPERCASE_GREEK:
  1172.         case INPUT_MODE_SMART_LOWERCASE_GREEK:
  1173.         #endif /* defined(__MMI_T9_GREEK__) || defined(__MMI_CSTAR_GREEK__) */  //KP Jerry add "__MMI_CSTAR_GREEK__" on 2007-4-6
  1174.         #if defined(__MMI_T9_HEBREW__) || defined(__MMI_CSTAR_HEBREW__) //KP Jerry add "__MMI_CSTAR_HEBREW__" on 2007-4-6
  1175.         case INPUT_MODE_SMART_HEBREW:
  1176.         #endif 
  1177.         #if defined(__MMI_T9_HINDI__) || defined(__MMI_CSTAR_HINDI__) //KP Jerry add "__MMI_CSTAR_HINDI__" on 2007-4-6
  1178.         case INPUT_MODE_SMART_HINDI:
  1179.         #endif 
  1180.         #if defined(__MMI_T9_NORWEGIAN__) || defined(__MMI_CSTAR_NORWEGIAN__) //KP Jerry add "__MMI_CSTAR_NORWEGIAN__" on 2007-4-6
  1181.         case INPUT_MODE_SMART_UPPERCASE_NORWEGIAN:
  1182.         case INPUT_MODE_SMART_LOWERCASE_NORWEGIAN:
  1183.         #endif /* defined(__MMI_T9_NORWEGIAN__) || defined(__MMI_CSTAR_NORWEGIAN__) */  //KP Jerry add "__MMI_CSTAR_NORWEGIAN__" on 2007-4-6
  1184.         #if defined(__MMI_T9_DUTCH__) || defined(__MMI_CSTAR_DUTCH__) //KP Jerry add "__MMI_CSTAR_DUTCH__" on 2007-4-6
  1185.         case INPUT_MODE_SMART_UPPERCASE_DUTCH:
  1186.         case INPUT_MODE_SMART_LOWERCASE_DUTCH:
  1187.         #endif /* defined(__MMI_T9_DUTCH__) || defined(__MMI_CSTAR_DUTCH__) */  //KP Jerry add "__MMI_CSTAR_DUTCH__" on 2007-4-6
  1188.         #if defined(__MMI_T9_SLOVENIAN__) || defined(__MMI_CSTAR_SLOVENIAN__) //KP Jerry add "__MMI_CSTAR_SLOVENIAN__" on 2007-4-6
  1189.         case INPUT_MODE_SMART_UPPERCASE_SLOVENIAN:
  1190.         case INPUT_MODE_SMART_LOWERCASE_SLOVENIAN:
  1191.         #endif /* defined(__MMI_T9_SLOVENIAN__) || defined(__MMI_CSTAR_SLOVENIAN__) */  //KP Jerry add "__MMI_CSTAR_SLOVENIAN__" on 2007-4-6
  1192.         #if defined(__MMI_T9_SWEDISH__) || defined(__MMI_CSTAR_SWEDISH__) //KP Jerry add "__MMI_CSTAR_SWEDISH__" on 2007-4-6
  1193.         case INPUT_MODE_SMART_UPPERCASE_SWEDISH:
  1194.         case INPUT_MODE_SMART_LOWERCASE_SWEDISH:
  1195.         #endif /* defined(__MMI_T9_SWEDISH__) || defined(__MMI_CSTAR_SWEDISH__) */  //KP Jerry add "__MMI_CSTAR_SWEDISH__" on 2007-4-6
  1196.         #if defined(__MMI_T9_MALAY__) || defined(__MMI_CSTAR_MALAY__) //KP Jerry add "__MMI_CSTAR_MALAY__" on 2007-4-6
  1197.         case INPUT_MODE_SMART_UPPERCASE_MALAY:
  1198.         case INPUT_MODE_SMART_LOWERCASE_MALAY:
  1199.         #endif /* defined(__MMI_T9_MALAY__) || defined(__MMI_CSTAR_MALAY__) */  //KP Jerry add "__MMI_CSTAR_MALAY__" on 2007-4-6
  1200.         #if defined(__MMI_T9_CROATIAN__) || defined(__MMI_CSTAR_CROATIAN__) //KP Jerry add "__MMI_CSTAR_CROATIAN__" on 2007-4-6
  1201.         case INPUT_MODE_SMART_UPPERCASE_CROATIAN:
  1202.         case INPUT_MODE_SMART_LOWERCASE_CROATIAN:
  1203.         #endif /* defined(__MMI_T9_CROATIAN__) || defined(__MMI_CSTAR_CROATIAN__) */  //KP Jerry add "__MMI_CSTAR_CROATIAN__" on 2007-4-6
  1204.         #if defined(__MMI_T9_SLOVAK__) || defined(__MMI_CSTAR_SLOVAK__) //KP Jerry add "__MMI_CSTAR_SLOVAK__" on 2007-4-6
  1205.         case INPUT_MODE_SMART_UPPERCASE_SLOVAK:
  1206.         case INPUT_MODE_SMART_LOWERCASE_SLOVAK:
  1207.         #endif /* defined(__MMI_T9_SLOVAK__) || defined(__MMI_CSTAR_SLOVAK__) */  //KP Jerry add "__MMI_CSTAR_SLOVAK__" on 2007-4-6
  1208.         #if defined(__MMI_T9_ROMANIAN__) || defined(__MMI_CSTAR_ROMANIAN__) //KP Jerry add "__MMI_CSTAR_ROMANIAN__" on 2007-4-6
  1209.         case INPUT_MODE_SMART_UPPERCASE_ROMANIAN:
  1210.         case INPUT_MODE_SMART_LOWERCASE_ROMANIAN:
  1211.         #endif /* defined(__MMI_T9_ROMANIAN__) || defined(__MMI_CSTAR_ROMANIAN__) */  //KP Jerry add "__MMI_CSTAR_ROMANIAN__" on 2007-4-6
  1212.             if (MMI_current_input_mode == INPUT_MODE_SMART_HINDI)
  1213.             {
  1214.                 gui_move_text_cursor(x, info_bar_y);
  1215.             }
  1216.             else
  1217.         #if !defined(__MMI_TOUCH_SCREEN__)
  1218.                 gui_move_text_cursor(x, info_bar_y + 3);
  1219.         #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1220.                 gui_move_text_cursor(
  1221.                     x,
  1222.                     info_bar_y + (info_bar_height - height) / 2);
  1223.         #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1224.             gui_print_text(inputmode_string);
  1225.             break;
  1226.         #elif defined(__MMI_ZI__)
  1227.         case INPUT_MODE_SMART_UPPERCASE_ABC:
  1228.         case INPUT_MODE_SMART_LOWERCASE_ABC:
  1229.         case INPUT_MODE_SMART_THAI:
  1230.             /* MTK Elvis for R2L characters */
  1231.         case INPUT_MODE_SMART_ARABIC:
  1232. //PMT START PERSIAN
  1233.         case INPUT_MODE_SMART_PERSIAN:
  1234. //PMT END PERSIAN
  1235.         case INPUT_MODE_SMART_HINDI:
  1236.         case INPUT_MODE_SMART_HEBREW:
  1237.         #if defined(__MMI_ZI_EU_SPANISH__) || defined(__MMI_ZI_SA_SPANISH__)
  1238.         case INPUT_MODE_SMART_UPPERCASE_SPANISH:
  1239.         case INPUT_MODE_SMART_LOWERCASE_SPANISH:
  1240.         #endif /* defined(__MMI_ZI_EU_SPANISH__) || defined(__MMI_ZI_SA_SPANISH__) */ 
  1241.         #if defined(__MMI_ZI_DANISH__)
  1242.         case INPUT_MODE_SMART_UPPERCASE_DANISH:
  1243.         case INPUT_MODE_SMART_LOWERCASE_DANISH:
  1244.         #endif /* defined(__MMI_ZI_DANISH__) */ 
  1245.         #if defined(__MMI_ZI_POLISH__)
  1246.         case INPUT_MODE_SMART_UPPERCASE_POLISH:
  1247.         case INPUT_MODE_SMART_LOWERCASE_POLISH:
  1248.         #endif /* defined(__MMI_ZI_POLISH__) */ 
  1249.         #if defined(__MMI_ZI_NORWEGIAN__)
  1250.         case INPUT_MODE_SMART_UPPERCASE_NORWEGIAN:
  1251.         case INPUT_MODE_SMART_LOWERCASE_NORWEGIAN:
  1252.         #endif /* defined(__MMI_ZI_NORWEGIAN__) */ 
  1253.         #if defined(__MMI_ZI_CA_FRENCH__) || defined(__MMI_ZI_EU_FRENCH__)
  1254.         case INPUT_MODE_SMART_UPPERCASE_FRENCH:
  1255.         case INPUT_MODE_SMART_LOWERCASE_FRENCH:
  1256.         #endif /* defined(__MMI_ZI_CA_FRENCH__) || defined(__MMI_ZI_EU_FRENCH__) */ 
  1257.         #if defined(__MMI_ZI_GERMAN__)
  1258.         case INPUT_MODE_SMART_UPPERCASE_GERMAN:
  1259.         case INPUT_MODE_SMART_LOWERCASE_GERMAN:
  1260.         #endif /* defined(__MMI_ZI_GERMAN__) */ 
  1261.         #if defined(__MMI_ZI_ITALIAN__)
  1262.         case INPUT_MODE_SMART_UPPERCASE_ITALIAN:
  1263.         case INPUT_MODE_SMART_LOWERCASE_ITALIAN:
  1264.         #endif /* defined(__MMI_ZI_ITALIAN__) */ 
  1265.         #if defined(__MMI_ZI_RUSSIAN__) || defined(__MMI_ZI_RECOMMENDED_SIZE_RUSSIAN__)
  1266.         case INPUT_MODE_SMART_UPPERCASE_RUSSIAN:
  1267.         case INPUT_MODE_SMART_LOWERCASE_RUSSIAN:
  1268.         #endif /* defined(__MMI_ZI_RUSSIAN__) || defined(__MMI_ZI_RECOMMENDED_SIZE_RUSSIAN__) */ 
  1269.         #if defined(__MMI_ZI_BULGARIAN__)
  1270.         case INPUT_MODE_SMART_UPPERCASE_BULGARIAN:
  1271.         case INPUT_MODE_SMART_LOWERCASE_BULGARIAN:
  1272.         #endif /* defined(__MMI_ZI_BULGARIAN__) */ 
  1273.         #if defined(__MMI_ZI_TURKISH__)
  1274.         case INPUT_MODE_SMART_UPPERCASE_TURKISH:
  1275.         case INPUT_MODE_SMART_LOWERCASE_TURKISH:
  1276.         #endif /* defined(__MMI_ZI_TURKISH__) */ 
  1277.         #if defined(__MMI_ZI_EU_PORTUGUESE__) || defined(__MMI_ZI_SA_PORTUGUESE__) || defined(__MMI_ZI_BZ_PORTUGUESE__)
  1278.         case INPUT_MODE_SMART_UPPERCASE_PORTUGUESE:
  1279.         case INPUT_MODE_SMART_LOWERCASE_PORTUGUESE:
  1280.         #endif /* defined(__MMI_ZI_EU_PORTUGUESE__) || defined(__MMI_ZI_SA_PORTUGUESE__) || defined(__MMI_ZI_BZ_PORTUGUESE__) */ 
  1281.         #if defined(__MMI_ZI_INDONESIAN__)
  1282.         case INPUT_MODE_SMART_UPPERCASE_INDONESIAN:
  1283.         case INPUT_MODE_SMART_LOWERCASE_INDONESIAN:
  1284.         #endif /* defined(__MMI_ZI_INDONESIAN__) */ 
  1285.         #if defined(__MMI_ZI_MALAY__)
  1286.         case INPUT_MODE_SMART_UPPERCASE_MALAY:
  1287.         case INPUT_MODE_SMART_LOWERCASE_MALAY:
  1288.         #endif /* defined(__MMI_ZI_MALAY__) */ 
  1289.         #if defined(__MMI_ZI_VIETNAMESE__)
  1290.         case INPUT_MODE_SMART_UPPERCASE_VIETNAMESE:
  1291.         case INPUT_MODE_SMART_LOWERCASE_VIETNAMESE:
  1292.         #endif /* defined(__MMI_ZI_VIETNAMESE__) */ 
  1293.         #if defined(__MMI_ZI_SWEDISH__)
  1294.         case INPUT_MODE_SMART_UPPERCASE_SWEDISH:
  1295.         case INPUT_MODE_SMART_LOWERCASE_SWEDISH:
  1296.         #endif /* defined(__MMI_ZI_SWEDISH__) */ 
  1297.         #if defined(__MMI_ZI_SLOVAK__)
  1298.         case INPUT_MODE_SMART_UPPERCASE_SLOVAK:
  1299.         case INPUT_MODE_SMART_LOWERCASE_SLOVAK:
  1300.         #endif /* defined(__MMI_ZI_SLOVAK__) */ 
  1301.         #if defined(__MMI_ZI_DUTCH__)
  1302.         case INPUT_MODE_SMART_UPPERCASE_DUTCH:
  1303.         case INPUT_MODE_SMART_LOWERCASE_DUTCH:
  1304.         #endif /* defined(__MMI_ZI_DUTCH__) */ 
  1305.         #if defined(__MMI_ZI_CROATIAN__)
  1306.         case INPUT_MODE_SMART_UPPERCASE_CROATIAN:
  1307.         case INPUT_MODE_SMART_LOWERCASE_CROATIAN:
  1308.         #endif /* defined(__MMI_ZI_CROATIAN__) */ 
  1309.         #if defined(__MMI_ZI_ROMANIAN__)
  1310.         case INPUT_MODE_SMART_UPPERCASE_ROMANIAN:
  1311.         case INPUT_MODE_SMART_LOWERCASE_ROMANIAN:
  1312.         #endif /* defined(__MMI_ZI_ROMANIAN__) */ 
  1313.         #if defined(__MMI_ZI_SLOVENIAN__)
  1314.         case INPUT_MODE_SMART_UPPERCASE_SLOVENIAN:
  1315.         case INPUT_MODE_SMART_LOWERCASE_SLOVENIAN:
  1316.         #endif /* defined(__MMI_ZI_SLOVENIAN__) */ 
  1317.         #if defined(__MMI_ZI_GREEK__)
  1318.         case INPUT_MODE_SMART_UPPERCASE_GREEK:
  1319.         case INPUT_MODE_SMART_LOWERCASE_GREEK:
  1320.         #endif /* defined(__MMI_ZI_GREEK__) */ 
  1321.         #if defined(__MMI_ZI_FINNISH__)
  1322.         case INPUT_MODE_SMART_UPPERCASE_FINNISH:
  1323.         case INPUT_MODE_SMART_LOWERCASE_FINNISH:
  1324.         #endif /* defined(__MMI_ZI_FINNISH__) */ 
  1325.         #if defined(__MMI_ZI_CZECH__)
  1326.         case INPUT_MODE_SMART_UPPERCASE_CZECH:
  1327.         case INPUT_MODE_SMART_LOWERCASE_CZECH:
  1328.         #endif /* defined(__MMI_ZI_CZECH__) */ 
  1329.         #if defined(__MMI_ZI_HUNGARIAN__)
  1330.         case INPUT_MODE_SMART_UPPERCASE_HUNGARIAN:
  1331.         case INPUT_MODE_SMART_LOWERCASE_HUNGARIAN:
  1332.         #endif /* defined(__MMI_ZI_HUNGARIAN__) */ 
  1333.             if (wgui_inputbox_information_icon == NULL)
  1334.             {
  1335.                 if (!r2lMMIFlag)
  1336.                 {
  1337.                     x += width + 2;
  1338.                 }
  1339.                 else
  1340.                 {
  1341.                     x -= (width + 2);
  1342.                 }
  1343.             }
  1344.             else
  1345.             {
  1346.                 gui_measure_image(wgui_inputbox_information_icon, &width, &height);
  1347.                 if (!r2lMMIFlag)
  1348.                 {
  1349.                 #if !defined(__MMI_TOUCH_SCREEN__)
  1350.                     gui_show_transparent_image(
  1351.                         x,
  1352.                         info_bar_y + 1,
  1353.                         wgui_inputbox_information_icon,
  1354.                         0);
  1355.                 #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1356.                     gui_show_transparent_image(
  1357.                         x,
  1358.                         info_bar_y + (info_bar_height - height) / 2,
  1359.                         wgui_inputbox_information_icon,
  1360.                         0);
  1361.                 #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1362.                     x += width + 2;
  1363.                 }
  1364.                 else
  1365.                 {
  1366.                 #if !defined(__MMI_TOUCH_SCREEN__)
  1367.                     gui_show_transparent_image(
  1368.                         x - width,
  1369.                         info_bar_y + 1,
  1370.                         wgui_inputbox_information_icon,
  1371.                         0);
  1372.                 #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1373.                     gui_show_transparent_image(
  1374.                         x - width,
  1375.                         info_bar_y + (info_bar_height - height) / 2,
  1376.                         wgui_inputbox_information_icon,
  1377.                         0);
  1378.                 #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1379.                     x -= (width + 2);
  1380.                 }
  1381.             }
  1382.             if (MMI_current_input_mode == INPUT_MODE_SMART_HINDI)
  1383.             {
  1384.                 gui_move_text_cursor(x, info_bar_y);
  1385.             }
  1386.             /* PMT RAKESH START 20061006 */
  1387.             else if (MMI_current_input_mode == INPUT_MODE_MULTITAP_MARATHI)
  1388.             {
  1389.                 gui_move_text_cursor(x, wgui_inputbox_information_bar_y + 1);
  1390.             }
  1391.             /* PMT RAKESH END 20061006 */
  1392.             else
  1393.             {
  1394.                 gui_move_text_cursor(x, info_bar_y + 3);
  1395.             }
  1396.             gui_print_text(inputmode_string);
  1397.             break;
  1398.         case INPUT_MODE_TR_MULTITAP_BOPOMO:
  1399.         case INPUT_MODE_SM_MULTITAP_PINYIN:
  1400.         case INPUT_MODE_TR_STROKE:
  1401.         case INPUT_MODE_SM_STROKE:
  1402.             if (wgui_inputbox_information_icon == NULL)
  1403.             {
  1404.                 if (!r2lMMIFlag)
  1405.                 {
  1406.                     x += width + 2;
  1407.                 }
  1408.                 else
  1409.                 {
  1410.                     x -= (width + 2);
  1411.                 }
  1412.             }
  1413.             else
  1414.             {
  1415.                 gui_measure_image(wgui_inputbox_information_icon, &width, &height);
  1416.             #if defined(__MMI_TOUCH_SCREEN__)
  1417.                 wgui_information_bar_input_mode_display_width += width;
  1418.             #endif    
  1419.                 if (!r2lMMIFlag)
  1420.                 {
  1421.                 #if !defined(__MMI_TOUCH_SCREEN__)
  1422.                     gui_show_transparent_image(
  1423.                         x,
  1424.                         info_bar_y + 1,
  1425.                         wgui_inputbox_information_icon,
  1426.                         0);
  1427.                 #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1428.                     gui_draw_filled_area(
  1429.                         x,
  1430.                         info_bar_y + (info_bar_height - rect_height) / 2 - 1,
  1431.                         x + 4 + width,
  1432.                         info_bar_y + (info_bar_height + rect_height) / 2,
  1433.                         &information_bar_BG_filler);
  1434.                     gui_show_transparent_image(
  1435.                         x + 2,
  1436.                         info_bar_y + (info_bar_height - height) / 2 + 1,
  1437.                         wgui_inputbox_information_icon,
  1438.                         0);
  1439.                 #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1440.                     x += width + 2;
  1441.                 }
  1442.                 else
  1443.                 {
  1444.                 #if !defined(__MMI_TOUCH_SCREEN__)
  1445.                     gui_show_transparent_image(
  1446.                         x - width,
  1447.                         info_bar_y + 1,
  1448.                         wgui_inputbox_information_icon,
  1449.                         0);
  1450.                 #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1451.                     gui_draw_filled_area(
  1452.                         x - width,
  1453.                         info_bar_y + (info_bar_height - rect_height) / 2 - 1,
  1454.                         x + 4 + width,
  1455.                         info_bar_y + (info_bar_height + rect_height) / 2,
  1456.                         &information_bar_BG_filler);
  1457.                     gui_show_transparent_image(
  1458.                         x - width,
  1459.                         info_bar_y + (info_bar_height - height) / 2 + 1,
  1460.                         wgui_inputbox_information_icon,
  1461.                         0);
  1462.                 #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1463.                     x -= (width + 2);
  1464.                 }
  1465.             }
  1466.             break;
  1467.         case INPUT_MODE_TR_BOPOMO:
  1468.         case INPUT_MODE_SM_PINYIN:
  1469.             gui_measure_image(get_image(WGUI_ZI_EZITEXT_LOGO), &width, &height);
  1470.         #if defined(__MMI_TOUCH_SCREEN__)
  1471.             wgui_information_bar_input_mode_display_width += width;
  1472.         #endif
  1473.             if (!r2lMMIFlag)
  1474.             {
  1475.             #if !defined(__MMI_TOUCH_SCREEN__)
  1476.                 gui_show_transparent_image(x, info_bar_y + 1, get_image(WGUI_ZI_EZITEXT_LOGO), 0);
  1477.             #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1478.                 gui_show_transparent_image(
  1479.                     x,
  1480.                     info_bar_y + (info_bar_height - height) / 2,
  1481.                     get_image(WGUI_ZI_EZITEXT_LOGO),
  1482.                     0);
  1483.             #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1484.                 x += width + 2;
  1485.             }
  1486.             else
  1487.             {
  1488.             #if !defined(__MMI_TOUCH_SCREEN__)
  1489.                 gui_show_transparent_image(
  1490.                     x - width,
  1491.                     info_bar_y + 1,
  1492.                     get_image(WGUI_ZI_EZITEXT_LOGO),
  1493.                     0);
  1494.             #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1495.                 gui_show_transparent_image(
  1496.                     x - width,
  1497.                     info_bar_y + (info_bar_height - height) / 2,
  1498.                     get_image(WGUI_ZI_EZITEXT_LOGO),
  1499.                     0);
  1500.             #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1501.                 x -= (width + 2);
  1502.             }
  1503.             if (wgui_inputbox_information_icon == NULL)
  1504.             {
  1505.                 if (!r2lMMIFlag)
  1506.                 {
  1507.                     x += width + 2;
  1508.                 }
  1509.                 else
  1510.                 {
  1511.                     x -= (width + 2);
  1512.                 }
  1513.             }
  1514.             else
  1515.             {
  1516.                 gui_measure_image(wgui_inputbox_information_icon, &width, &height);
  1517.                 if (!r2lMMIFlag)
  1518.                 {
  1519.                 #if !defined(__MMI_TOUCH_SCREEN__)
  1520.                     gui_show_transparent_image(
  1521.                         x,
  1522.                         info_bar_y + 1,
  1523.                         wgui_inputbox_information_icon,
  1524.                         0);
  1525.                 #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1526.                     gui_draw_filled_area(
  1527.                         x,
  1528.                         info_bar_y + (info_bar_height - rect_height) / 2 - 1,
  1529.                         x + 4 + width,
  1530.                         info_bar_y + (info_bar_height + rect_height) / 2,
  1531.                         &information_bar_BG_filler);
  1532.                     gui_show_transparent_image(
  1533.                         x,
  1534.                         info_bar_y + (info_bar_height - height) / 2 + 1,
  1535.                         wgui_inputbox_information_icon,
  1536.                         0);
  1537.                 #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1538.                     x += width + 2;
  1539.                 }
  1540.                 else
  1541.                 {
  1542.                 #if !defined(__MMI_TOUCH_SCREEN__)
  1543.                     gui_show_transparent_image(
  1544.                         x - width,
  1545.                         info_bar_y + 1,
  1546.                         wgui_inputbox_information_icon,
  1547.                         0);
  1548.                 #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1549.                     gui_draw_filled_area(
  1550.                         x - width,
  1551.                         info_bar_y + (info_bar_height - rect_height) / 2 - 1,
  1552.                         x + 4 + width,
  1553.                         info_bar_y + (info_bar_height + rect_height) / 2,
  1554.                         &information_bar_BG_filler);
  1555.                     gui_show_transparent_image(
  1556.                         x - width,
  1557.                         info_bar_y + (info_bar_height - height) / 2 + 1,
  1558.                         wgui_inputbox_information_icon,
  1559.                         0);
  1560.                 #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1561.                     x -= (width + 2);
  1562.                 }
  1563.             }
  1564.             break;
  1565.         case INPUT_MODE_MMI_MULTITAP_BPMF:
  1566.             gui_measure_image(get_image(WGUI_ZI_EZITEXT_BPMF_LOGO), &width, &height);
  1567.         #if defined(__MMI_TOUCH_SCREEN__)
  1568.             wgui_information_bar_input_mode_display_width += width;
  1569.         #endif           
  1570.             if (!r2lMMIFlag)
  1571.         #if !defined(__MMI_TOUCH_SCREEN__)
  1572.                 gui_show_transparent_image(
  1573.                     x,
  1574.                     info_bar_y + 1,
  1575.                     get_image(WGUI_ZI_EZITEXT_BPMF_LOGO),
  1576.                     0);
  1577.         #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1578.             {
  1579.                 gui_draw_filled_area(
  1580.                     x,
  1581.                     info_bar_y + (info_bar_height - rect_height) / 2 - 1,
  1582.                     x + 4 + width,
  1583.                     info_bar_y + (info_bar_height + rect_height) / 2,
  1584.                     &information_bar_BG_filler);
  1585.                 gui_show_transparent_image(
  1586.                     x + 2,
  1587.                     info_bar_y + (info_bar_height - height) / 2 + 1,
  1588.                     get_image(WGUI_ZI_EZITEXT_BPMF_LOGO),
  1589.                     0);
  1590.             }
  1591.         #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1592.             else
  1593.         #if !defined(__MMI_TOUCH_SCREEN__)
  1594.                 gui_show_transparent_image(
  1595.                     x - width,
  1596.                     info_bar_y + 1,
  1597.                     get_image(WGUI_ZI_EZITEXT_BPMF_LOGO),
  1598.                     0);
  1599.         #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1600.             {
  1601.                 gui_draw_filled_area(
  1602.                     x - width,
  1603.                     info_bar_y + (info_bar_height - rect_height) / 2 - 1,
  1604.                     x + 4 + width,
  1605.                     info_bar_y + (info_bar_height + rect_height) / 2,
  1606.                     &information_bar_BG_filler);
  1607.                 gui_show_transparent_image(
  1608.                     x - width + 2,
  1609.                     info_bar_y + (info_bar_height - height) / 2 + 1,
  1610.                     get_image(WGUI_ZI_EZITEXT_BPMF_LOGO),
  1611.                     0);
  1612.             }
  1613.         #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1614.             break;
  1615.         case INPUT_MODE_MMI_MULTITAP_PINYIN:
  1616.             gui_measure_image(get_image(WGUI_ZI_EZITEXT_PINYIN_LOGO), &width, &height);
  1617.         #if defined(__MMI_TOUCH_SCREEN__)
  1618.             wgui_information_bar_input_mode_display_width += width;
  1619.         #endif
  1620.             if (!r2lMMIFlag)
  1621.         #if !defined(__MMI_TOUCH_SCREEN__)
  1622.                 gui_show_transparent_image(
  1623.                     x,
  1624.                     info_bar_y + 1,
  1625.                     get_image(WGUI_ZI_EZITEXT_PINYIN_LOGO),
  1626.                     0);
  1627.         #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1628.             {
  1629.                 gui_draw_filled_area(
  1630.                     x,
  1631.                     info_bar_y + (info_bar_height - rect_height) / 2 - 1,
  1632.                     x + 4 + width,
  1633.                     info_bar_y + (info_bar_height + rect_height) / 2,
  1634.                     &information_bar_BG_filler);
  1635.                 gui_show_transparent_image(
  1636.                     x + 2,
  1637.                     info_bar_y + (info_bar_height - height) / 2 + 1,
  1638.                     get_image(WGUI_ZI_EZITEXT_PINYIN_LOGO),
  1639.                     0);
  1640.             }
  1641.         #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1642.             else
  1643.         #if !defined(__MMI_TOUCH_SCREEN__)
  1644.                 gui_show_transparent_image(
  1645.                     x - width,
  1646.                     info_bar_y + 1,
  1647.                     get_image(WGUI_ZI_EZITEXT_PINYIN_LOGO),
  1648.                     0);
  1649.         #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1650.             {
  1651.                 gui_draw_filled_area(
  1652.                     x - width,
  1653.                     info_bar_y + (info_bar_height - rect_height) / 2 - 1,
  1654.                     x + 4 + width,
  1655.                     info_bar_y + (info_bar_height + rect_height) / 2,
  1656.                     &information_bar_BG_filler);
  1657.                 gui_show_transparent_image(
  1658.                     x - width + 2,
  1659.                     info_bar_y + (info_bar_height - height) / 2 + 1,
  1660.                     get_image(WGUI_ZI_EZITEXT_PINYIN_LOGO),
  1661.                     0);
  1662.             }
  1663.         #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1664.             break;
  1665.         case INPUT_MODE_MMI_SM_STROKE:
  1666.             gui_measure_image(get_image(WGUI_ZI_EZITEXT_SM_STROKE_LOGO), &width, &height);
  1667.         #if defined(__MMI_TOUCH_SCREEN__)
  1668.             wgui_information_bar_input_mode_display_width += width;
  1669.         #endif
  1670.             if (!r2lMMIFlag)
  1671.         #if !defined(__MMI_TOUCH_SCREEN__)
  1672.                 gui_show_transparent_image(
  1673.                     x,
  1674.                     info_bar_y + 1,
  1675.                     get_image(WGUI_ZI_EZITEXT_SM_STROKE_LOGO),
  1676.                     0);
  1677.         #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1678.             {
  1679.                 gui_draw_filled_area(
  1680.                     x,
  1681.                     info_bar_y + (info_bar_height - rect_height) / 2 - 1,
  1682.                     x + 4 + width,
  1683.                     info_bar_y + (info_bar_height + rect_height) / 2,
  1684.                     &information_bar_BG_filler);
  1685.                 gui_show_transparent_image(
  1686.                     x + 2,
  1687.                     info_bar_y + (info_bar_height - height) / 2 + 1,
  1688.                     get_image(WGUI_ZI_EZITEXT_SM_STROKE_LOGO),
  1689.                     0);
  1690.             }
  1691.         #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1692.             else
  1693.         #if !defined(__MMI_TOUCH_SCREEN__)
  1694.                 gui_show_transparent_image(
  1695.                     x - width,
  1696.                     info_bar_y + 1,
  1697.                     get_image(WGUI_ZI_EZITEXT_SM_STROKE_LOGO),
  1698.                     0);
  1699.         #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1700.             {
  1701.                 gui_draw_filled_area(
  1702.                     x - width,
  1703.                     info_bar_y + (info_bar_height - rect_height) / 2 - 1,
  1704.                     x + 4 + width,
  1705.                     info_bar_y + (info_bar_height + rect_height) / 2,
  1706.                     &information_bar_BG_filler);
  1707.                 gui_show_transparent_image(
  1708.                     x - width + 2,
  1709.                     info_bar_y + (info_bar_height - height) / 2 + 1,
  1710.                     get_image(WGUI_ZI_EZITEXT_SM_STROKE_LOGO),
  1711.                     0);
  1712.             }
  1713.         #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1714.             break;
  1715.         case INPUT_MODE_MMI_TR_STROKE:
  1716.             gui_measure_image(get_image(WGUI_ZI_EZITEXT_TR_STROKE_LOGO), &width, &height);
  1717.         #if defined(__MMI_TOUCH_SCREEN__)
  1718.             wgui_information_bar_input_mode_display_width += width;
  1719.         #endif
  1720.             if (!r2lMMIFlag)
  1721.         #if !defined(__MMI_TOUCH_SCREEN__)
  1722.                 gui_show_transparent_image(
  1723.                     x,
  1724.                     info_bar_y + 1,
  1725.                     get_image(WGUI_ZI_EZITEXT_TR_STROKE_LOGO),
  1726.                     0);
  1727.         #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1728.             {
  1729.                 gui_draw_filled_area(
  1730.                     x,
  1731.                     info_bar_y + (info_bar_height - rect_height) / 2 - 1,
  1732.                     x + 4 + width,
  1733.                     info_bar_y + (info_bar_height + rect_height) / 2,
  1734.                     &information_bar_BG_filler);
  1735.                 gui_show_transparent_image(
  1736.                     x + 2,
  1737.                     info_bar_y + (info_bar_height - height) / 2 + 1,
  1738.                     get_image(WGUI_ZI_EZITEXT_TR_STROKE_LOGO),
  1739.                     0);
  1740.             }
  1741.         #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1742.             else
  1743.         #if !defined(__MMI_TOUCH_SCREEN__)
  1744.                 gui_show_transparent_image(
  1745.                     x - width,
  1746.                     info_bar_y + 1,
  1747.                     get_image(WGUI_ZI_EZITEXT_TR_STROKE_LOGO),
  1748.                     0);
  1749.         #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1750.             {
  1751.                 gui_draw_filled_area(
  1752.                     x - width + 2,
  1753.                     info_bar_y + (info_bar_height - rect_height) / 2 - 1,
  1754.                     x + 4 + width,
  1755.                     info_bar_y + (info_bar_height + rect_height) / 2,
  1756.                     &information_bar_BG_filler);
  1757.                 gui_show_transparent_image(
  1758.                     x - width,
  1759.                     info_bar_y + (wgui_inputbox_information_bar_height - height) / 2 + 1,
  1760.                     get_image(WGUI_ZI_EZITEXT_TR_STROKE_LOGO),
  1761.                     0);
  1762.             }
  1763.         #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1764.             break;
  1765.         #endif 
  1766.     }
  1767. #endif /* __BW_MMI__ */ 
  1768. }
  1769. void wgui_show_input_mode(U8 input_mode, PU8 inputbox_information_icon)
  1770. {
  1771.     wgui_show_input_mode_internal(
  1772.                     wgui_inputbox_information_bar_x,
  1773.                     wgui_inputbox_information_bar_y,
  1774.                     wgui_inputbox_information_bar_width,
  1775.                     wgui_inputbox_information_bar_height,
  1776.                     input_mode,
  1777.                     inputbox_information_icon);
  1778. }
  1779. /*****************************************************************************
  1780.  * FUNCTION
  1781.  *  wgui_redraw_remaining_characters_display
  1782.  * DESCRIPTION
  1783.  *  
  1784.  * PARAMETERS
  1785.  *  void
  1786.  * RETURNS
  1787.  *  void
  1788.  *****************************************************************************/
  1789. void wgui_redraw_remaining_characters_display_internal(void)
  1790. {
  1791.     /*----------------------------------------------------------------*/
  1792.     /* Local Variables                                                */
  1793.     /*----------------------------------------------------------------*/
  1794. #ifndef __MMI_HIDE_MUL_REMAINING_CHAR__
  1795.     color c;
  1796.     /* MTK Leo added, for BW_MMI display */
  1797. #ifdef __BW_MMI__
  1798.     S32 x1 = UI_device_width - 21;
  1799.     S32 y1 = 2;
  1800.     S32 x2 = UI_device_width - 1;
  1801.     S32 y2 = (MMI_title_y + MMI_title_height) - 2;
  1802. #else /* __BW_MMI__ */ 
  1803.     /* MTK Elvis for R2L characters */
  1804.     S32 x1;
  1805.     S32 x2;
  1806.     S32 y1 = wgui_inputbox_information_bar_y;
  1807.     S32 y2 = wgui_inputbox_information_bar_y + wgui_inputbox_information_bar_height - 1;
  1808.     /* MTK end */
  1809. #endif /* __BW_MMI__ */ 
  1810.     /* MTK Leo end */
  1811. #if !defined(__MMI_TOUCH_SCREEN__)
  1812.     stFontAttribute *f = &MMI_small_font;
  1813.     S32 w, n, max_n;
  1814. #else /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1815.     stFontAttribute *f = &MMI_medium_font;
  1816.     S32 w, h, n, max_n;
  1817. #endif /* !defined(__MMI_TOUCH_SCREEN__) */ 
  1818.     UI_character_type str[32];
  1819.     /* MTK Terry for 0x81 encoding support for Phone Book */
  1820.     U8 temp_0x81 = 0;
  1821.     /*----------------------------------------------------------------*/
  1822.     /* Code Body                                                      */
  1823.     /*----------------------------------------------------------------*/
  1824.     /* MTK Elvis for R2L characters */
  1825.     if (!r2lMMIFlag)
  1826.     {
  1827.         x1 = wgui_inputbox_information_bar_x + (wgui_inputbox_information_bar_width >> 1);
  1828.         x2 = wgui_inputbox_information_bar_x + wgui_inputbox_information_bar_width - 1;
  1829.     }
  1830.     else
  1831.     {
  1832.         x1 = wgui_inputbox_information_bar_x;
  1833.         x2 = wgui_inputbox_information_bar_x + (wgui_inputbox_information_bar_width / 2) - 1;
  1834.     }
  1835.     /* MTK end */
  1836. #if(UI_DOUBLE_BUFFER_SUPPORT)
  1837.     gui_lock_double_buffer();
  1838. #endif 
  1839.     /* Warning: Temporary change only UCS2 / ASCII. This has to be done in a more formal manner  */
  1840.     n = (MMI_multiline_inputbox.text_length >> 1) - 1;
  1841.     max_n = (MMI_multiline_inputbox.available_length >> 1) - 1;
  1842.     if ((MMI_multiline_inputbox.flags & UI_MULTI_LINE_INPUT_BOX_CHECK_GSM_EXTENDED) &&
  1843.         (MMI_multiline_inputbox.UCS2_count == 0))
  1844.     {
  1845.         n += MMI_multiline_inputbox.GSM_ext_count;
  1846.     }
  1847.     if ((MMI_multiline_inputbox.flags & UI_MULTI_LINE_INPUT_BOX_PLUS_CHARACTER_HANDLING) &&
  1848.         (MMI_multiline_inputbox.text[0] == '+'))
  1849.     {
  1850.         n--;
  1851.         max_n--;
  1852.     }
  1853.     if (MMI_current_input_ext_type & INPUT_TYPE_EXT_USE_0x81_ENCODING)
  1854.     {
  1855.         temp_0x81 = mmi_phb_convert_to_0x81((S8*) MMI_multiline_inputbox.text, FALSE);
  1856.         if (0 != temp_0x81)
  1857.         {
  1858.             max_n = (MMI_multiline_inputbox.allocated_length >> 1) - 4;
  1859.             n = temp_0x81 - 3;
  1860.         }
  1861.     }
  1862.     if (!(MMI_multiline_inputbox.flags & UI_MULTI_LINE_INPUT_BOX_INCLUDE_INFO_AREA))
  1863.     {
  1864.         wgui_input_information_background(x1, y1, x2, y2);
  1865.     }
  1866.     gui_reset_text_clip();
  1867.     gui_sprintf(str, "%d/%d", n, max_n);
  1868.     c = *current_MMI_theme->remaining_length_text_color;
  1869.     gui_set_font(f);
  1870.     gui_set_text_color(c);
  1871.     gui_set_text_clip(0, 0, UI_device_width - 1, UI_device_height - 1);
  1872. #if !defined(__MMI_TOUCH_SCREEN__)
  1873.     w = gui_get_string_width(str);
  1874. #else 
  1875.     gui_measure_string(str, &w, &h);
  1876. #endif 
  1877.     //MTK Leo added, for BW_MMI display
  1878.     //MTK Elvis for R2L characters
  1879.     if (!r2lMMIFlag)
  1880. #if !defined(__MMI_TOUCH_SCREEN__)
  1881.         gui_move_text_cursor(x2 - 2 - w, y1 + 2);
  1882. #else 
  1883.         gui_move_text_cursor(x2 - 2 - w, y1 + (wgui_inputbox_information_bar_height - h) / 2);
  1884. #endif 
  1885.     else
  1886. #if !defined(__MMI_TOUCH_SCREEN__)
  1887.         gui_move_text_cursor(x1 + 2 + w, y1 + 2);
  1888. #else 
  1889.         gui_move_text_cursor(x1 + 2 + w, y1 + (wgui_inputbox_information_bar_height - h) / 2);
  1890. #endif 
  1891.     //MTK end
  1892.     //MTK Leo end
  1893.     gui_print_text(str);
  1894. #if(UI_DOUBLE_BUFFER_SUPPORT)
  1895.     gui_unlock_double_buffer();
  1896.     gui_BLT_double_buffer(x1, y1, x2, y2);
  1897. #endif /* (UI_DOUBLE_BUFFER_SUPPORT) */ 
  1898. #endif /* __MMI_HIDE_MUL_REMAINING_CHAR__ */ 
  1899. }
  1900. void wgui_redraw_remaining_characters_display(void)
  1901. {
  1902.     if(MMI_multiline_inputbox.infobar_reminder_char_callback==NULL)
  1903.         wgui_redraw_remaining_characters_display_internal();
  1904.     else
  1905.     {
  1906.         S32 x1 = wgui_inputbox_information_bar_x;
  1907.         S32 y1 = wgui_inputbox_information_bar_y;
  1908.         S32 x2 = wgui_inputbox_information_bar_x + wgui_inputbox_information_bar_width - 1;
  1909.         S32 y2 = wgui_inputbox_information_bar_y + wgui_inputbox_information_bar_height - 1;
  1910.         MMI_multiline_inputbox.infobar_reminder_char_callback(x1,y1,x2,y2);
  1911.     }
  1912. }
  1913. void wgui_multiline_inputbox_show_current_input_method(S32 x1,S32 y1,S32 x2,S32 y2)
  1914. {
  1915. wgui_show_input_mode_internal(
  1916.             x1,
  1917.             y1,
  1918.             x2-x1+1,
  1919.             y2-y1+1,
  1920.             MMI_current_input_mode, wgui_inputbox_information_icon);
  1921. }
  1922. /*****************************************************************************
  1923.  * FUNCTION
  1924.  *  wgui_redraw_input_information_bar
  1925.  * DESCRIPTION
  1926.  *  redrwa input information bar
  1927.  * PARAMETERS
  1928.  *  void
  1929.  * RETURNS
  1930.  *  void
  1931.  *****************************************************************************/
  1932. void wgui_redraw_input_information_bar(void)
  1933. {
  1934.     S32 x1 = wgui_inputbox_information_bar_x;
  1935.     S32 y1 = wgui_inputbox_information_bar_y;
  1936.     S32 x2 = wgui_inputbox_information_bar_x + wgui_inputbox_information_bar_width - 1;
  1937.     S32 y2 = wgui_inputbox_information_bar_y + wgui_inputbox_information_bar_height - 1;
  1938.     gui_lock_double_buffer();
  1939.     if(MMI_multiline_inputbox.infobar_redraw_callback)
  1940.     {
  1941.        MMI_multiline_inputbox.infobar_redraw_callback(x1,y1,x2,y2); 
  1942.     }
  1943.     else
  1944.     {
  1945.         #if(!((UI_ENABLE_FRAME_SKIPPING) && (ENABLE_MULTILINE_INPUTBOX_FRAME_SKIPPING)))
  1946.         if (!(MMI_multiline_inputbox.flags & UI_MULTI_LINE_INPUT_BOX_INCLUDE_INFO_AREA) || redraw_on_input_method_change)
  1947.         #endif
  1948.             wgui_input_information_background(x1, y1, x2, y2);
  1949.         wgui_multiline_inputbox_show_current_input_method(x1,y1,x2,y2);
  1950.         wgui_redraw_remaining_characters_display();
  1951.     }
  1952.     gui_unlock_double_buffer();
  1953.     gui_BLT_double_buffer(x1, y1, x2, y2);
  1954. }
  1955. /*****************************************************************************
  1956.  * FUNCTION
  1957.  *  wgui_redraw_input_information_background
  1958.  * DESCRIPTION
  1959.  *  redrwa input information background
  1960.  * PARAMETERS
  1961.  *  void
  1962.  * RETURNS
  1963.  *  void
  1964.  *****************************************************************************/
  1965. void wgui_redraw_input_information_background(void)
  1966. {
  1967.     /*----------------------------------------------------------------*/
  1968.     /* Local Variables                                                */
  1969.     /*----------------------------------------------------------------*/
  1970.     S32 x1 = wgui_inputbox_information_bar_x;
  1971.     S32 y1 = wgui_inputbox_information_bar_y;
  1972.     S32 x2 = wgui_inputbox_information_bar_x + wgui_inputbox_information_bar_width - 1;
  1973.     S32 y2 = wgui_inputbox_information_bar_y + wgui_inputbox_information_bar_height - 1;
  1974.     /*----------------------------------------------------------------*/
  1975.     /* Code Body                                                      */
  1976.     /*----------------------------------------------------------------*/
  1977.     gui_lock_double_buffer();
  1978.     wgui_input_information_background(x1, y1, x2, y2);
  1979.     wgui_show_input_mode(MMI_current_input_mode, wgui_inputbox_information_icon);
  1980.     gui_unlock_double_buffer();
  1981.     gui_BLT_double_buffer(x1, y1, x2, y2);
  1982. }
  1983. /* Back and clear key handling   */
  1984. void (*wgui_inputbox_RSK_function) (void) = NULL;
  1985. U8 wgui_inputbox_RSK_label_clear = 0;
  1986. /* store label string of RSK of input box */
  1987. UI_string_type wgui_inputbox_RSK_label_string;
  1988. /* store label icon of RSK key */
  1989. PU8 wgui_inputbox_RSK_label_icon;
  1990. /* flag used to check decimal input in multline input box */
  1991. U8 wgui_multiline_inputbox_decimal_flag = 0;
  1992. /* flag used to store decimal input mode flag */
  1993. U8 wgui_multiline_inputbox_decimal_input_mode_flag = 0;
  1994. void wgui_inputbox_handle_multitap_input_complete(S32 type);
  1995. /*****************************************************************************
  1996.  * FUNCTION
  1997.  *  wgui_handle_inputbox_right_softkey_down
  1998.  * DESCRIPTION
  1999.  *  handle RSK down key of input box
  2000.  * PARAMETERS
  2001.  *  void
  2002.  * RETURNS
  2003.  *  void
  2004.  *****************************************************************************/
  2005. void wgui_handle_inputbox_right_softkey_down(void)
  2006. {
  2007.     /*----------------------------------------------------------------*/
  2008.     /* Local Variables                                                */
  2009.     /*----------------------------------------------------------------*/
  2010.     /*----------------------------------------------------------------*/
  2011.     /* Code Body                                                      */
  2012.     /*----------------------------------------------------------------*/
  2013.     //MTK Terry for Firefly_856 #228 229
  2014.     //Need to be reviewed
  2015.     //to disable the multitap timer in multiline inputbox for INPUT_TYPE_PHONE_NUMBER
  2016.     wgui_inputbox_handle_multitap_input_complete(WGUI_INPUTBOX_EDIT_MULTITAP_ANY);
  2017.     //to disable the multitap timer
  2018.     //(1)press multitap key 1
  2019.     //(2)before timer out, press clear key or RSK to clear current hilighlighted char
  2020.     disable_active_multitap();
  2021.     /* MTK end */
  2022.     if (wgui_multiline_inputbox_decimal_input_mode_flag)
  2023.     {
  2024.         if (wgui_multiline_inputbox_decimal_flag)
  2025.         {
  2026.             UI_buffer_type p = MMI_multiline_inputbox.cursor_p;
  2027.             UI_character_type c;
  2028.             if (p != MMI_multiline_inputbox.text)
  2029.             {
  2030.                 UI_STRING_GET_PREVIOUS_CHARACTER(p, c);
  2031.                 if (c == (UI_character_type) '.')
  2032.                 {
  2033.                     wgui_multiline_inputbox_decimal_flag = 0;
  2034.                 }
  2035.             }
  2036.         }
  2037.         if (gui_multi_line_input_box_get_text_length(&MMI_multiline_inputbox) > 0)
  2038.         {
  2039.             multiline_inputbox_delete_character();
  2040.         }
  2041.     }
  2042.     else
  2043.     {
  2044.         if (gui_multi_line_input_box_get_text_length(&MMI_multiline_inputbox) > 0)
  2045.         {
  2046.             multiline_inputbox_delete_character();
  2047.         }
  2048.     }
  2049. }
  2050. /*****************************************************************************
  2051.  * FUNCTION
  2052.  *  wgui_handle_inputbox_right_softkey_up
  2053.  * DESCRIPTION
  2054.  *  handle RSK up  key of input box
  2055.  * PARAMETERS
  2056.  *  void
  2057.  * RETURNS
  2058.  *  void
  2059.  *****************************************************************************/
  2060. void wgui_handle_inputbox_right_softkey_up(void)
  2061. {
  2062.     /*----------------------------------------------------------------*/
  2063.     /* Local Variables                                                */
  2064.     /*----------------------------------------------------------------*/
  2065.     /*----------------------------------------------------------------*/
  2066.     /* Code Body                                                      */
  2067.     /*----------------------------------------------------------------*/
  2068.     if (wgui_inputbox_RSK_function != NULL)
  2069.     {
  2070.         wgui_inputbox_RSK_function();
  2071.     }
  2072. }
  2073. /*****************************************************************************
  2074.  * FUNCTION
  2075.  *  wgui_register_inputbox_handle_right_softkey_up
  2076.  * DESCRIPTION
  2077.  *  register RSK function handler of input box key
  2078.  * PARAMETERS
  2079.  *  void
  2080.  * RETURNS
  2081.  *  void
  2082.  *****************************************************************************/
  2083. void wgui_register_inputbox_handle_right_softkey_up(void)
  2084. {
  2085.     /*----------------------------------------------------------------*/
  2086.     /* Local Variables                                                */
  2087.     /*----------------------------------------------------------------*/
  2088.     /*----------------------------------------------------------------*/
  2089.     /* Code Body                                                      */
  2090.     /*----------------------------------------------------------------*/
  2091.     set_right_softkey_function(wgui_handle_inputbox_right_softkey_up, KEY_EVENT_UP);
  2092. }
  2093. /*****************************************************************************
  2094.  * FUNCTION
  2095.  *  wgui_register_inputbox_handle_clear_key_up
  2096.  * DESCRIPTION
  2097.  *  register RSK function handler of input box key
  2098.  * PARAMETERS
  2099.  *  void
  2100.  * RETURNS
  2101.  *  void
  2102.  *****************************************************************************/
  2103. void wgui_register_inputbox_handle_clear_key_up(void)
  2104. {
  2105.     /*----------------------------------------------------------------*/
  2106.     /* Local Variables                                                */
  2107.     /*----------------------------------------------------------------*/
  2108.     /*----------------------------------------------------------------*/
  2109.     /* Code Body                                                      */
  2110.     /*----------------------------------------------------------------*/
  2111.     SetKeyHandler(wgui_handle_inputbox_right_softkey_up, KEY_CLEAR, KEY_EVENT_UP);
  2112. }
  2113. /*****************************************************************************
  2114.  * FUNCTION
  2115.  *  wgui_handle_inputbox_right_softkey_long_press
  2116.  * DESCRIPTION
  2117.  *  handle right soft key long press of multiline input box
  2118.  * PARAMETERS
  2119.  *  void
  2120.  * RETURNS
  2121.  *  void
  2122.  *****************************************************************************/
  2123. void wgui_handle_inputbox_right_softkey_long_press(void)
  2124. {
  2125. #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
  2126.     /*----------------------------------------------------------------*/
  2127.     /* Local Variables                                                */
  2128.     /*----------------------------------------------------------------*/
  2129.     /*----------------------------------------------------------------*/
  2130.     /* Code Body                                                      */
  2131.     /*----------------------------------------------------------------*/
  2132.     if (MMI_multiline_inputbox.flags & UI_MULTI_LINE_WCSS_INPUT_BOX_ENABLE)
  2133.     {
  2134.         return;
  2135.     }
  2136. #endif /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */ 
  2137.     multiline_inputbox_delete_all_characters();
  2138.     if (wgui_multiline_inputbox_decimal_input_mode_flag)
  2139.     {
  2140.         wgui_multiline_inputbox_decimal_flag = 0;
  2141.     }
  2142. }
  2143. /*****************************************************************************
  2144.  * FUNCTION
  2145.  *  wgui_handle_inputbox_input
  2146.  * DESCRIPTION
  2147.  *  handle input box input
  2148.  * PARAMETERS
  2149.  *  void
  2150.  * RETURNS
  2151.  *  void
  2152.  *****************************************************************************/
  2153. void wgui_handle_inputbox_input(void)
  2154. {
  2155.     /*----------------------------------------------------------------*/
  2156.     /* Local Variables                                                */
  2157.     /*----------------------------------------------------------------*/
  2158.     /*----------------------------------------------------------------*/
  2159.     /* Code Body                                                      */
  2160.     /*----------------------------------------------------------------*/
  2161.     if (gui_multi_line_input_box_get_text_length(&MMI_multiline_inputbox) > 0)
  2162.     {
  2163.     #if defined(__MMI_WITH_C_KEY__)
  2164.         if (wgui_inputbox_RSK_label_clear == 0)
  2165.         {
  2166.             if (wgui_inputbox_not_empty_callback != NULL)
  2167.             {
  2168.                 wgui_inputbox_not_empty_callback();
  2169.             }
  2170.             wgui_inputbox_RSK_label_clear = 1;
  2171.             SetKeyHandler(wgui_handle_inputbox_right_softkey_down, KEY_CLEAR, KEY_EVENT_DOWN);
  2172.             SetKeyHandler(UI_dummy_function, KEY_CLEAR, KEY_EVENT_UP);
  2173.             SetKeyHandler(wgui_handle_inputbox_right_softkey_long_press, KEY_CLEAR, KEY_EVENT_LONG_PRESS);
  2174.         }
  2175.     #else /* defined(__MMI_WITH_C_KEY__) */ 
  2176.         if (wgui_inputbox_RSK_label_clear == 0)
  2177.         {
  2178.             set_right_softkey_label((UI_string_type) get_string(WGUI_CATEGORY_CLEAR_STRING_ID));
  2179.             set_right_softkey_icon(NULL);
  2180.             if (wgui_inputbox_not_empty_callback != NULL)
  2181.             {
  2182.                 wgui_inputbox_not_empty_callback();
  2183.             }
  2184.             redraw_right_softkey();
  2185.             register_right_softkey_handler();
  2186.             wgui_inputbox_RSK_label_clear = 1;
  2187.             set_right_softkey_function(UI_dummy_function, KEY_EVENT_UP);
  2188.             set_right_softkey_function(wgui_handle_inputbox_right_softkey_down, KEY_EVENT_DOWN);
  2189.         }
  2190.     #endif /* defined(__MMI_WITH_C_KEY__) */ 
  2191.     }
  2192.     else
  2193.     {
  2194.     #if defined(__MMI_WITH_C_KEY__)
  2195.         if (wgui_inputbox_RSK_label_clear == 1)
  2196.         {
  2197.             wgui_inputbox_RSK_label_clear = 0;
  2198.             if (wgui_inputbox_empty_callback != NULL)
  2199.             {
  2200.                 wgui_inputbox_empty_callback();
  2201.             }
  2202.             SetKeyHandler(UI_dummy_function, KEY_CLEAR, KEY_EVENT_DOWN);
  2203.             SetKeyHandler(wgui_register_inputbox_handle_clear_key_up, KEY_CLEAR, KEY_EVENT_UP);
  2204.             SetKeyHandler(UI_dummy_function, KEY_CLEAR, KEY_EVENT_LONG_PRESS);
  2205.         }
  2206.     #else /* defined(__MMI_WITH_C_KEY__) */ 
  2207.         if (wgui_inputbox_RSK_label_clear == 1)
  2208.         {
  2209.             set_right_softkey_label(wgui_inputbox_RSK_label_string);
  2210.             set_right_softkey_icon(wgui_inputbox_RSK_label_icon);
  2211.             if (wgui_inputbox_empty_callback != NULL)
  2212.             {
  2213.                 wgui_inputbox_empty_callback();
  2214.             }
  2215.             redraw_right_softkey();
  2216.             register_right_softkey_handler();
  2217.             wgui_inputbox_RSK_label_clear = 0;
  2218.             set_right_softkey_function(wgui_register_inputbox_handle_right_softkey_up, KEY_EVENT_UP);
  2219.             set_right_softkey_function(UI_dummy_function, KEY_EVENT_DOWN);
  2220.         }
  2221.     #endif /* defined(__MMI_WITH_C_KEY__) */ 
  2222.     }
  2223. #if(0)
  2224. if(pixtel_UI_multi_line_input_box_test_first_position(&MMI_multiline_inputbox))
  2225. { if(wgui_inputbox_RSK_label_clear==1)
  2226. { set_right_softkey_label(wgui_inputbox_RSK_label_string);
  2227. set_right_softkey_icon(wgui_inputbox_RSK_label_icon);
  2228. redraw_right_softkey();
  2229. wgui_inputbox_RSK_label_clear=0;
  2230. set_right_softkey_function(wgui_register_inputbox_handle_right_softkey_up,KEY_EVENT_UP);
  2231. set_right_softkey_function(UI_dummy_function,KEY_EVENT_DOWN);
  2232. }
  2233. }
  2234. #endif /* (0) */ 
  2235.     if (MMI_multiline_inputbox.flags & UI_MULTI_LINE_INPUT_BOX_PLUS_CHARACTER_HANDLING)
  2236.     {
  2237.         if (MMI_multiline_inputbox.text[0] == '+')
  2238.         {
  2239.             MMI_multiline_inputbox.available_length = (wgui_inputbox_buffer_size + 1) * ENCODING_LENGTH;
  2240.         }
  2241.         else
  2242.         {
  2243.             MMI_multiline_inputbox.available_length = wgui_inputbox_buffer_size * ENCODING_LENGTH;
  2244.         }
  2245.     }
  2246.     if (wgui_inputbox_information_flag)
  2247.     {
  2248.         wgui_redraw_remaining_characters_display();
  2249.     }
  2250. }
  2251. /*****************************************************************************
  2252.  * FUNCTION
  2253.  *  wgui_handle_inputbox_navigate
  2254.  * DESCRIPTION
  2255.  *  handle input box navigation
  2256.  * PARAMETERS
  2257.  *  void
  2258.  * RETURNS
  2259.  *  void
  2260.  *****************************************************************************/
  2261. void wgui_handle_inputbox_navigate(void)
  2262. {
  2263.     /*----------------------------------------------------------------*/
  2264.     /* Local Variables                                                */
  2265.     /*----------------------------------------------------------------*/
  2266.     /*----------------------------------------------------------------*/
  2267.     /* Code Body                                                      */
  2268.     /*----------------------------------------------------------------*/
  2269.     if (gui_multi_line_input_box_test_first_position(&MMI_multiline_inputbox))
  2270.     {
  2271.         if (wgui_inputbox_RSK_label_clear == 1)
  2272.         {
  2273.             set_right_softkey_label(wgui_inputbox_RSK_label_string);
  2274.             set_right_softkey_icon(wgui_inputbox_RSK_label_icon);
  2275.             redraw_right_softkey();
  2276.             wgui_inputbox_RSK_label_clear = 0;
  2277.             set_right_softkey_function(wgui_handle_inputbox_right_softkey_up, KEY_EVENT_UP);
  2278.             set_right_softkey_function(UI_dummy_function, KEY_EVENT_DOWN);
  2279.         }
  2280.     }
  2281.     else
  2282.     {
  2283.         if (wgui_inputbox_RSK_label_clear == 0)
  2284.         {
  2285.             set_right_softkey_label((UI_string_type) get_string(WGUI_CATEGORY_CLEAR_STRING_ID));
  2286.             set_right_softkey_icon(NULL);
  2287.             redraw_right_softkey();
  2288.             wgui_inputbox_RSK_label_clear = 1;
  2289.             set_right_softkey_function(UI_dummy_function, KEY_EVENT_UP);
  2290.             set_right_softkey_function(wgui_handle_inputbox_right_softkey_down, KEY_EVENT_DOWN);
  2291.         }
  2292.     }
  2293. }
  2294. /*****************************************************************************
  2295.  * FUNCTION
  2296.  *  wgui_get_inputbox_information_icon
  2297.  * DESCRIPTION
  2298.  *  chaneg input mode of input box
  2299.  * PARAMETERS
  2300.  *  void
  2301.  * RETURNS
  2302.  *  void
  2303.  *****************************************************************************/
  2304. //Pixte - Gurinder 03/05/04 Code Divided Into A Seprate Function for Code Resuability.
  2305. //MTK Elvis modify for stacked character---thai
  2306. void wgui_get_inputbox_information_icon(void)
  2307. {
  2308.     /*----------------------------------------------------------------*/
  2309.     /* Local Variables                                                */
  2310.     /*----------------------------------------------------------------*/
  2311.     /* PMT RAKESH START 20061006 */
  2312. #if defined (__MMI_LANG_MARATHI__)
  2313.     U16 name_marathi[] = {C_MA, C_RA, DV_AA, C_TTHA, DV_II, 0x0};
  2314. #endif
  2315.     /* PMT RAKESH END 20061006 */
  2316.     /*----------------------------------------------------------------*/
  2317.     /* Code Body                                                      */
  2318.     /*----------------------------------------------------------------*/
  2319.     switch (MMI_current_input_mode)
  2320.     {
  2321.         case INPUT_MODE_MULTITAP_UPPERCASE_ABC:
  2322.         case INPUT_MODE_MULTITAP_LOWERCASE_ABC:
  2323.         case INPUT_MODE_123:
  2324.     #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
  2325.         case INPUT_MODE_MULTITAP_UPPERCASE_ABC_NO_NUMERIC:
  2326.         case INPUT_MODE_MULTITAP_LOWERCASE_ABC_NO_NUMERIC:
  2327.         case INPUT_MODE_123_SYMBOLS:
  2328.     #endif /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */ 
  2329.     #if defined(__MMI_MULTITAP_THAI__)
  2330.         case INPUT_MODE_MULTITAP_THAI:
  2331.     #endif 
  2332.     #if defined(__MMI_MULTITAP_SPANISH__)
  2333.         case INPUT_MODE_MULTITAP_UPPERCASE_SPANISH:
  2334.         case INPUT_MODE_MULTITAP_LOWERCASE_SPANISH:
  2335.     #endif /* defined(__MMI_MULTITAP_SPANISH__) */ 
  2336.     #if defined(__MMI_MULTITAP_DANISH__)
  2337.         case INPUT_MODE_MULTITAP_UPPERCASE_DANISH:
  2338.         case INPUT_MODE_MULTITAP_LOWERCASE_DANISH:
  2339.     #endif /* defined(__MMI_MULTITAP_DANISH__) */ 
  2340.     #if defined(__MMI_MULTITAP_POLISH__)
  2341.         case INPUT_MODE_MULTITAP_UPPERCASE_POLISH:
  2342.         case INPUT_MODE_MULTITAP_LOWERCASE_POLISH:
  2343.     #endif /* defined(__MMI_MULTITAP_POLISH__) */ 
  2344.     #if defined(__MMI_MULTITAP_FRENCH__)
  2345.         case INPUT_MODE_MULTITAP_UPPERCASE_FRENCH:
  2346.         case INPUT_MODE_MULTITAP_LOWERCASE_FRENCH:
  2347.     #endif /* defined(__MMI_MULTITAP_FRENCH__) */ 
  2348.     #if defined(__MMI_MULTITAP_GERMAN__)
  2349.         case INPUT_MODE_MULTITAP_UPPERCASE_GERMAN:
  2350.         case INPUT_MODE_MULTITAP_LOWERCASE_GERMAN:
  2351.     #endif /* defined(__MMI_MULTITAP_GERMAN__) */ 
  2352.     #if defined(__MMI_MULTITAP_ITALIAN__)
  2353.         case INPUT_MODE_MULTITAP_UPPERCASE_ITALIAN:
  2354.         case INPUT_MODE_MULTITAP_LOWERCASE_ITALIAN:
  2355.     #endif /* defined(__MMI_MULTITAP_ITALIAN__) */ 
  2356.     #if defined(__MMI_MULTITAP_RUSSIAN__)
  2357.         case INPUT_MODE_MULTITAP_UPPERCASE_RUSSIAN:
  2358.         case INPUT_MODE_MULTITAP_LOWERCASE_RUSSIAN:
  2359.     #endif /* defined(__MMI_MULTITAP_RUSSIAN__) */ 
  2360.     #if defined(__MMI_MULTITAP_BULGARIAN__)
  2361.         case INPUT_MODE_MULTITAP_UPPERCASE_BULGARIAN:
  2362.         case INPUT_MODE_MULTITAP_LOWERCASE_BULGARIAN:
  2363.     #endif /* defined(__MMI_MULTITAP_BULGARIAN__) */ 
  2364.     #if defined(__MMI_MULTITAP_TURKISH__)
  2365.         case INPUT_MODE_MULTITAP_UPPERCASE_TURKISH:
  2366.         case INPUT_MODE_MULTITAP_LOWERCASE_TURKISH:
  2367.     #endif /* defined(__MMI_MULTITAP_TURKISH__) */ 
  2368.     #if defined(__MMI_MULTITAP_PORTUGUESE__)
  2369.         case INPUT_MODE_MULTITAP_UPPERCASE_PORTUGUESE:
  2370.         case INPUT_MODE_MULTITAP_LOWERCASE_PORTUGUESE:
  2371.     #endif /* defined(__MMI_MULTITAP_PORTUGUESE__) */ 
  2372.     #if defined(__MMI_MULTITAP_HINDI__)
  2373.         case INPUT_MODE_MULTITAP_HINDI:
  2374.     #endif 
  2375.             /* PMT RAKESH START 20061006 */
  2376.     #if defined(__MMI_MULTITAP_MARATHI__)
  2377.         case INPUT_MODE_MULTITAP_MARATHI:
  2378.     #endif 
  2379.             /* PMT RAKESH END 20061006 */
  2380.     #if defined(__MMI_MULTITAP_INDONESIAN__)
  2381.         case INPUT_MODE_MULTITAP_UPPERCASE_INDONESIAN:
  2382.         case INPUT_MODE_MULTITAP_LOWERCASE_INDONESIAN:
  2383.     #endif /* defined(__MMI_MULTITAP_INDONESIAN__) */ 
  2384.     #if defined(__MMI_MULTITAP_CZECH__)
  2385.         case INPUT_MODE_MULTITAP_UPPERCASE_CZECH:
  2386.         case INPUT_MODE_MULTITAP_LOWERCASE_CZECH:
  2387.     #endif /* defined(__MMI_MULTITAP_CZECH__) */ 
  2388.     #if defined(__MMI_MULTITAP_MALAY__)
  2389.         case INPUT_MODE_MULTITAP_UPPERCASE_MALAY:
  2390.         case INPUT_MODE_MULTITAP_LOWERCASE_MALAY:
  2391.     #endif /* defined(__MMI_MULTITAP_MALAY__) */ 
  2392.     #if defined(__MMI_MULTITAP_VIETNAMESE__)
  2393.         case INPUT_MODE_MULTITAP_UPPERCASE_VIETNAMESE:
  2394.         case INPUT_MODE_MULTITAP_LOWERCASE_VIETNAMESE:
  2395.     #endif /* defined(__MMI_MULTITAP_VIETNAMESE__) */ 
  2396.     #if defined(__MMI_MULTITAP_FINNISH__)
  2397.         case INPUT_MODE_MULTITAP_UPPERCASE_FINNISH:
  2398.         case INPUT_MODE_MULTITAP_LOWERCASE_FINNISH:
  2399.     #endif /* defined(__MMI_MULTITAP_FINNISH__) */ 
  2400.     #if defined(__MMI_MULTITAP_HUNGARIAN__)
  2401.         case INPUT_MODE_MULTITAP_UPPERCASE_HUNGARIAN:
  2402.         case INPUT_MODE_MULTITAP_LOWERCASE_HUNGARIAN:
  2403.     #endif /* defined(__MMI_MULTITAP_HUNGARIAN__) */ 
  2404.     #if defined(__MMI_MULTITAP_SWEDISH__)
  2405.         case INPUT_MODE_MULTITAP_UPPERCASE_SWEDISH:
  2406.         case INPUT_MODE_MULTITAP_LOWERCASE_SWEDISH:
  2407.     #endif /* defined(__MMI_MULTITAP_SWEDISH__) */ 
  2408.     #if defined(__MMI_MULTITAP_HEBREW__)
  2409.         case INPUT_MODE_MULTITAP_HEBREW:
  2410.     #endif 
  2411.     #if defined(__MMI_MULTITAP_SLOVAK__)
  2412.         case INPUT_MODE_MULTITAP_UPPERCASE_SLOVAK:
  2413.         case INPUT_MODE_MULTITAP_LOWERCASE_SLOVAK:
  2414.     #endif /* defined(__MMI_MULTITAP_SLOVAK__) */ 
  2415.     #if defined(__MMI_MULTITAP_DUTCH__)
  2416.         case INPUT_MODE_MULTITAP_UPPERCASE_DUTCH:
  2417.         case INPUT_MODE_MULTITAP_LOWERCASE_DUTCH:
  2418.     #endif /* defined(__MMI_MULTITAP_DUTCH__) */ 
  2419.     #if defined(__MMI_MULTITAP_NORWEGIAN__)
  2420.         case INPUT_MODE_MULTITAP_UPPERCASE_NORWEGIAN:
  2421.         case INPUT_MODE_MULTITAP_LOWERCASE_NORWEGIAN:
  2422.     #endif /* defined(__MMI_MULTITAP_NORWEGIAN__) */ 
  2423.     #if defined(__MMI_MULTITAP_ARABIC__)
  2424.         case INPUT_MODE_MULTITAP_ARABIC:
  2425.     #endif 
  2426. //PMT START PERSIAN
  2427.      #if defined(__MMI_MULTITAP_PERSIAN__)
  2428.         case INPUT_MODE_MULTITAP_PERSIAN:
  2429.     #endif 
  2430. //PMT END PERSIAN
  2431.     #if defined(__MMI_MULTITAP_CROATIAN__)
  2432.         case INPUT_MODE_MULTITAP_UPPERCASE_CROATIAN:
  2433.         case INPUT_MODE_MULTITAP_LOWERCASE_CROATIAN:
  2434.     #endif /* defined(__MMI_MULTITAP_CROATIAN__) */ 
  2435.     #if defined(__MMI_MULTITAP_ROMANIAN__)
  2436.         case INPUT_MODE_MULTITAP_UPPERCASE_ROMANIAN:
  2437.         case INPUT_MODE_MULTITAP_LOWERCASE_ROMANIAN:
  2438.     #endif /* defined(__MMI_MULTITAP_ROMANIAN__) */ 
  2439.     #if defined(__MMI_MULTITAP_SLOVENIAN__)
  2440.         case INPUT_MODE_MULTITAP_UPPERCASE_SLOVENIAN:
  2441.         case INPUT_MODE_MULTITAP_LOWERCASE_SLOVENIAN:
  2442.     #endif /* defined(__MMI_MULTITAP_SLOVENIAN__) */ 
  2443.     #if defined(__MMI_MULTITAP_GREEK__)
  2444.         case INPUT_MODE_MULTITAP_UPPERCASE_GREEK:
  2445.         case INPUT_MODE_MULTITAP_LOWERCASE_GREEK:
  2446.     #endif /* defined(__MMI_MULTITAP_GREEK__) */ 
  2447.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2448.             break;
  2449.     #if defined(__MMI_T9__) || defined(__MMI_CSTAR__) || defined(__MMI_ITAP__) || defined(__MMI_KA__) //KP Jerry add "__MMI_CSTAR__" on 2007-4-6
  2450. //KP Jerry modify on 2007-4-17 start
  2451.     #if defined(__MMI_LANG_TR_CHINESE__)    //KP Jerry add on 2007-4-17
  2452.         case INPUT_MODE_TR_MULTITAP_BOPOMO:
  2453.             wgui_inputbox_information_icon = get_image(WGUI_IME_MULTITAP_BPMF_IMG);
  2454.             break;
  2455.         case INPUT_MODE_TR_BOPOMO:
  2456.             wgui_inputbox_information_icon = get_image(WGUI_IME_SMART_BPMF_IMG);
  2457.             break;
  2458.         case INPUT_MODE_TR_STROKE:
  2459.             wgui_inputbox_information_icon = get_image(WGUI_IME_TR_STROKE_IMG);
  2460.             break;
  2461. #endif    //KP Jerry add on 2007-4-17
  2462.     #if defined(__MMI_LANG_SM_CHINESE__)    //KP Jerry add on 2007-4-17
  2463.         case INPUT_MODE_SM_MULTITAP_PINYIN:
  2464.             wgui_inputbox_information_icon = get_image(WGUI_IME_MULTITAP_PINYIN_IMG);
  2465.             break;
  2466.         case INPUT_MODE_SM_PINYIN:
  2467.             wgui_inputbox_information_icon = get_image(WGUI_IME_SMART_PINYIN_IMG);
  2468.             break;
  2469.         case INPUT_MODE_SM_STROKE:
  2470.             wgui_inputbox_information_icon = get_image(WGUI_IME_SM_STROKE_IMG);
  2471.             break;
  2472. #endif    //KP Jerry add on 2007-4-17
  2473. //KP Jerry modify on 2007-4-17 end
  2474.         case INPUT_MODE_SMART_UPPERCASE_ABC:
  2475.             wgui_inputbox_information_icon = get_image(WGUI_IME_SMART_ENGLISH_IMG);
  2476.             break;
  2477.         case INPUT_MODE_SMART_LOWERCASE_ABC:
  2478.             wgui_inputbox_information_icon = get_image(WGUI_IME_SMART_ENGLISH_IMG);
  2479.             break;
  2480.             /* PMT RAKESH START 20061006 */
  2481.     #if defined(__MMI_LANG_MARATHI__)
  2482.         case INPUT_MODE_MULTITAP_MARATHI:
  2483.             inputmode_string = (UI_string_type) input_mode_marathi_string_array;
  2484.             break;
  2485.     #endif /* defined(__MMI_LANG_MARATHI__) */ 
  2486.             /* PMT RAKESH END 20061006 */
  2487.     #if defined (__MMI_T9_THAI__) || defined(__MMI_CSTAR_THAI__) //KP Jerry add "__MMI_CSTAR_THAI__" on 2007-4-6
  2488.         case INPUT_MODE_SMART_THAI:
  2489.             wgui_inputbox_information_icon = get_image(WGUI_IME_SMART_ENGLISH_IMG);
  2490.             break;
  2491.     #endif /* defined (__MMI_T9_THAI__) || defined(__MMI_CSTAR_THAI__) */  //KP Jerry add "__MMI_CSTAR_THAI__" on 2007-4-6
  2492.     #if defined (__MMI_T9_ARABIC__) || defined(__MMI_CSTAR_ARABIC__) //KP Jerry add "__MMI_CSTAR_ARABIC__" on 2007-4-6
  2493.         case INPUT_MODE_SMART_ARABIC:
  2494.             wgui_inputbox_information_icon = get_image(WGUI_IME_SMART_ENGLISH_IMG);
  2495.             break;
  2496.     #endif /* defined (__MMI_T9_ARABIC__) || defined(__MMI_CSTAR_ARABIC__) */  //KP Jerry add "__MMI_CSTAR_ARABIC__" on 2007-4-6
  2497.     #if defined(__MMI_T9_GREEK__) || defined(__MMI_CSTAR_GREEK__) //KP Jerry add "__MMI_CSTAR_GREEK__" on 2007-4-6
  2498.         case INPUT_MODE_SMART_UPPERCASE_GREEK:
  2499.         case INPUT_MODE_SMART_LOWERCASE_GREEK:
  2500.             wgui_inputbox_information_icon = get_image(WGUI_IME_SMART_ENGLISH_IMG);
  2501.             break;
  2502.     #endif /* defined(__MMI_T9_GREEK__) || defined(__MMI_CSTAR_GREEK__) */  //KP Jerry add "__MMI_CSTAR_GREEK__" on 2007-4-6
  2503.     #if defined (__MMI_T9_HEBREW__) || defined(__MMI_CSTAR_HEBREW__) //KP Jerry add "__MMI_CSTAR_HEBREW__" on 2007-4-6
  2504.         case INPUT_MODE_SMART_HEBREW:
  2505.             wgui_inputbox_information_icon = get_image(WGUI_IME_SMART_ENGLISH_IMG);
  2506.             break;
  2507.     #endif /* defined (__MMI_T9_HEBREW__) || defined(__MMI_CSTAR_HEBREW__) */  //KP Jerry add "__MMI_CSTAR_HEBREW__" on 2007-4-6
  2508.     #if defined (__MMI_T9_HINDI__) || defined(__MMI_CSTAR_HINDI__) //KP Jerry add "__MMI_CSTAR_HINDI__" on 2007-4-6
  2509.         case INPUT_MODE_SMART_HINDI:
  2510.             wgui_inputbox_information_icon = get_image(WGUI_IME_SMART_ENGLISH_IMG);
  2511.             break;
  2512.     #endif /* defined (__MMI_T9_HINDI__) || defined(__MMI_CSTAR_HINDI__) */  //KP Jerry add "__MMI_CSTAR_HINDI__" on 2007-4-6
  2513.     #if defined(__MMI_T9_SPANISH__) || defined(__MMI_CSTAR_SPANISH__) //KP Jerry add "__MMI_CSTAR_SPANISH__" on 2007-4-6
  2514.         case INPUT_MODE_SMART_UPPERCASE_SPANISH:
  2515.         case INPUT_MODE_SMART_LOWERCASE_SPANISH:
  2516.             wgui_inputbox_information_icon = get_image(WGUI_IME_SMART_ENGLISH_IMG);
  2517.             break;
  2518.     #endif /* defined(__MMI_T9_SPANISH__) || defined(__MMI_CSTAR_SPANISH__) */  //KP Jerry add "__MMI_CSTAR_SPANISH__" on 2007-4-6
  2519.     #if defined(__MMI_T9_DANISH__) || defined(__MMI_CSTAR_DANISH__) //KP Jerry add "__MMI_CSTAR_DANISH__" on 2007-4-6
  2520.         case INPUT_MODE_SMART_UPPERCASE_DANISH:
  2521.         case INPUT_MODE_SMART_LOWERCASE_DANISH:
  2522.             wgui_inputbox_information_icon = get_image(WGUI_IME_SMART_ENGLISH_IMG);
  2523.             break;
  2524.     #endif /* defined(__MMI_T9_DANISH__) || defined(__MMI_CSTAR_DANISH__) */  //KP Jerry add "__MMI_CSTAR_DANISH__" on 2007-4-6
  2525.     #if defined(__MMI_T9_POLISH__) || defined(__MMI_CSTAR_POLISH__) //KP Jerry add "__MMI_CSTAR_POLISH__" on 2007-4-6
  2526.         case INPUT_MODE_SMART_UPPERCASE_POLISH:
  2527.         case INPUT_MODE_SMART_LOWERCASE_POLISH:
  2528.             wgui_inputbox_information_icon = get_image(WGUI_IME_SMART_ENGLISH_IMG);
  2529.             break;
  2530.     #endif /* defined(__MMI_T9_POLISH__) || defined(__MMI_CSTAR_POLISH__) */  //KP Jerry add "__MMI_CSTAR_POLISH__" on 2007-4-6
  2531.     #if defined(__MMI_T9_FRENCH__) || defined(__MMI_CSTAR_FRENCH__) //KP Jerry add "__MMI_CSTAR_FRENCH__" on 2007-4-6
  2532.         case INPUT_MODE_SMART_UPPERCASE_FRENCH:
  2533.         case INPUT_MODE_SMART_LOWERCASE_FRENCH:
  2534.             wgui_inputbox_information_icon = get_image(WGUI_IME_SMART_ENGLISH_IMG);
  2535.             break;
  2536.     #endif /* defined(__MMI_T9_FRENCH__) || defined(__MMI_CSTAR_FRENCH__) */   //KP Jerry add "__MMI_CSTAR_FRENCH__" on 2007-4-17
  2537.     #if defined(__MMI_T9_GERMAN__) || defined(__MMI_CSTAR_GERMAN__)   //KP Jerry add "__MMI_CSTAR_GERMAN__" on 2007-4-17
  2538.         case INPUT_MODE_SMART_UPPERCASE_GERMAN:
  2539.         case INPUT_MODE_SMART_LOWERCASE_GERMAN:
  2540.             wgui_inputbox_information_icon = get_image(WGUI_IME_SMART_ENGLISH_IMG);
  2541.             break;
  2542.     #endif /* defined(__MMI_T9_GERMAN__) || defined(__MMI_CSTAR_GERMAN__) */    //KP Jerry add "__MMI_CSTAR_GERMAN__" on 2007-4-17
  2543.     #if defined(__MMI_T9_ITALIAN__) || defined(__MMI_CSTAR_ITALIAN__)   //KP Jerry add "__MMI_CSTAR_ITALIAN__" on 2007-4-17
  2544.         case INPUT_MODE_SMART_UPPERCASE_ITALIAN:
  2545.         case INPUT_MODE_SMART_LOWERCASE_ITALIAN:
  2546.             wgui_inputbox_information_icon = get_image(WGUI_IME_SMART_ENGLISH_IMG);
  2547.             break;
  2548.     #endif /* defined(__MMI_T9_ITALIAN__) || defined(__MMI_CSTAR_ITALIAN__) */    //KP Jerry add "__MMI_CSTAR_ITALIAN__" on 2007-4-17
  2549.     #if defined(__MMI_T9_RUSSIAN__) || defined(__MMI_CSTAR_RUSSIAN__)   //KP Jerry add "__MMI_CSTAR_RUSSIAN__" on 2007-4-17
  2550.         case INPUT_MODE_SMART_UPPERCASE_RUSSIAN:
  2551.         case INPUT_MODE_SMART_LOWERCASE_RUSSIAN:
  2552.             wgui_inputbox_information_icon = get_image(WGUI_IME_SMART_ENGLISH_IMG);
  2553.             break;
  2554.     #endif /* defined(__MMI_T9_RUSSIAN__) || defined(__MMI_CSTAR_RUSSIAN__) */    //KP Jerry add "__MMI_CSTAR_RUSSIAN__" on 2007-4-17