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

MTK

开发平台:

C/C++

  1.  *  void
  2.  * RETURNS
  3.  *  void
  4.  *****************************************************************************/
  5. void wgui_multiline_inputbox_change_input_mode_smart_SPANISH(void)
  6. {
  7.     /*----------------------------------------------------------------*/
  8.     /* Local Variables                                                */
  9.     /*----------------------------------------------------------------*/
  10.     /*----------------------------------------------------------------*/
  11.     /* Code Body                                                      */
  12.     /*----------------------------------------------------------------*/
  13.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_SPANISH;
  14.     wgui_multiline_inputbox_input_mode_changed = 1;
  15. }
  16. /*****************************************************************************
  17.  * FUNCTION
  18.  *  wgui_multiline_inputbox_change_input_mode_smart_spanish
  19.  * DESCRIPTION
  20.  *  change multiline input box mode to spanish
  21.  * PARAMETERS
  22.  *  void
  23.  * RETURNS
  24.  *  void
  25.  *****************************************************************************/
  26. void wgui_multiline_inputbox_change_input_mode_smart_spanish(void)
  27. {
  28.     /*----------------------------------------------------------------*/
  29.     /* Local Variables                                                */
  30.     /*----------------------------------------------------------------*/
  31.     /*----------------------------------------------------------------*/
  32.     /* Code Body                                                      */
  33.     /*----------------------------------------------------------------*/
  34.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_SPANISH;
  35.     wgui_multiline_inputbox_input_mode_changed = 1;
  36. }
  37. #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
  38. #if defined(__MMI_T9_DANISH__) || defined(__MMI_ZI_DANISH__) || defined(__MMI_CSTAR_DANISH__) //KP Jerry add "__MMI_CSTAR_DANISH__" on 2007-4-6
  39. /*****************************************************************************
  40.  * FUNCTION
  41.  *  wgui_multiline_inputbox_change_input_mode_smart_DANISH
  42.  * DESCRIPTION
  43.  *  change multiline input box mode to DANISH
  44.  * PARAMETERS
  45.  *  void
  46.  * RETURNS
  47.  *  void
  48.  *****************************************************************************/
  49. void wgui_multiline_inputbox_change_input_mode_smart_DANISH(void)
  50. {
  51.     /*----------------------------------------------------------------*/
  52.     /* Local Variables                                                */
  53.     /*----------------------------------------------------------------*/
  54.     /*----------------------------------------------------------------*/
  55.     /* Code Body                                                      */
  56.     /*----------------------------------------------------------------*/
  57.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_DANISH;
  58.     wgui_multiline_inputbox_input_mode_changed = 1;
  59. }
  60. /*****************************************************************************
  61.  * FUNCTION
  62.  *  wgui_multiline_inputbox_change_input_mode_smart_danish
  63.  * DESCRIPTION
  64.  *  change multiline input box mode to Danish
  65.  * PARAMETERS
  66.  *  void
  67.  * RETURNS
  68.  *  void
  69.  *****************************************************************************/
  70. void wgui_multiline_inputbox_change_input_mode_smart_danish(void)
  71. {
  72.     /*----------------------------------------------------------------*/
  73.     /* Local Variables                                                */
  74.     /*----------------------------------------------------------------*/
  75.     /*----------------------------------------------------------------*/
  76.     /* Code Body                                                      */
  77.     /*----------------------------------------------------------------*/
  78.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_DANISH;
  79.     wgui_multiline_inputbox_input_mode_changed = 1;
  80. }
  81. #endif /* defined(__MMI_T9_DANISH__) || defined(__MMI_ZI_DANISH__) || defined(__MMI_CSTAR_DANISH__) */  //KP Jerry add "__MMI_CSTAR_DANISH__" on 2007-4-6
  82. #if defined(__MMI_T9_POLISH__) || defined(__MMI_ZI_POLISH__) || defined(__MMI_CSTAR_POLISH__) //KP Jerry add "__MMI_CSTAR_POLISH__" on 2007-4-6
  83. /*****************************************************************************
  84.  * FUNCTION
  85.  *  wgui_multiline_inputbox_change_input_mode_smart_POLISH
  86.  * DESCRIPTION
  87.  *  change multiline input box mode to POLISH
  88.  * PARAMETERS
  89.  *  void
  90.  * RETURNS
  91.  *  void
  92.  *****************************************************************************/
  93. void wgui_multiline_inputbox_change_input_mode_smart_POLISH(void)
  94. {
  95.     /*----------------------------------------------------------------*/
  96.     /* Local Variables                                                */
  97.     /*----------------------------------------------------------------*/
  98.     /*----------------------------------------------------------------*/
  99.     /* Code Body                                                      */
  100.     /*----------------------------------------------------------------*/
  101.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_POLISH;
  102.     wgui_multiline_inputbox_input_mode_changed = 1;
  103. }
  104. /*****************************************************************************
  105.  * FUNCTION
  106.  *  wgui_multiline_inputbox_change_input_mode_smart_polish
  107.  * DESCRIPTION
  108.  *  change multiline input box mode to Polish
  109.  * PARAMETERS
  110.  *  void
  111.  * RETURNS
  112.  *  void
  113.  *****************************************************************************/
  114. void wgui_multiline_inputbox_change_input_mode_smart_polish(void)
  115. {
  116.     /*----------------------------------------------------------------*/
  117.     /* Local Variables                                                */
  118.     /*----------------------------------------------------------------*/
  119.     /*----------------------------------------------------------------*/
  120.     /* Code Body                                                      */
  121.     /*----------------------------------------------------------------*/
  122.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_POLISH;
  123.     wgui_multiline_inputbox_input_mode_changed = 1;
  124. }
  125. #endif /* defined(__MMI_T9_POLISH__) || defined(__MMI_ZI_POLISH__) || defined(__MMI_CSTAR_POLISH__) */  //KP Jerry add "__MMI_CSTAR_POLISH__" on 2007-4-6
  126. #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
  127. /*****************************************************************************
  128.  * FUNCTION
  129.  *  wgui_multiline_inputbox_change_input_mode_smart_FRENCH
  130.  * DESCRIPTION
  131.  *  change multiline input box mode to FRENCH
  132.  * PARAMETERS
  133.  *  void
  134.  * RETURNS
  135.  *  void
  136.  *****************************************************************************/
  137. void wgui_multiline_inputbox_change_input_mode_smart_FRENCH(void)
  138. {
  139.     /*----------------------------------------------------------------*/
  140.     /* Local Variables                                                */
  141.     /*----------------------------------------------------------------*/
  142.     /*----------------------------------------------------------------*/
  143.     /* Code Body                                                      */
  144.     /*----------------------------------------------------------------*/
  145.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_FRENCH;
  146.     wgui_multiline_inputbox_input_mode_changed = 1;
  147. }
  148. /*****************************************************************************
  149.  * FUNCTION
  150.  *  wgui_multiline_inputbox_change_input_mode_smart_french
  151.  * DESCRIPTION
  152.  *  change multiline input box mode to french
  153.  * PARAMETERS
  154.  *  void
  155.  * RETURNS
  156.  *  void
  157.  *****************************************************************************/
  158. void wgui_multiline_inputbox_change_input_mode_smart_french(void)
  159. {
  160.     /*----------------------------------------------------------------*/
  161.     /* Local Variables                                                */
  162.     /*----------------------------------------------------------------*/
  163.     /*----------------------------------------------------------------*/
  164.     /* Code Body                                                      */
  165.     /*----------------------------------------------------------------*/
  166.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_FRENCH;
  167.     wgui_multiline_inputbox_input_mode_changed = 1;
  168. }
  169. #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
  170. #if defined(__MMI_T9_GERMAN__) || defined(__MMI_ZI_GERMAN__) || defined(__MMI_CSTAR_GERMAN__) //KP Jerry add "__MMI_CSTAR_GERMAN__" on 2007-4-6
  171. /*****************************************************************************
  172.  * FUNCTION
  173.  *  wgui_multiline_inputbox_change_input_mode_smart_GERMAN
  174.  * DESCRIPTION
  175.  *  change multiline input box mode to GERMAN
  176.  * PARAMETERS
  177.  *  void
  178.  * RETURNS
  179.  *  void
  180.  *****************************************************************************/
  181. void wgui_multiline_inputbox_change_input_mode_smart_GERMAN(void)
  182. {
  183.     /*----------------------------------------------------------------*/
  184.     /* Local Variables                                                */
  185.     /*----------------------------------------------------------------*/
  186.     /*----------------------------------------------------------------*/
  187.     /* Code Body                                                      */
  188.     /*----------------------------------------------------------------*/
  189.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_GERMAN;
  190.     wgui_multiline_inputbox_input_mode_changed = 1;
  191. }
  192. /*****************************************************************************
  193.  * FUNCTION
  194.  *  wgui_multiline_inputbox_change_input_mode_smart_german
  195.  * DESCRIPTION
  196.  *  change multiline input box mode to german
  197.  * PARAMETERS
  198.  *  void
  199.  * RETURNS
  200.  *  void
  201.  *****************************************************************************/
  202. void wgui_multiline_inputbox_change_input_mode_smart_german(void)
  203. {
  204.     /*----------------------------------------------------------------*/
  205.     /* Local Variables                                                */
  206.     /*----------------------------------------------------------------*/
  207.     /*----------------------------------------------------------------*/
  208.     /* Code Body                                                      */
  209.     /*----------------------------------------------------------------*/
  210.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_GERMAN;
  211.     wgui_multiline_inputbox_input_mode_changed = 1;
  212. }
  213. #endif /* defined(__MMI_T9_GERMAN__) || defined(__MMI_ZI_GERMAN__) || defined(__MMI_CSTAR_GERMAN__) */  //KP Jerry add "__MMI_CSTAR_GERMAN__" on 2007-4-6
  214. #if defined(__MMI_T9_ITALIAN__) || defined(__MMI_ZI_ITALIAN__) || defined(__MMI_CSTAR_ITALIAN__) //KP Jerry add "__MMI_CSTAR_ITALIAN__" on 2007-4-6
  215. /*****************************************************************************
  216.  * FUNCTION
  217.  *  wgui_multiline_inputbox_change_input_mode_smart_ITALIAN
  218.  * DESCRIPTION
  219.  *  change multiline input box mode to ITALIAN
  220.  * PARAMETERS
  221.  *  void
  222.  * RETURNS
  223.  *  void
  224.  *****************************************************************************/
  225. void wgui_multiline_inputbox_change_input_mode_smart_ITALIAN(void)
  226. {
  227.     /*----------------------------------------------------------------*/
  228.     /* Local Variables                                                */
  229.     /*----------------------------------------------------------------*/
  230.     /*----------------------------------------------------------------*/
  231.     /* Code Body                                                      */
  232.     /*----------------------------------------------------------------*/
  233.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_ITALIAN;
  234.     wgui_multiline_inputbox_input_mode_changed = 1;
  235. }
  236. /*****************************************************************************
  237.  * FUNCTION
  238.  *  wgui_multiline_inputbox_change_input_mode_smart_italian
  239.  * DESCRIPTION
  240.  *  change multiline input box mode to italian
  241.  * PARAMETERS
  242.  *  void
  243.  * RETURNS
  244.  *  void
  245.  *****************************************************************************/
  246. void wgui_multiline_inputbox_change_input_mode_smart_italian(void)
  247. {
  248.     /*----------------------------------------------------------------*/
  249.     /* Local Variables                                                */
  250.     /*----------------------------------------------------------------*/
  251.     /*----------------------------------------------------------------*/
  252.     /* Code Body                                                      */
  253.     /*----------------------------------------------------------------*/
  254.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_ITALIAN;
  255.     wgui_multiline_inputbox_input_mode_changed = 1;
  256. }
  257. #endif /* defined(__MMI_T9_ITALIAN__) || defined(__MMI_ZI_ITALIAN__) || defined(__MMI_CSTAR_ITALIAN__) */  //KP Jerry add "__MMI_CSTAR_ITALIAN__" on 2007-4-6
  258. #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-6
  259. /*****************************************************************************
  260.  * FUNCTION
  261.  *  wgui_multiline_inputbox_change_input_mode_smart_RUSSIAN
  262.  * DESCRIPTION
  263.  *  change multiline input box mode to RUSSIAN
  264.  * PARAMETERS
  265.  *  void
  266.  * RETURNS
  267.  *  void
  268.  *****************************************************************************/
  269. void wgui_multiline_inputbox_change_input_mode_smart_RUSSIAN(void)
  270. {
  271.     /*----------------------------------------------------------------*/
  272.     /* Local Variables                                                */
  273.     /*----------------------------------------------------------------*/
  274.     /*----------------------------------------------------------------*/
  275.     /* Code Body                                                      */
  276.     /*----------------------------------------------------------------*/
  277.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_RUSSIAN;
  278.     wgui_multiline_inputbox_input_mode_changed = 1;
  279. }
  280. /*****************************************************************************
  281.  * FUNCTION
  282.  *  wgui_multiline_inputbox_change_input_mode_smart_russian
  283.  * DESCRIPTION
  284.  *  change multiline input box mode to russian
  285.  * PARAMETERS
  286.  *  void
  287.  * RETURNS
  288.  *  void
  289.  *****************************************************************************/
  290. void wgui_multiline_inputbox_change_input_mode_smart_russian(void)
  291. {
  292.     /*----------------------------------------------------------------*/
  293.     /* Local Variables                                                */
  294.     /*----------------------------------------------------------------*/
  295.     /*----------------------------------------------------------------*/
  296.     /* Code Body                                                      */
  297.     /*----------------------------------------------------------------*/
  298.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_RUSSIAN;
  299.     wgui_multiline_inputbox_input_mode_changed = 1;
  300. }
  301. #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-6
  302. #if defined (__MMI_T9_BULGARIAN__) || defined(__MMI_ZI_BULGARIAN__) || defined(__MMI_CSTAR_BULGARIAN__) //KP Jerry add "__MMI_CSTAR_BULGARIAN__" on 2007-4-6
  303. /*****************************************************************************
  304.  * FUNCTION
  305.  *  wgui_multiline_inputbox_change_input_mode_smart_BULGARIAN
  306.  * DESCRIPTION
  307.  *  change multiline input box mode to BULGARIAN
  308.  * PARAMETERS
  309.  *  void
  310.  * RETURNS
  311.  *  void
  312.  *****************************************************************************/
  313. void wgui_multiline_inputbox_change_input_mode_smart_BULGARIAN(void)
  314. {
  315.     /*----------------------------------------------------------------*/
  316.     /* Local Variables                                                */
  317.     /*----------------------------------------------------------------*/
  318.     /*----------------------------------------------------------------*/
  319.     /* Code Body                                                      */
  320.     /*----------------------------------------------------------------*/
  321.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_BULGARIAN;
  322.     wgui_multiline_inputbox_input_mode_changed = 1;
  323. }
  324. /*****************************************************************************
  325.  * FUNCTION
  326.  *  wgui_multiline_inputbox_change_input_mode_smart_bulgarian
  327.  * DESCRIPTION
  328.  *  change multiline input box mode to bulgarian
  329.  * PARAMETERS
  330.  *  void
  331.  * RETURNS
  332.  *  void
  333.  *****************************************************************************/
  334. void wgui_multiline_inputbox_change_input_mode_smart_bulgarian(void)
  335. {
  336.     /*----------------------------------------------------------------*/
  337.     /* Local Variables                                                */
  338.     /*----------------------------------------------------------------*/
  339.     /*----------------------------------------------------------------*/
  340.     /* Code Body                                                      */
  341.     /*----------------------------------------------------------------*/
  342.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_BULGARIAN;
  343.     wgui_multiline_inputbox_input_mode_changed = 1;
  344. }
  345. #endif /* defined (__MMI_T9_BULGARIAN__) || defined(__MMI_ZI_BULGARIAN__) || defined(__MMI_CSTAR_BULGARIAN__) */  //KP Jerry add "__MMI_CSTAR_BULGARIAN__" on 2007-4-6
  346. #if defined(__MMI_ZI_TURKISH__) || defined(__MMI_T9_TURKISH__) || defined(__MMI_CSTAR_TURKISH__) //KP Jerry add "__MMI_CSTAR_TURKISH__" on 2007-4-6
  347. /*****************************************************************************
  348.  * FUNCTION
  349.  *  wgui_multiline_inputbox_change_input_mode_smart_TURKISH
  350.  * DESCRIPTION
  351.  *  change multiline input box mode to TURKISH
  352.  * PARAMETERS
  353.  *  void
  354.  * RETURNS
  355.  *  void
  356.  *****************************************************************************/
  357. void wgui_multiline_inputbox_change_input_mode_smart_TURKISH(void)
  358. {
  359.     /*----------------------------------------------------------------*/
  360.     /* Local Variables                                                */
  361.     /*----------------------------------------------------------------*/
  362.     /*----------------------------------------------------------------*/
  363.     /* Code Body                                                      */
  364.     /*----------------------------------------------------------------*/
  365.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_TURKISH;
  366.     wgui_multiline_inputbox_input_mode_changed = 1;
  367. }
  368. /*****************************************************************************
  369.  * FUNCTION
  370.  *  wgui_multiline_inputbox_change_input_mode_smart_turkish
  371.  * DESCRIPTION
  372.  *  change multiline input box mode to turkish
  373.  * PARAMETERS
  374.  *  void
  375.  * RETURNS
  376.  *  void
  377.  *****************************************************************************/
  378. void wgui_multiline_inputbox_change_input_mode_smart_turkish(void)
  379. {
  380.     /*----------------------------------------------------------------*/
  381.     /* Local Variables                                                */
  382.     /*----------------------------------------------------------------*/
  383.     /*----------------------------------------------------------------*/
  384.     /* Code Body                                                      */
  385.     /*----------------------------------------------------------------*/
  386.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_TURKISH;
  387.     wgui_multiline_inputbox_input_mode_changed = 1;
  388. }
  389. #endif /* defined(__MMI_ZI_TURKISH__) || defined(__MMI_T9_TURKISH__) || defined(__MMI_CSTAR_TURKISH__) */  //KP Jerry add "__MMI_CSTAR_TURKISH__" on 2007-4-6
  390. #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
  391. /*****************************************************************************
  392.  * FUNCTION
  393.  *  wgui_multiline_inputbox_change_input_mode_smart_PORTUGUESE
  394.  * DESCRIPTION
  395.  *  change multiline input box mode to PORTUGUESE
  396.  * PARAMETERS
  397.  *  void
  398.  * RETURNS
  399.  *  void
  400.  *****************************************************************************/
  401. void wgui_multiline_inputbox_change_input_mode_smart_PORTUGUESE(void)
  402. {
  403.     /*----------------------------------------------------------------*/
  404.     /* Local Variables                                                */
  405.     /*----------------------------------------------------------------*/
  406.     /*----------------------------------------------------------------*/
  407.     /* Code Body                                                      */
  408.     /*----------------------------------------------------------------*/
  409.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_PORTUGUESE;
  410.     wgui_multiline_inputbox_input_mode_changed = 1;
  411. }
  412. /*****************************************************************************
  413.  * FUNCTION
  414.  *  wgui_multiline_inputbox_change_input_mode_smart_portuguese
  415.  * DESCRIPTION
  416.  *  change multiline input box mode to portuguese
  417.  * PARAMETERS
  418.  *  void
  419.  * RETURNS
  420.  *  void
  421.  *****************************************************************************/
  422. void wgui_multiline_inputbox_change_input_mode_smart_portuguese(void)
  423. {
  424.     /*----------------------------------------------------------------*/
  425.     /* Local Variables                                                */
  426.     /*----------------------------------------------------------------*/
  427.     /*----------------------------------------------------------------*/
  428.     /* Code Body                                                      */
  429.     /*----------------------------------------------------------------*/
  430.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_PORTUGUESE;
  431.     wgui_multiline_inputbox_input_mode_changed = 1;
  432. }
  433. #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
  434. #if defined(__MMI_ZI_INDONESIAN__) || defined(__MMI_T9_INDONESIAN__) || defined(__MMI_CSTAR_INDONESIAN__) //KP Jerry add "__MMI_CSTAR_INDONESIAN__" on 2007-4-6
  435. /*****************************************************************************
  436.  * FUNCTION
  437.  *  wgui_multiline_inputbox_change_input_mode_smart_INDONESIAN
  438.  * DESCRIPTION
  439.  *  change multiline input box mode to INDONESIAN
  440.  * PARAMETERS
  441.  *  void
  442.  * RETURNS
  443.  *  void
  444.  *****************************************************************************/
  445. void wgui_multiline_inputbox_change_input_mode_smart_INDONESIAN(void)
  446. {
  447.     /*----------------------------------------------------------------*/
  448.     /* Local Variables                                                */
  449.     /*----------------------------------------------------------------*/
  450.     /*----------------------------------------------------------------*/
  451.     /* Code Body                                                      */
  452.     /*----------------------------------------------------------------*/
  453.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_INDONESIAN;
  454.     wgui_multiline_inputbox_input_mode_changed = 1;
  455. }
  456. /*****************************************************************************
  457.  * FUNCTION
  458.  *  wgui_multiline_inputbox_change_input_mode_smart_indonesian
  459.  * DESCRIPTION
  460.  *  change multiline input box mode to indonesian
  461.  * PARAMETERS
  462.  *  void
  463.  * RETURNS
  464.  *  void
  465.  *****************************************************************************/
  466. void wgui_multiline_inputbox_change_input_mode_smart_indonesian(void)
  467. {
  468.     /*----------------------------------------------------------------*/
  469.     /* Local Variables                                                */
  470.     /*----------------------------------------------------------------*/
  471.     /*----------------------------------------------------------------*/
  472.     /* Code Body                                                      */
  473.     /*----------------------------------------------------------------*/
  474.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_INDONESIAN;
  475.     wgui_multiline_inputbox_input_mode_changed = 1;
  476. }
  477. #endif /* defined(__MMI_ZI_INDONESIAN__) || defined(__MMI_T9_INDONESIAN__) || defined(__MMI_CSTAR_INDONESIAN__) */  //KP Jerry add "__MMI_CSTAR_INDONESIAN__" on 2007-4-6
  478. #if defined(__MMI_T9_CZECH__) || defined(__MMI_ZI_CZECH__) || defined(__MMI_CSTAR_CZECH__) //KP Jerry add "__MMI_CSTAR_CZECH__" on 2007-4-6
  479. /*****************************************************************************
  480.  * FUNCTION
  481.  *  wgui_multiline_inputbox_change_input_mode_smart_CZECH
  482.  * DESCRIPTION
  483.  *  change multiline input box mode to CZECH
  484.  * PARAMETERS
  485.  *  void
  486.  * RETURNS
  487.  *  void
  488.  *****************************************************************************/
  489. void wgui_multiline_inputbox_change_input_mode_smart_CZECH(void)
  490. {
  491.     /*----------------------------------------------------------------*/
  492.     /* Local Variables                                                */
  493.     /*----------------------------------------------------------------*/
  494.     /*----------------------------------------------------------------*/
  495.     /* Code Body                                                      */
  496.     /*----------------------------------------------------------------*/
  497.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_CZECH;
  498.     wgui_multiline_inputbox_input_mode_changed = 1;
  499. }
  500. /*****************************************************************************
  501.  * FUNCTION
  502.  *  wgui_multiline_inputbox_change_input_mode_smart_czech
  503.  * DESCRIPTION
  504.  *  change multiline input box mode to czech
  505.  * PARAMETERS
  506.  *  void
  507.  * RETURNS
  508.  *  void
  509.  *****************************************************************************/
  510. void wgui_multiline_inputbox_change_input_mode_smart_czech(void)
  511. {
  512.     /*----------------------------------------------------------------*/
  513.     /* Local Variables                                                */
  514.     /*----------------------------------------------------------------*/
  515.     /*----------------------------------------------------------------*/
  516.     /* Code Body                                                      */
  517.     /*----------------------------------------------------------------*/
  518.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_CZECH;
  519.     wgui_multiline_inputbox_input_mode_changed = 1;
  520. }
  521. #endif /* defined(__MMI_T9_CZECH__) || defined(__MMI_ZI_CZECH__) || defined(__MMI_CSTAR_CZECH__) */  //KP Jerry add "__MMI_CSTAR_CZECH__" on 2007-4-6
  522. #if defined(__MMI_ZI_MALAY__) || defined(__MMI_T9_MALAY__) || defined(__MMI_CSTAR_MALAY__) //KP Jerry add "__MMI_CSTAR_MALAY__" on 2007-4-6
  523. /*****************************************************************************
  524.  * FUNCTION
  525.  *  wgui_multiline_inputbox_change_input_mode_smart_MALAY
  526.  * DESCRIPTION
  527.  *  change multiline input box mode to MALAY
  528.  * PARAMETERS
  529.  *  void
  530.  * RETURNS
  531.  *  void
  532.  *****************************************************************************/
  533. void wgui_multiline_inputbox_change_input_mode_smart_MALAY(void)
  534. {
  535.     /*----------------------------------------------------------------*/
  536.     /* Local Variables                                                */
  537.     /*----------------------------------------------------------------*/
  538.     /*----------------------------------------------------------------*/
  539.     /* Code Body                                                      */
  540.     /*----------------------------------------------------------------*/
  541.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_MALAY;
  542.     wgui_multiline_inputbox_input_mode_changed = 1;
  543. }
  544. /*****************************************************************************
  545.  * FUNCTION
  546.  *  wgui_multiline_inputbox_change_input_mode_smart_malay
  547.  * DESCRIPTION
  548.  *  change multiline input box mode to malay
  549.  * PARAMETERS
  550.  *  void
  551.  * RETURNS
  552.  *  void
  553.  *****************************************************************************/
  554. void wgui_multiline_inputbox_change_input_mode_smart_malay(void)
  555. {
  556.     /*----------------------------------------------------------------*/
  557.     /* Local Variables                                                */
  558.     /*----------------------------------------------------------------*/
  559.     /*----------------------------------------------------------------*/
  560.     /* Code Body                                                      */
  561.     /*----------------------------------------------------------------*/
  562.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_MALAY;
  563.     wgui_multiline_inputbox_input_mode_changed = 1;
  564. }
  565. #endif /* defined(__MMI_ZI_MALAY__) || defined(__MMI_T9_MALAY__) || defined(__MMI_CSTAR_MALAY__) */  //KP Jerry add "__MMI_CSTAR_MALAY__" on 2007-4-6
  566. #if defined(__MMI_ZI_VIETNAMESE__) || defined(__MMI_T9_VIETNAMESE__) || defined(__MMI_CSTAR_VIETNAMESE__) //KP Jerry add "__MMI_CSTAR_VIETNAMESE__" on 2007-4-6
  567. /*****************************************************************************
  568.  * FUNCTION
  569.  *  wgui_multiline_inputbox_change_input_mode_smart_VIETNAMESE
  570.  * DESCRIPTION
  571.  *  change multiline input box mode to VIETNAMESE
  572.  * PARAMETERS
  573.  *  void
  574.  * RETURNS
  575.  *  void
  576.  *****************************************************************************/
  577. void wgui_multiline_inputbox_change_input_mode_smart_VIETNAMESE(void)
  578. {
  579.     /*----------------------------------------------------------------*/
  580.     /* Local Variables                                                */
  581.     /*----------------------------------------------------------------*/
  582.     /*----------------------------------------------------------------*/
  583.     /* Code Body                                                      */
  584.     /*----------------------------------------------------------------*/
  585.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_VIETNAMESE;
  586.     wgui_multiline_inputbox_input_mode_changed = 1;
  587. }
  588. /*****************************************************************************
  589.  * FUNCTION
  590.  *  wgui_multiline_inputbox_change_input_mode_smart_vietnamese
  591.  * DESCRIPTION
  592.  *  change multiline input box mode to vietnamese
  593.  * PARAMETERS
  594.  *  void
  595.  * RETURNS
  596.  *  void
  597.  *****************************************************************************/
  598. void wgui_multiline_inputbox_change_input_mode_smart_vietnamese(void)
  599. {
  600.     /*----------------------------------------------------------------*/
  601.     /* Local Variables                                                */
  602.     /*----------------------------------------------------------------*/
  603.     /*----------------------------------------------------------------*/
  604.     /* Code Body                                                      */
  605.     /*----------------------------------------------------------------*/
  606.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_VIETNAMESE;
  607.     wgui_multiline_inputbox_input_mode_changed = 1;
  608. }
  609. #endif /* defined(__MMI_ZI_VIETNAMESE__) || defined(__MMI_T9_VIETNAMESE__) || defined(__MMI_CSTAR_VIETNAMESE__) */  //KP Jerry add "__MMI_CSTAR_VIETNAMESE__" on 2007-4-6
  610. #if defined(__MMI_T9_FINNISH__) || defined(__MMI_ZI_FINNISH__) || defined(__MMI_CSTAR_FINNISH__) //KP Jerry add "__MMI_CSTAR_FINNISH__" on 2007-4-6
  611. /*****************************************************************************
  612.  * FUNCTION
  613.  *  wgui_multiline_inputbox_change_input_mode_smart_FINNISH
  614.  * DESCRIPTION
  615.  *  change multiline input box mode to FINNISH
  616.  * PARAMETERS
  617.  *  void
  618.  * RETURNS
  619.  *  void
  620.  *****************************************************************************/
  621. void wgui_multiline_inputbox_change_input_mode_smart_FINNISH(void)
  622. {
  623.     /*----------------------------------------------------------------*/
  624.     /* Local Variables                                                */
  625.     /*----------------------------------------------------------------*/
  626.     /*----------------------------------------------------------------*/
  627.     /* Code Body                                                      */
  628.     /*----------------------------------------------------------------*/
  629.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_FINNISH;
  630.     wgui_multiline_inputbox_input_mode_changed = 1;
  631. }
  632. /*****************************************************************************
  633.  * FUNCTION
  634.  *  wgui_multiline_inputbox_change_input_mode_smart_finnish
  635.  * DESCRIPTION
  636.  *  change multiline input box mode to finnish
  637.  * PARAMETERS
  638.  *  void
  639.  * RETURNS
  640.  *  void
  641.  *****************************************************************************/
  642. void wgui_multiline_inputbox_change_input_mode_smart_finnish(void)
  643. {
  644.     /*----------------------------------------------------------------*/
  645.     /* Local Variables                                                */
  646.     /*----------------------------------------------------------------*/
  647.     /*----------------------------------------------------------------*/
  648.     /* Code Body                                                      */
  649.     /*----------------------------------------------------------------*/
  650.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_FINNISH;
  651.     wgui_multiline_inputbox_input_mode_changed = 1;
  652. }
  653. #endif /* defined(__MMI_T9_FINNISH__) || defined(__MMI_ZI_FINNISH__) || defined(__MMI_CSTAR_FINNISH__) */  //KP Jerry add "__MMI_CSTAR_FINNISH__" on 2007-4-6
  654. #if defined(__MMI_T9_HUNGARIAN__) || defined(__MMI_ZI_HUNGARIAN__) || defined(__MMI_CSTAR_HUNGARIAN__) //KP Jerry add "__MMI_CSTAR_HUNGARIAN__" on 2007-4-6
  655. /*****************************************************************************
  656.  * FUNCTION
  657.  *  wgui_multiline_inputbox_change_input_mode_smart_HUNGARIAN
  658.  * DESCRIPTION
  659.  *  change multiline input box mode to HUNGARIAN
  660.  * PARAMETERS
  661.  *  void
  662.  * RETURNS
  663.  *  void
  664.  *****************************************************************************/
  665. void wgui_multiline_inputbox_change_input_mode_smart_HUNGARIAN(void)
  666. {
  667.     /*----------------------------------------------------------------*/
  668.     /* Local Variables                                                */
  669.     /*----------------------------------------------------------------*/
  670.     /*----------------------------------------------------------------*/
  671.     /* Code Body                                                      */
  672.     /*----------------------------------------------------------------*/
  673.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_HUNGARIAN;
  674.     wgui_multiline_inputbox_input_mode_changed = 1;
  675. }
  676. /*****************************************************************************
  677.  * FUNCTION
  678.  *  wgui_multiline_inputbox_change_input_mode_smart_hungarian
  679.  * DESCRIPTION
  680.  *  change multiline input box mode to hungarian
  681.  * PARAMETERS
  682.  *  void
  683.  * RETURNS
  684.  *  void
  685.  *****************************************************************************/
  686. void wgui_multiline_inputbox_change_input_mode_smart_hungarian(void)
  687. {
  688.     /*----------------------------------------------------------------*/
  689.     /* Local Variables                                                */
  690.     /*----------------------------------------------------------------*/
  691.     /*----------------------------------------------------------------*/
  692.     /* Code Body                                                      */
  693.     /*----------------------------------------------------------------*/
  694.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_HUNGARIAN;
  695.     wgui_multiline_inputbox_input_mode_changed = 1;
  696. }
  697. #endif /* defined(__MMI_T9_HUNGARIAN__) || defined(__MMI_ZI_HUNGARIAN__) || defined(__MMI_CSTAR_HUNGARIAN__) */  //KP Jerry add "__MMI_CSTAR_HUNGARIAN__" on 2007-4-6
  698. #if defined(__MMI_T9_SLOVAK__) || defined(__MMI_ZI_SLOVAK__) || defined(__MMI_CSTAR_SLOVAK__)  //KP Jerry add "__MMI_CSTAR_SLOVAK__" on 2007-4-6
  699. /*****************************************************************************
  700.  * FUNCTION
  701.  *  wgui_multiline_inputbox_change_input_mode_smart_SLOVAK
  702.  * DESCRIPTION
  703.  *  change multiline input box mode to SLOVAK
  704.  * PARAMETERS
  705.  *  void
  706.  * RETURNS
  707.  *  void
  708.  *****************************************************************************/
  709. void wgui_multiline_inputbox_change_input_mode_smart_SLOVAK(void)
  710. {
  711.     /*----------------------------------------------------------------*/
  712.     /* Local Variables                                                */
  713.     /*----------------------------------------------------------------*/
  714.     /*----------------------------------------------------------------*/
  715.     /* Code Body                                                      */
  716.     /*----------------------------------------------------------------*/
  717.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_SLOVAK;
  718.     wgui_multiline_inputbox_input_mode_changed = 1;
  719. }
  720. /*****************************************************************************
  721.  * FUNCTION
  722.  *  wgui_multiline_inputbox_change_input_mode_smart_slovak
  723.  * DESCRIPTION
  724.  *  change multiline input box mode to slovak
  725.  * PARAMETERS
  726.  *  void
  727.  * RETURNS
  728.  *  void
  729.  *****************************************************************************/
  730. void wgui_multiline_inputbox_change_input_mode_smart_slovak(void)
  731. {
  732.     /*----------------------------------------------------------------*/
  733.     /* Local Variables                                                */
  734.     /*----------------------------------------------------------------*/
  735.     /*----------------------------------------------------------------*/
  736.     /* Code Body                                                      */
  737.     /*----------------------------------------------------------------*/
  738.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_SLOVAK;
  739.     wgui_multiline_inputbox_input_mode_changed = 1;
  740. }
  741. #endif /* defined(__MMI_T9_SLOVAK__) || defined(__MMI_ZI_SLOVAK__) || defined(__MMI_CSTAR_SLOVAK__) */   //KP Jerry add "__MMI_CSTAR_SLOVAK__" on 2007-4-6
  742. #if defined(__MMI_ZI_DUTCH__) || defined(__MMI_T9_DUTCH__) || defined(__MMI_CSTAR_DUTCH__)   //KP Jerry add "__MMI_CSTAR_DUTCH__" on 2007-4-6
  743. /*****************************************************************************
  744.  * FUNCTION
  745.  *  wgui_multiline_inputbox_change_input_mode_smart_DUTCH
  746.  * DESCRIPTION
  747.  *  change multiline input box mode to DUTCH
  748.  * PARAMETERS
  749.  *  void
  750.  * RETURNS
  751.  *  void
  752.  *****************************************************************************/
  753. void wgui_multiline_inputbox_change_input_mode_smart_DUTCH(void)
  754. {
  755.     /*----------------------------------------------------------------*/
  756.     /* Local Variables                                                */
  757.     /*----------------------------------------------------------------*/
  758.     /*----------------------------------------------------------------*/
  759.     /* Code Body                                                      */
  760.     /*----------------------------------------------------------------*/
  761.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_DUTCH;
  762.     wgui_multiline_inputbox_input_mode_changed = 1;
  763. }
  764. /*****************************************************************************
  765.  * FUNCTION
  766.  *  wgui_multiline_inputbox_change_input_mode_smart_dutch
  767.  * DESCRIPTION
  768.  *  change multiline input box mode to dutch
  769.  * PARAMETERS
  770.  *  void
  771.  * RETURNS
  772.  *  void
  773.  *****************************************************************************/
  774. void wgui_multiline_inputbox_change_input_mode_smart_dutch(void)
  775. {
  776.     /*----------------------------------------------------------------*/
  777.     /* Local Variables                                                */
  778.     /*----------------------------------------------------------------*/
  779.     /*----------------------------------------------------------------*/
  780.     /* Code Body                                                      */
  781.     /*----------------------------------------------------------------*/
  782.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_DUTCH;
  783.     wgui_multiline_inputbox_input_mode_changed = 1;
  784. }
  785. #endif /* defined(__MMI_ZI_DUTCH__) || defined(__MMI_T9_DUTCH__) || defined(__MMI_CSTAR_DUTCH__) */    //KP Jerry add "__MMI_CSTAR_DUTCH__" on 2007-4-6
  786. #if defined(__MMI_T9_NORWEGIAN__) || defined(__MMI_ZI_NORWEGIAN__) || defined(__MMI_CSTAR_NORWEGIAN__)   //KP Jerry add "__MMI_CSTAR_NORWEGIAN__" on 2007-4-6
  787. /*****************************************************************************
  788.  * FUNCTION
  789.  *  wgui_multiline_inputbox_change_input_mode_smart_NORWEGIAN
  790.  * DESCRIPTION
  791.  *  change multiline input box mode to NORWEGIAN
  792.  * PARAMETERS
  793.  *  void
  794.  * RETURNS
  795.  *  void
  796.  *****************************************************************************/
  797. void wgui_multiline_inputbox_change_input_mode_smart_NORWEGIAN(void)
  798. {
  799.     /*----------------------------------------------------------------*/
  800.     /* Local Variables                                                */
  801.     /*----------------------------------------------------------------*/
  802.     /*----------------------------------------------------------------*/
  803.     /* Code Body                                                      */
  804.     /*----------------------------------------------------------------*/
  805.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_NORWEGIAN;
  806.     wgui_multiline_inputbox_input_mode_changed = 1;
  807. }
  808. /*****************************************************************************
  809.  * FUNCTION
  810.  *  wgui_multiline_inputbox_change_input_mode_smart_norwegian
  811.  * DESCRIPTION
  812.  *  change multiline input box mode to vietnamese
  813.  * PARAMETERS
  814.  *  void
  815.  * RETURNS
  816.  *  void
  817.  *****************************************************************************/
  818. void wgui_multiline_inputbox_change_input_mode_smart_norwegian(void)
  819. {
  820.     /*----------------------------------------------------------------*/
  821.     /* Local Variables                                                */
  822.     /*----------------------------------------------------------------*/
  823.     /*----------------------------------------------------------------*/
  824.     /* Code Body                                                      */
  825.     /*----------------------------------------------------------------*/
  826.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_NORWEGIAN;
  827.     wgui_multiline_inputbox_input_mode_changed = 1;
  828. }
  829. #endif /* defined(__MMI_T9_NORWEGIAN__) || defined(__MMI_ZI_NORWEGIAN__) || defined(__MMI_CSTAR_NORWEGIAN__) */    //KP Jerry add "__MMI_CSTAR_NORWEGIAN__" on 2007-4-6
  830. #endif /* defined(__MMI_T9__) || defined(__MMI_ZI__) || defined(__MMI_CSTAR__) || defined(__MMI_KA__) || defined(__MMI_ITAP__) */    //KP Jerry add "__MMI_CSTAR__" on 2007-4-6
  831. #if defined(__MMI_T9_SWEDISH__) || defined(__MMI_ZI_SWEDISH__) || defined(__MMI_CSTAR_SWEDISH__)   //KP Jerry add "__MMI_CSTAR_SWEDISH__" on 2007-4-6
  832. /*****************************************************************************
  833.  * FUNCTION
  834.  *  wgui_multiline_inputbox_change_input_mode_smart_SWEDISH
  835.  * DESCRIPTION
  836.  *  change multiline input box mode to SWEDISH
  837.  * PARAMETERS
  838.  *  void
  839.  * RETURNS
  840.  *  void
  841.  *****************************************************************************/
  842. void wgui_multiline_inputbox_change_input_mode_smart_SWEDISH(void)
  843. {
  844.     /*----------------------------------------------------------------*/
  845.     /* Local Variables                                                */
  846.     /*----------------------------------------------------------------*/
  847.     /*----------------------------------------------------------------*/
  848.     /* Code Body                                                      */
  849.     /*----------------------------------------------------------------*/
  850.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_SWEDISH;
  851.     wgui_multiline_inputbox_input_mode_changed = 1;
  852. }
  853. /*****************************************************************************
  854.  * FUNCTION
  855.  *  wgui_multiline_inputbox_change_input_mode_smart_swedish
  856.  * DESCRIPTION
  857.  *  change multiline input box mode to swedish
  858.  * PARAMETERS
  859.  *  void
  860.  * RETURNS
  861.  *  void
  862.  *****************************************************************************/
  863. void wgui_multiline_inputbox_change_input_mode_smart_swedish(void)
  864. {
  865.     /*----------------------------------------------------------------*/
  866.     /* Local Variables                                                */
  867.     /*----------------------------------------------------------------*/
  868.     /*----------------------------------------------------------------*/
  869.     /* Code Body                                                      */
  870.     /*----------------------------------------------------------------*/
  871.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_SWEDISH;
  872.     wgui_multiline_inputbox_input_mode_changed = 1;
  873. }
  874. #endif /* defined(__MMI_T9_SWEDISH__) || defined(__MMI_ZI_SWEDISH__) || defined(__MMI_CSTAR_SWEDISH__) */    //KP Jerry add "__MMI_CSTAR_SWEDISH__" on 2007-4-6
  875. #if defined(__MMI_T9_CROATIAN__) || defined(__MMI_ZI_CROATIAN__) || defined(__MMI_CSTAR_CROATIAN__)   //KP Jerry add "__MMI_CSTAR_CROATIAN__" on 2007-4-6
  876. /*****************************************************************************
  877.  * FUNCTION
  878.  *  wgui_multiline_inputbox_change_input_mode_smart_CROATIAN
  879.  * DESCRIPTION
  880.  *  change multiline input box mode to CROATIAN
  881.  * PARAMETERS
  882.  *  void
  883.  * RETURNS
  884.  *  void
  885.  *****************************************************************************/
  886. void wgui_multiline_inputbox_change_input_mode_smart_CROATIAN(void)
  887. {
  888.     /*----------------------------------------------------------------*/
  889.     /* Local Variables                                                */
  890.     /*----------------------------------------------------------------*/
  891.     /*----------------------------------------------------------------*/
  892.     /* Code Body                                                      */
  893.     /*----------------------------------------------------------------*/
  894.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_CROATIAN;
  895.     wgui_multiline_inputbox_input_mode_changed = 1;
  896. }
  897. /*****************************************************************************
  898.  * FUNCTION
  899.  *  wgui_multiline_inputbox_change_input_mode_smart_croatian
  900.  * DESCRIPTION
  901.  *  change multiline input box mode to croatian
  902.  * PARAMETERS
  903.  *  void
  904.  * RETURNS
  905.  *  void
  906.  *****************************************************************************/
  907. void wgui_multiline_inputbox_change_input_mode_smart_croatian(void)
  908. {
  909.     /*----------------------------------------------------------------*/
  910.     /* Local Variables                                                */
  911.     /*----------------------------------------------------------------*/
  912.     /*----------------------------------------------------------------*/
  913.     /* Code Body                                                      */
  914.     /*----------------------------------------------------------------*/
  915.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_CROATIAN;
  916.     wgui_multiline_inputbox_input_mode_changed = 1;
  917. }
  918. #endif /* defined(__MMI_T9_CROATIAN__) || defined(__MMI_ZI_CROATIAN__) || defined(__MMI_CSTAR_CROATIAN__) */    //KP Jerry add "__MMI_CSTAR_CROATIAN__" on 2007-4-6
  919. #if defined(__MMI_ZI_ROMANIAN__) || defined(__MMI_T9_ROMANIAN__) || defined(__MMI_CSTAR_ROMANIAN__)   //KP Jerry add "__MMI_CSTAR_ROMANIAN__" on 2007-4-6
  920. /*****************************************************************************
  921.  * FUNCTION
  922.  *  wgui_multiline_inputbox_change_input_mode_smart_ROMANIAN
  923.  * DESCRIPTION
  924.  *  change multiline input box mode to ROMANIAN
  925.  * PARAMETERS
  926.  *  void
  927.  * RETURNS
  928.  *  void
  929.  *****************************************************************************/
  930. void wgui_multiline_inputbox_change_input_mode_smart_ROMANIAN(void)
  931. {
  932.     /*----------------------------------------------------------------*/
  933.     /* Local Variables                                                */
  934.     /*----------------------------------------------------------------*/
  935.     /*----------------------------------------------------------------*/
  936.     /* Code Body                                                      */
  937.     /*----------------------------------------------------------------*/
  938.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_ROMANIAN;
  939.     wgui_multiline_inputbox_input_mode_changed = 1;
  940. }
  941. /*****************************************************************************
  942.  * FUNCTION
  943.  *  wgui_multiline_inputbox_change_input_mode_smart_romanian
  944.  * DESCRIPTION
  945.  *  change multiline input box mode to romanian
  946.  * PARAMETERS
  947.  *  void
  948.  * RETURNS
  949.  *  void
  950.  *****************************************************************************/
  951. void wgui_multiline_inputbox_change_input_mode_smart_romanian(void)
  952. {
  953.     /*----------------------------------------------------------------*/
  954.     /* Local Variables                                                */
  955.     /*----------------------------------------------------------------*/
  956.     /*----------------------------------------------------------------*/
  957.     /* Code Body                                                      */
  958.     /*----------------------------------------------------------------*/
  959.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_ROMANIAN;
  960.     wgui_multiline_inputbox_input_mode_changed = 1;
  961. }
  962. #endif /* defined(__MMI_ZI_ROMANIAN__) || defined(__MMI_T9_ROMANIAN__) || defined(__MMI_CSTAR_ROMANIAN__) */    //KP Jerry add "__MMI_CSTAR_ROMANIAN__" on 2007-4-6
  963. #if defined(__MMI_T9_SLOVENIAN__) || defined(__MMI_ZI_SLOVENIAN__) || defined(__MMI_CSTAR_SLOVENIAN__)   //KP Jerry add "__MMI_CSTAR_SLOVENIAN__" on 2007-4-6
  964. /*****************************************************************************
  965.  * FUNCTION
  966.  *  wgui_multiline_inputbox_change_input_mode_smart_SLOVENIAN
  967.  * DESCRIPTION
  968.  *  change multiline input box mode to SLOVENIAN
  969.  * PARAMETERS
  970.  *  void
  971.  * RETURNS
  972.  *  void
  973.  *****************************************************************************/
  974. void wgui_multiline_inputbox_change_input_mode_smart_SLOVENIAN(void)
  975. {
  976.     /*----------------------------------------------------------------*/
  977.     /* Local Variables                                                */
  978.     /*----------------------------------------------------------------*/
  979.     /*----------------------------------------------------------------*/
  980.     /* Code Body                                                      */
  981.     /*----------------------------------------------------------------*/
  982.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_SLOVENIAN;
  983.     wgui_multiline_inputbox_input_mode_changed = 1;
  984. }
  985. /*****************************************************************************
  986.  * FUNCTION
  987.  *  wgui_multiline_inputbox_change_input_mode_smart_slovenian
  988.  * DESCRIPTION
  989.  *  change multiline input box mode to slovenian
  990.  * PARAMETERS
  991.  *  void
  992.  * RETURNS
  993.  *  void
  994.  *****************************************************************************/
  995. void wgui_multiline_inputbox_change_input_mode_smart_slovenian(void)
  996. {
  997.     /*----------------------------------------------------------------*/
  998.     /* Local Variables                                                */
  999.     /*----------------------------------------------------------------*/
  1000.     /*----------------------------------------------------------------*/
  1001.     /* Code Body                                                      */
  1002.     /*----------------------------------------------------------------*/
  1003.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_SLOVENIAN;
  1004.     wgui_multiline_inputbox_input_mode_changed = 1;
  1005. }
  1006. #endif /* defined(__MMI_T9_SLOVENIAN__) || defined(__MMI_ZI_SLOVENIAN__) || defined(__MMI_CSTAR_SLOVENIAN__) */    //KP Jerry add "__MMI_CSTAR_SLOVENIAN__" on 2007-4-6
  1007. #if defined(__MMI_T9_GREEK__) || defined(__MMI_ZI_GREEK__) || defined(__MMI_CSTAR_GREEK__)   //KP Jerry add "__MMI_CSTAR_GREEK__" on 2007-4-6
  1008. /*****************************************************************************
  1009.  * FUNCTION
  1010.  *  wgui_multiline_inputbox_change_input_mode_smart_GREEK
  1011.  * DESCRIPTION
  1012.  *  change multiline input box mode to GREEK
  1013.  * PARAMETERS
  1014.  *  void
  1015.  * RETURNS
  1016.  *  void
  1017.  *****************************************************************************/
  1018. void wgui_multiline_inputbox_change_input_mode_smart_GREEK(void)
  1019. {
  1020.     /*----------------------------------------------------------------*/
  1021.     /* Local Variables                                                */
  1022.     /*----------------------------------------------------------------*/
  1023.     /*----------------------------------------------------------------*/
  1024.     /* Code Body                                                      */
  1025.     /*----------------------------------------------------------------*/
  1026.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_UPPERCASE_GREEK;
  1027.     wgui_multiline_inputbox_input_mode_changed = 1;
  1028. }
  1029. /*****************************************************************************
  1030.  * FUNCTION
  1031.  *  wgui_multiline_inputbox_change_input_mode_smart_greek
  1032.  * DESCRIPTION
  1033.  *  change multiline input box mode to greek
  1034.  * PARAMETERS
  1035.  *  void
  1036.  * RETURNS
  1037.  *  void
  1038.  *****************************************************************************/
  1039. void wgui_multiline_inputbox_change_input_mode_smart_greek(void)
  1040. {
  1041.     /*----------------------------------------------------------------*/
  1042.     /* Local Variables                                                */
  1043.     /*----------------------------------------------------------------*/
  1044.     /*----------------------------------------------------------------*/
  1045.     /* Code Body                                                      */
  1046.     /*----------------------------------------------------------------*/
  1047.     wgui_multiline_inputbox_input_type = INPUT_TYPE_SMART_LOWERCASE_GREEK;
  1048.     wgui_multiline_inputbox_input_mode_changed = 1;
  1049. }
  1050. #endif /* defined(__MMI_T9_GREEK__) || defined(__MMI_ZI_GREEK__) || defined(__MMI_CSTAR_GREEK__) */    //KP Jerry add "__MMI_CSTAR_GREEK__" on 2007-4-6
  1051. /*****************************************************************************
  1052.  * FUNCTION
  1053.  *  wgui_multiline_inputbox_insert_symbol
  1054.  * DESCRIPTION
  1055.  *  insert symbol in multiline input box
  1056.  * PARAMETERS
  1057.  *  symbol      [IN]        
  1058.  * RETURNS
  1059.  *  void
  1060.  *****************************************************************************/
  1061. void wgui_multiline_inputbox_insert_symbol(UI_character_type symbol)
  1062. {
  1063.     /*----------------------------------------------------------------*/
  1064.     /* Local Variables                                                */
  1065.     /*----------------------------------------------------------------*/
  1066.     /*----------------------------------------------------------------*/
  1067.     /* Code Body                                                      */
  1068.     /*----------------------------------------------------------------*/
  1069.     multiline_inputbox_direct_input(symbol);
  1070. }
  1071. /*****************************************************************************
  1072.  * FUNCTION
  1073.  *  mmi_ime_ui_get_current_type
  1074.  * DESCRIPTION
  1075.  *  Query current input method type
  1076.  * PARAMETERS
  1077.  *  void
  1078.  * RETURNS
  1079.  *  types [OUT] 0 : multitap, others : smart (Please attention that the multitap pinyin is also belong to smart )
  1080.  *****************************************************************************/
  1081. int mmi_ime_ui_get_current_type()
  1082. {
  1083.     switch (MMI_current_input_mode)
  1084.     {
  1085.         case INPUT_MODE_MULTITAP_UPPERCASE_ABC:
  1086.         case INPUT_MODE_MULTITAP_LOWERCASE_ABC:
  1087.         case INPUT_MODE_123:
  1088.         #if defined (__MMI_MULTITAP_THAI__)
  1089.         case INPUT_MODE_MULTITAP_THAI:
  1090.     #endif /* defined (__MMI_MULTITAP_THAI__) */ 
  1091.     #if defined(__MMI_MULTITAP_SPANISH__)
  1092.         case INPUT_MODE_MULTITAP_UPPERCASE_SPANISH:
  1093.         case INPUT_MODE_MULTITAP_LOWERCASE_SPANISH:
  1094.     #endif /* defined(__MMI_MULTITAP_SPANISH__) */ 
  1095.     #if defined(__MMI_MULTITAP_DANISH__)
  1096.         case INPUT_MODE_MULTITAP_UPPERCASE_DANISH:
  1097.         case INPUT_MODE_MULTITAP_LOWERCASE_DANISH:
  1098.     #endif /* defined(__MMI_MULTITAP_DANISH__) */ 
  1099.     #if defined(__MMI_MULTITAP_POLISH__)
  1100.         case INPUT_MODE_MULTITAP_UPPERCASE_POLISH:
  1101.         case INPUT_MODE_MULTITAP_LOWERCASE_POLISH:
  1102.     #endif /* defined(__MMI_MULTITAP_POLISH__) */ 
  1103.     #if defined(__MMI_MULTITAP_FRENCH__)
  1104.         case INPUT_MODE_MULTITAP_UPPERCASE_FRENCH:
  1105.         case INPUT_MODE_MULTITAP_LOWERCASE_FRENCH:
  1106.     #endif /* defined(__MMI_MULTITAP_FRENCH__) */ 
  1107.     #if defined(__MMI_MULTITAP_GERMAN__)
  1108.         case INPUT_MODE_MULTITAP_UPPERCASE_GERMAN:
  1109.         case INPUT_MODE_MULTITAP_LOWERCASE_GERMAN:
  1110.     #endif /* defined(__MMI_MULTITAP_GERMAN__) */ 
  1111.     #if defined(__MMI_MULTITAP_ITALIAN__)
  1112.         case INPUT_MODE_MULTITAP_UPPERCASE_ITALIAN:
  1113.         case INPUT_MODE_MULTITAP_LOWERCASE_ITALIAN:
  1114.     #endif /* defined(__MMI_MULTITAP_ITALIAN__) */ 
  1115.     #if defined(__MMI_MULTITAP_RUSSIAN__)
  1116.         case INPUT_MODE_MULTITAP_UPPERCASE_RUSSIAN:
  1117.         case INPUT_MODE_MULTITAP_LOWERCASE_RUSSIAN:
  1118.     #endif /* defined(__MMI_MULTITAP_RUSSIAN__) */ 
  1119.     #if defined(__MMI_MULTITAP_BULGARIAN__)
  1120.         case INPUT_MODE_MULTITAP_UPPERCASE_BULGARIAN:
  1121.         case INPUT_MODE_MULTITAP_LOWERCASE_BULGARIAN:
  1122.     #endif /* defined(__MMI_MULTITAP_BULGARIAN__) */ 
  1123.     #if defined(__MMI_MULTITAP_TURKISH__)
  1124.         case INPUT_MODE_MULTITAP_UPPERCASE_TURKISH:
  1125.         case INPUT_MODE_MULTITAP_LOWERCASE_TURKISH:
  1126.     #endif /* defined(__MMI_MULTITAP_TURKISH__) */ 
  1127.     #if defined(__MMI_MULTITAP_PORTUGUESE__)
  1128.         case INPUT_MODE_MULTITAP_UPPERCASE_PORTUGUESE:
  1129.         case INPUT_MODE_MULTITAP_LOWERCASE_PORTUGUESE:
  1130.     #endif /* defined(__MMI_MULTITAP_PORTUGUESE__) */ 
  1131.     #if defined(__MMI_MULTITAP_INDONESIAN__)
  1132.         case INPUT_MODE_MULTITAP_UPPERCASE_INDONESIAN:
  1133.         case INPUT_MODE_MULTITAP_LOWERCASE_INDONESIAN:
  1134.     #endif /* defined(__MMI_MULTITAP_INDONESIAN__) */ 
  1135.     #if defined(__MMI_MULTITAP_CZECH__)
  1136.         case INPUT_MODE_MULTITAP_UPPERCASE_CZECH:
  1137.         case INPUT_MODE_MULTITAP_LOWERCASE_CZECH:
  1138.     #endif /* defined(__MMI_MULTITAP_CZECH__) */ 
  1139.     #if defined(__MMI_MULTITAP_MALAY__)
  1140.         case INPUT_MODE_MULTITAP_UPPERCASE_MALAY:
  1141.         case INPUT_MODE_MULTITAP_LOWERCASE_MALAY:
  1142.     #endif /* defined(__MMI_MULTITAP_MALAY__) */ 
  1143.     #if defined(__MMI_MULTITAP_VIETNAMESE__)
  1144.         case INPUT_MODE_MULTITAP_UPPERCASE_VIETNAMESE:
  1145.         case INPUT_MODE_MULTITAP_LOWERCASE_VIETNAMESE:
  1146.     #endif /* defined(__MMI_MULTITAP_VIETNAMESE__) */ 
  1147.     #if defined(__MMI_MULTITAP_FINNISH__)
  1148.         case INPUT_MODE_MULTITAP_UPPERCASE_FINNISH:
  1149.         case INPUT_MODE_MULTITAP_LOWERCASE_FINNISH:
  1150.     #endif /* defined(__MMI_MULTITAP_FINNISH__) */ 
  1151.     #if defined(__MMI_MULTITAP_HUNGARIAN__)
  1152.         case INPUT_MODE_MULTITAP_UPPERCASE_HUNGARIAN:
  1153.         case INPUT_MODE_MULTITAP_LOWERCASE_HUNGARIAN:
  1154.     #endif /* defined(__MMI_MULTITAP_HUNGARIAN__) */ 
  1155.     #if defined(__MMI_MULTITAP_HEBREW__)
  1156.         case INPUT_MODE_MULTITAP_HEBREW:
  1157.     #endif /* defined(__MMI_MULTITAP_HEBREW__) */ 
  1158.     #if defined(__MMI_MULTITAP_SLOVAK__)
  1159.         case INPUT_MODE_MULTITAP_UPPERCASE_SLOVAK:
  1160.         case INPUT_MODE_MULTITAP_LOWERCASE_SLOVAK:
  1161.     #endif /* defined(__MMI_MULTITAP_SLOVAK__) */ 
  1162.     #if defined(__MMI_MULTITAP_DUTCH__)
  1163.         case INPUT_MODE_MULTITAP_UPPERCASE_DUTCH:
  1164.     #endif /* defined(__MMI_MULTITAP_DUTCH__) */ 
  1165.     #if defined(__MMI_MULTITAP_ARABIC__)
  1166.         case INPUT_MODE_MULTITAP_ARABIC:
  1167.     #endif /* defined(__MMI_MULTITAP_ARABIC__) */ 
  1168.     #if defined(__MMI_MULTITAP_PERSIAN__)
  1169.         case INPUT_MODE_MULTITAP_PERSIAN:
  1170.     #endif
  1171.     #if defined(__MMI_MULTITAP_NORWEGIAN__)
  1172.         case INPUT_MODE_MULTITAP_UPPERCASE_NORWEGIAN:
  1173.         case INPUT_MODE_MULTITAP_LOWERCASE_NORWEGIAN:
  1174.     #endif /* defined(__MMI_MULTITAP_NORWEGIAN__) */ 
  1175.     #if defined(__MMI_MULTITAP_NORWEGIAN__)
  1176.         case INPUT_MODE_MULTITAP_UPPERCASE_NORWEGIAN:
  1177.         case INPUT_MODE_MULTITAP_LOWERCASE_NORWEGIAN:
  1178.     #endif /* defined(__MMI_MULTITAP_NORWEGIAN__) */ 
  1179.     #if defined(__MMI_MULTITAP_SWEDISH__)
  1180.         case INPUT_MODE_MULTITAP_UPPERCASE_SWEDISH:
  1181.         case INPUT_MODE_MULTITAP_LOWERCASE_SWEDISH:
  1182.     #endif /* defined(__MMI_MULTITAP_SWEDISH__) */ 
  1183.     #if defined(__MMI_MULTITAP_CROATIAN__)
  1184.         case INPUT_MODE_MULTITAP_UPPERCASE_CROATIAN:
  1185.         case INPUT_MODE_MULTITAP_LOWERCASE_CROATIAN:
  1186.     #endif /* defined(__MMI_MULTITAP_CROATIAN__) */ 
  1187.     #if defined(__MMI_MULTITAP_ROMANIAN__)
  1188.         case INPUT_MODE_MULTITAP_UPPERCASE_ROMANIAN:
  1189.         case INPUT_MODE_MULTITAP_LOWERCASE_ROMANIAN:
  1190.     #endif /* defined(__MMI_MULTITAP_ROMANIAN__) */ 
  1191.     #if defined(__MMI_MULTITAP_SLOVENIAN__)
  1192.         case INPUT_MODE_MULTITAP_UPPERCASE_SLOVENIAN:
  1193.         case INPUT_MODE_MULTITAP_LOWERCASE_SLOVENIAN:
  1194.     #endif /* defined(__MMI_MULTITAP_SLOVENIAN__) */ 
  1195.     #if defined(__MMI_MULTITAP_GREEK__)
  1196.         case INPUT_MODE_MULTITAP_UPPERCASE_GREEK:
  1197.         case INPUT_MODE_MULTITAP_LOWERCASE_GREEK:
  1198.     #endif /* defined(__MMI_MULTITAP_GREEK__) */  
  1199.             return 0;
  1200.             break;
  1201.             #ifdef __MMI_T9__
  1202.         case INPUT_MODE_TR_BOPOMO:
  1203.         case INPUT_MODE_SM_PINYIN:
  1204.         case INPUT_MODE_TR_STROKE:
  1205.         case INPUT_MODE_SM_STROKE:
  1206.         case INPUT_MODE_SMART_UPPERCASE_ABC:
  1207.         case INPUT_MODE_SMART_LOWERCASE_ABC:
  1208.         case INPUT_MODE_TR_MULTITAP_BOPOMO:
  1209.         case INPUT_MODE_SM_MULTITAP_PINYIN:
  1210.     #if defined (__MMI_T9_THAI__)
  1211.         case INPUT_MODE_SMART_THAI:
  1212.     #endif 
  1213.     #if defined(__MMI_T9_SPANISH__)
  1214.         case INPUT_MODE_SMART_UPPERCASE_SPANISH:
  1215.         case INPUT_MODE_SMART_LOWERCASE_SPANISH:
  1216.     #endif /* defined(__MMI_T9_SPANISH__) */ 
  1217.     #if defined(__MMI_T9_DANISH__)
  1218.         case INPUT_MODE_SMART_UPPERCASE_DANISH:
  1219.         case INPUT_MODE_SMART_LOWERCASE_DANISH:
  1220.     #endif /* defined(__MMI_T9_DANISH__) */ 
  1221.     #if defined(__MMI_T9_POLISH__)
  1222.         case INPUT_MODE_SMART_UPPERCASE_POLISH:
  1223.         case INPUT_MODE_SMART_LOWERCASE_POLISH:
  1224.     #endif /* defined(__MMI_T9_POLISH__) */ 
  1225.     #if defined(__MMI_T9_FRENCH__)
  1226.         case INPUT_MODE_SMART_UPPERCASE_FRENCH:
  1227.         case INPUT_MODE_SMART_LOWERCASE_FRENCH:
  1228.     #endif /* defined(__MMI_T9_FRENCH__) */ 
  1229.     #if defined(__MMI_T9_GERMAN__)
  1230.         case INPUT_MODE_SMART_UPPERCASE_GERMAN:
  1231.         case INPUT_MODE_SMART_LOWERCASE_GERMAN:
  1232.     #endif /* defined(__MMI_T9_GERMAN__) */ 
  1233.     #if defined(__MMI_T9_ITALIAN__)
  1234.         case INPUT_MODE_SMART_UPPERCASE_ITALIAN:
  1235.         case INPUT_MODE_SMART_LOWERCASE_ITALIAN:
  1236.     #endif /* defined(__MMI_T9_ITALIAN__) */ 
  1237.     #if defined(__MMI_T9_RUSSIAN__)
  1238.         case INPUT_MODE_SMART_UPPERCASE_RUSSIAN:
  1239.         case INPUT_MODE_SMART_LOWERCASE_RUSSIAN:
  1240.     #endif /* defined(__MMI_T9_RUSSIAN__) */ 
  1241.     #if defined(__MMI_T9_BULGARIAN__)
  1242.         case INPUT_MODE_SMART_UPPERCASE_BULGARIAN:
  1243.         case INPUT_MODE_SMART_LOWERCASE_BULGARIAN:
  1244.     #endif /* defined(__MMI_T9_BULGARIAN__) */ 
  1245.     #if defined(__MMI_T9_VIETNAMESE__)
  1246.         case INPUT_MODE_SMART_UPPERCASE_VIETNAMESE:
  1247.         case INPUT_MODE_SMART_LOWERCASE_VIETNAMESE:
  1248.     #endif /* defined(__MMI_T9_VIETNAMESE__) */ 
  1249.     #if defined(__MMI_T9_TURKISH__)
  1250.         case INPUT_MODE_SMART_UPPERCASE_TURKISH:
  1251.         case INPUT_MODE_SMART_LOWERCASE_TURKISH:
  1252.     #endif /* defined(__MMI_T9_TURKISH__) */ 
  1253.     #if defined(__MMI_T9_PORTUGUESE__)
  1254.         case INPUT_MODE_SMART_UPPERCASE_PORTUGUESE:
  1255.         case INPUT_MODE_SMART_LOWERCASE_PORTUGUESE:
  1256.     #endif /* defined(__MMI_T9_PORTUGUESE__) */ 
  1257.     #if defined(__MMI_T9_FINNISH__)
  1258.         case INPUT_MODE_SMART_UPPERCASE_FINNISH:
  1259.         case INPUT_MODE_SMART_LOWERCASE_FINNISH:
  1260.     #endif /* defined(__MMI_T9_FINNISH__) */ 
  1261.     #if defined(__MMI_T9_HUNGARIAN__)
  1262.         case INPUT_MODE_SMART_UPPERCASE_HUNGARIAN:
  1263.         case INPUT_MODE_SMART_LOWERCASE_HUNGARIAN:
  1264.     #endif /* defined(__MMI_T9_HUNGARIAN__) */ 
  1265.     #if defined(__MMI_T9_ARABIC__)
  1266.         case INPUT_MODE_SMART_ARABIC:
  1267.     #endif 
  1268.     #if defined(__MMI_T9_GREEK__)
  1269.         case INPUT_MODE_SMART_UPPERCASE_GREEK:
  1270.         case INPUT_MODE_SMART_LOWERCASE_GREEK:
  1271.     #endif /* defined(__MMI_T9_GREEK__) */ 
  1272.     #if defined(__MMI_T9_HEBREW__)
  1273.         case INPUT_MODE_SMART_HEBREW:
  1274.     #endif 
  1275.     #if defined(__MMI_T9_HINDI__)
  1276.         case INPUT_MODE_SMART_HINDI:
  1277.     #endif 
  1278.     #if defined(__MMI_T9_NORWEGIAN__)
  1279.         case INPUT_MODE_SMART_UPPERCASE_NORWEGIAN:
  1280.         case INPUT_MODE_SMART_LOWERCASE_NORWEGIAN:
  1281.     #endif /* defined(__MMI_T9_NORWEGIAN__) */ 
  1282.     #if defined(__MMI_T9_DUTCH__)
  1283.         case INPUT_MODE_SMART_UPPERCASE_DUTCH:
  1284.         case INPUT_MODE_SMART_LOWERCASE_DUTCH:
  1285.     #endif /* defined(__MMI_T9_DUTCH__) */ 
  1286.     #if defined(__MMI_T9_SLOVENIAN__)
  1287.         case INPUT_MODE_SMART_UPPERCASE_SLOVENIAN:
  1288.         case INPUT_MODE_SMART_LOWERCASE_SLOVENIAN:
  1289.     #endif /* defined(__MMI_T9_SLOVENIAN__) */ 
  1290.     #if defined(__MMI_T9_SWEDISH__)
  1291.         case INPUT_MODE_SMART_UPPERCASE_SWEDISH:
  1292.         case INPUT_MODE_SMART_LOWERCASE_SWEDISH:
  1293.     #endif /* defined(__MMI_T9_SWEDISH__) */ 
  1294.     #if defined(__MMI_T9_MALAY__)
  1295.         case INPUT_MODE_SMART_UPPERCASE_MALAY:
  1296.         case INPUT_MODE_SMART_LOWERCASE_MALAY:
  1297.     #endif /* defined(__MMI_T9_MALAY__) */ 
  1298.     #if defined(__MMI_T9_CROATIAN__)
  1299.         case INPUT_MODE_SMART_UPPERCASE_CROATIAN:
  1300.         case INPUT_MODE_SMART_LOWERCASE_CROATIAN:
  1301.     #endif /* defined(__MMI_T9_CROATIAN__) */ 
  1302.     #if defined(__MMI_T9_SLOVAK__)
  1303.         case INPUT_MODE_SMART_UPPERCASE_SLOVAK:
  1304.         case INPUT_MODE_SMART_LOWERCASE_SLOVAK:
  1305.     #endif /* defined(__MMI_T9_SLOVAK__) */ 
  1306.     #if defined(__MMI_T9_ROMANIAN__)
  1307.         case INPUT_MODE_SMART_UPPERCASE_ROMANIAN:
  1308.         case INPUT_MODE_SMART_LOWERCASE_ROMANIAN:
  1309.     #endif /* defined(__MMI_T9_ROMANIAN__) */ 
  1310.             return 1;
  1311.             break;
  1312.     #elif defined __MMI_ZI__
  1313.         case INPUT_MODE_TR_BOPOMO:
  1314.         case INPUT_MODE_SM_PINYIN:
  1315.         case INPUT_MODE_TR_STROKE:
  1316.         case INPUT_MODE_SM_STROKE:
  1317.         case INPUT_MODE_SMART_UPPERCASE_ABC:
  1318.         case INPUT_MODE_SMART_LOWERCASE_ABC:
  1319.             /* MTK Elvis multitap phonetic input mode */
  1320.         case INPUT_MODE_TR_MULTITAP_BOPOMO:
  1321.         case INPUT_MODE_SM_MULTITAP_PINYIN:
  1322.             /* MTK end */
  1323.         case INPUT_MODE_SMART_THAI:
  1324.     #if defined(__MMI_ZI_EU_SPANISH__) || defined(__MMI_ZI_SA_SPANISH__)
  1325.         case INPUT_MODE_SMART_UPPERCASE_SPANISH:
  1326.         case INPUT_MODE_SMART_LOWERCASE_SPANISH:
  1327.     #endif /* defined(__MMI_ZI_EU_SPANISH__) || defined(__MMI_ZI_SA_SPANISH__) */ 
  1328.     #if defined(__MMI_ZI_HEBREW__)
  1329.         case INPUT_MODE_SMART_HEBREW:
  1330.     #endif 
  1331.     #if defined(__MMI_ZI_DANISH__)
  1332.         case INPUT_MODE_SMART_UPPERCASE_DANISH:
  1333.         case INPUT_MODE_SMART_LOWERCASE_DANISH:
  1334.     #endif /* defined(__MMI_ZI_DANISH__) */ 
  1335.     #if defined(__MMI_ZI_POLISH__)
  1336.         case INPUT_MODE_SMART_UPPERCASE_POLISH:
  1337.         case INPUT_MODE_SMART_LOWERCASE_POLISH:
  1338.     #endif /* defined(__MMI_ZI_POLISH__) */ 
  1339.     #if defined(__MMI_ZI_CA_FRENCH__) || defined(__MMI_ZI_EU_FRENCH__)
  1340.         case INPUT_MODE_SMART_UPPERCASE_FRENCH:
  1341.         case INPUT_MODE_SMART_LOWERCASE_FRENCH:
  1342.     #endif /* defined(__MMI_ZI_CA_FRENCH__) || defined(__MMI_ZI_EU_FRENCH__) */ 
  1343.     #if defined(__MMI_ZI_GERMAN__)
  1344.         case INPUT_MODE_SMART_UPPERCASE_GERMAN:
  1345.         case INPUT_MODE_SMART_LOWERCASE_GERMAN:
  1346.     #endif /* defined(__MMI_ZI_GERMAN__) */ 
  1347.     #if defined(__MMI_ZI_ITALIAN__)
  1348.         case INPUT_MODE_SMART_UPPERCASE_ITALIAN:
  1349.         case INPUT_MODE_SMART_LOWERCASE_ITALIAN:
  1350.     #endif /* defined(__MMI_ZI_ITALIAN__) */ 
  1351.     #if defined(__MMI_ZI_RUSSIAN__) || defined(__MMI_ZI_RECOMMENDED_SIZE_RUSSIAN__)
  1352.         case INPUT_MODE_SMART_UPPERCASE_RUSSIAN:
  1353.         case INPUT_MODE_SMART_LOWERCASE_RUSSIAN:
  1354.     #endif /* defined(__MMI_ZI_RUSSIAN__) || defined(__MMI_ZI_RECOMMENDED_SIZE_RUSSIAN__) */ 
  1355.     #if defined(__MMI_ZI_BULGARIAN__)
  1356.         case INPUT_MODE_SMART_UPPERCASE_BULGARIAN:
  1357.         case INPUT_MODE_SMART_LOWERCASE_BULGARIAN:
  1358.     #endif /* defined(__MMI_ZI_BULGARIAN__) */ 
  1359.     #if defined(__MMI_ZI_TURKISH__)
  1360.         case INPUT_MODE_SMART_UPPERCASE_TURKISH:
  1361.         case INPUT_MODE_SMART_LOWERCASE_TURKISH:
  1362.     #endif /* defined(__MMI_ZI_TURKISH__) */ 
  1363.     #if defined(__MMI_ZI_EU_PORTUGUESE__) || defined(__MMI_ZI_SA_PORTUGUESE__) || defined(__MMI_ZI_BZ_PORTUGUESE__)
  1364.         case INPUT_MODE_SMART_UPPERCASE_PORTUGUESE:
  1365.         case INPUT_MODE_SMART_LOWERCASE_PORTUGUESE:
  1366.     #endif /* defined(__MMI_ZI_EU_PORTUGUESE__) || defined(__MMI_ZI_SA_PORTUGUESE__) || defined(__MMI_ZI_BZ_PORTUGUESE__) */ 
  1367.     #if defined(__MMI_ZI_INDONESIAN__) || defined(__MMI_T9_INDONESIAN__)
  1368.         case INPUT_MODE_SMART_UPPERCASE_INDONESIAN:
  1369.         case INPUT_MODE_SMART_LOWERCASE_INDONESIAN:
  1370.     #endif /* defined(__MMI_ZI_INDONESIAN__) || defined(__MMI_T9_INDONESIAN__) */ 
  1371.     #if defined(__MMI_T9_CZECH__) || defined(__MMI_ZI_CZECH__)
  1372.         case INPUT_MODE_SMART_UPPERCASE_CZECH:
  1373.         case INPUT_MODE_SMART_LOWERCASE_CZECH:
  1374.     #endif /* defined(__MMI_T9_CZECH__) || defined(__MMI_ZI_CZECH__) */ 
  1375.     #if defined(__MMI_ZI_MALAY__)
  1376.         case INPUT_MODE_SMART_UPPERCASE_MALAY:
  1377.         case INPUT_MODE_SMART_LOWERCASE_MALAY:
  1378.     #endif /* defined(__MMI_ZI_MALAY__) */ 
  1379.     #if defined(__MMI_ZI_VIETNAMESE__)
  1380.         case INPUT_MODE_SMART_UPPERCASE_VIETNAMESE:
  1381.         case INPUT_MODE_SMART_LOWERCASE_VIETNAMESE:
  1382.     #endif /* defined(__MMI_ZI_VIETNAMESE__) */ 
  1383.     #if defined(__MMI_ZI_SWEDISH__)
  1384.         case INPUT_MODE_SMART_UPPERCASE_SWEDISH:
  1385.         case INPUT_MODE_SMART_LOWERCASE_SWEDISH:
  1386.     #endif /* defined(__MMI_ZI_SWEDISH__) */ 
  1387.     #if defined(__MMI_ZI_SLOVAK__)
  1388.         case INPUT_MODE_SMART_UPPERCASE_SLOVAK:
  1389.         case INPUT_MODE_SMART_LOWERCASE_SLOVAK:
  1390.     #endif /* defined(__MMI_ZI_SLOVAK__) */ 
  1391.     #if defined(__MMI_ZI_DUTCH__)
  1392.         case INPUT_MODE_SMART_UPPERCASE_DUTCH:
  1393.         case INPUT_MODE_SMART_LOWERCASE_DUTCH:
  1394.     #endif /* defined(__MMI_ZI_DUTCH__) */ 
  1395.     #if defined(__MMI_ZI_CROATIAN__)
  1396.         case INPUT_MODE_SMART_UPPERCASE_CROATIAN:
  1397.         case INPUT_MODE_SMART_LOWERCASE_CROATIAN:
  1398.     #endif /* defined(__MMI_ZI_CROATIAN__) */ 
  1399.     #if defined(__MMI_ZI_ROMANIAN__)
  1400.         case INPUT_MODE_SMART_UPPERCASE_ROMANIAN:
  1401.         case INPUT_MODE_SMART_LOWERCASE_ROMANIAN:
  1402.     #endif /* defined(__MMI_ZI_ROMANIAN__) */ 
  1403.     #if defined(__MMI_ZI_SLOVENIAN__)
  1404.         case INPUT_MODE_SMART_UPPERCASE_SLOVENIAN:
  1405.         case INPUT_MODE_SMART_LOWERCASE_SLOVENIAN:
  1406.     #endif /* defined(__MMI_ZI_SLOVENIAN__) */ 
  1407.     #if defined(__MMI_ZI_NORWEGIAN__)
  1408.         case INPUT_MODE_SMART_UPPERCASE_NORWEGIAN:
  1409.         case INPUT_MODE_SMART_LOWERCASE_NORWEGIAN:
  1410.     #endif /* defined(__MMI_ZI_NORWEGIAN__) */ 
  1411.     #if defined(__MMI_ZI_GREEK__)
  1412.         case INPUT_MODE_SMART_UPPERCASE_GREEK:
  1413.         case INPUT_MODE_SMART_LOWERCASE_GREEK:
  1414.     #endif /* defined(__MMI_ZI_GREEK__) */ 
  1415.     #if defined(__MMI_ZI_FINNISH__)
  1416.         case INPUT_MODE_SMART_UPPERCASE_FINNISH:
  1417.         case INPUT_MODE_SMART_LOWERCASE_FINNISH:
  1418.     #endif /* defined(__MMI_ZI_FINNISH__) */ 
  1419.     #if defined(__MMI_ZI_HUNGARIAN__)
  1420.         case INPUT_MODE_SMART_UPPERCASE_HUNGARIAN:
  1421.         case INPUT_MODE_SMART_LOWERCASE_HUNGARIAN:
  1422.     #endif /* defined(__MMI_ZI_HUNGARIAN__) */ 
  1423.             return 2;
  1424.             break;
  1425.     #endif
  1426.     }
  1427.     return -1;
  1428. }
  1429. /*****************************************************************************
  1430.  * FUNCTION
  1431.  *  mmi_ime_ui_screen_state_query
  1432.  * DESCRIPTION
  1433.  *  Query input method screen state
  1434.  * PARAMETERS
  1435.  *  void
  1436.  * RETURNS
  1437.  *  MMI_TRUE [OUT] LSK label is changable, not controlled by input method
  1438.  *****************************************************************************/
  1439. #if defined (__MMI_ZI__) || defined(__MMI_T9__) 
  1440. extern MMI_BOOL mmi_ime_screen_state_query();
  1441. #endif
  1442. MMI_BOOL mmi_ime_ui_screen_state_query(void)
  1443. {
  1444.     int type;
  1445.     MMI_BOOL result = MMI_TRUE;
  1446.     type = mmi_ime_ui_get_current_type();
  1447.     switch (type)
  1448.     {
  1449.     case 0: /* Multitap */
  1450.         result = MMI_TRUE;
  1451.         break;
  1452. #if defined (__MMI_ZI__) || defined(__MMI_T9__) 
  1453.     case 1: /* T9 */
  1454.     case 2: /* Zi */
  1455.         result = mmi_ime_screen_state_query();
  1456.         break;
  1457. #endif
  1458.     default:
  1459.         result = MMI_TRUE;
  1460.         break;
  1461.     }
  1462.     return result;
  1463. }
  1464. /*****************************************************************************
  1465.  * FUNCTION
  1466.  *  wgui_multiline_inputbox_validation_callback
  1467.  * DESCRIPTION
  1468.  *  multiline input boxvalidation call back
  1469.  * PARAMETERS
  1470.  *  text            [IN]        Text of input box
  1471.  *  cursor          [IN]        
  1472.  *  text_length     [IN]        Text length
  1473.  * RETURNS
  1474.  *  void
  1475.  *****************************************************************************/
  1476. void wgui_multiline_inputbox_validation_callback(UI_buffer_type text, UI_buffer_type cursor, S32 text_length)
  1477. {
  1478.     /*----------------------------------------------------------------*/
  1479.     /* Local Variables                                                */
  1480.     /*----------------------------------------------------------------*/
  1481.     /*----------------------------------------------------------------*/
  1482.     /* Code Body                                                      */
  1483.     /*----------------------------------------------------------------*/
  1484.     // modified by ailsa
  1485.     if (wgui_inputbox_validation_callback != NULL && mmi_ime_ui_screen_state_query() == MMI_TRUE)
  1486.     {
  1487.         wgui_inputbox_validation_callback(text, cursor, text_length);
  1488.     }
  1489. }
  1490. /*****************************************************************************
  1491.  * FUNCTION
  1492.  *  wgui_multiline_inputbox_get_UCS2_count
  1493.  * DESCRIPTION
  1494.  *  Return UCS2 count of multiline input box
  1495.  * PARAMETERS
  1496.  *  void
  1497.  * RETURNS
  1498.  *  void
  1499.  *****************************************************************************/
  1500. S32 wgui_multiline_inputbox_get_UCS2_count(void)
  1501. {
  1502.     /*----------------------------------------------------------------*/
  1503.     /* Local Variables                                                */
  1504.     /*----------------------------------------------------------------*/
  1505.     /*----------------------------------------------------------------*/
  1506.     /* Code Body                                                      */
  1507.     /*----------------------------------------------------------------*/
  1508.     return (MMI_multiline_inputbox.UCS2_count);
  1509. }
  1510. /*****************************************************************************
  1511.  * FUNCTION
  1512.  *  wgui_multiline_inputbox_get_GSM_ext_count
  1513.  * DESCRIPTION
  1514.  *  Returns the number of GSM extended characters in the
  1515.  *  multiline input box buffer
  1516.  * PARAMETERS
  1517.  *  void
  1518.  * RETURNS
  1519.  *  The number of extended characters
  1520.  *****************************************************************************/
  1521. S32 wgui_multiline_inputbox_get_GSM_ext_count(void)
  1522. {
  1523.     /*----------------------------------------------------------------*/
  1524.     /* Local Variables                                                */
  1525.     /*----------------------------------------------------------------*/
  1526.     /*----------------------------------------------------------------*/
  1527.     /* Code Body                                                      */
  1528.     /*----------------------------------------------------------------*/
  1529.     return (MMI_multiline_inputbox.GSM_ext_count);
  1530. }
  1531. /*****************************************************************************
  1532.  * FUNCTION
  1533.  *  wgui_multiline_inputbox_test_change_input_mode
  1534.  * DESCRIPTION
  1535.  *  test the input mode of input box
  1536.  * PARAMETERS
  1537.  *  void
  1538.  * RETURNS
  1539.  *  byte
  1540.  *****************************************************************************/
  1541. U8 wgui_multiline_inputbox_test_change_input_mode(void)
  1542. {
  1543.     /*----------------------------------------------------------------*/
  1544.     /* Local Variables                                                */
  1545.     /*----------------------------------------------------------------*/
  1546.     /*----------------------------------------------------------------*/
  1547.     /* Code Body                                                      */
  1548.     /*----------------------------------------------------------------*/
  1549.     if (MMI_multiline_inputbox.flags & UI_MULTI_LINE_INPUT_BOX_USE_ENCODING_BASED_LENGTH)
  1550.     {
  1551.         if (MMI_multiline_inputbox.UCS2_count <= 0)
  1552.         {
  1553.         #ifdef __MMI_MESSAGES_CHAT__
  1554.             if ((MMI_multiline_inputbox.flags & UI_MULTI_LINE_INPUT_BOX_SMS_MAX_LENGTH_HANDLING) &&
  1555.                 (((MMI_multiline_inputbox.text_length - ENCODING_LENGTH) >> 1) >= MAX_MSG_SIZE_UCS2))
  1556.             {
  1557.                 return (0);
  1558.             }
  1559.             else
  1560.         #endif /* __MMI_MESSAGES_CHAT__ */ 
  1561.             if ((MMI_multiline_inputbox.flags & UI_MULTI_LINE_INPUT_BOX_ONE_LESS_CHARACTER) &&
  1562.                     (MMI_multiline_inputbox.text_length >= ((MMI_multiline_inputbox.available_length >> 1) - 1)))
  1563.             {
  1564.                 return (0);
  1565.             }
  1566.             else if (MMI_multiline_inputbox.text_length >= (MMI_multiline_inputbox.available_length >> 1))
  1567.             {
  1568.                 return (0);
  1569.             }
  1570.             else
  1571.             {
  1572.                 return (1);
  1573.             }
  1574.         }
  1575.         else
  1576.         {
  1577.             return (1);
  1578.         }
  1579.     }
  1580.     else
  1581.     {
  1582.         return (1);
  1583.     }
  1584. }
  1585. /*****************************************************************************
  1586.  * FUNCTION
  1587.  *  wgui_setup_inputbox_ext
  1588.  * DESCRIPTION
  1589.  *  set teh input box
  1590.  * PARAMETERS
  1591.  *  x                           [IN]        Start x postition of inputr box
  1592.  *  y                           [IN]        Strar y position of input box
  1593.  *  width                       [IN]        Width of input box
  1594.  *  height                      [IN]        Height of input boxc
  1595.  *  buffer                      [IN]        Buffer of input box
  1596.  *  buffer_size                 [IN]        
  1597.  *  category_screen_ID          [IN]        Category screen id
  1598.  *  RSK_label                   [IN]        RSK label
  1599.  *  RSK_icon                    [IN]        RSK icon
  1600.  *  input_type                  [IN]        
  1601.  *  history_buffer              [IN]        History buffer
  1602.  *  information_bar_flag        [IN]        Information flag
  1603.  *  additional_flags            [IN]        Additional inputbox flags
  1604.  *  min_text_height             [IN]        Minimum text height
  1605.  *  min_line_height             [IN]        Minimum text height
  1606.  *  header_height               [IN]        Editor header height
  1607.  *  footer_height               [IN]        Editor footer height
  1608.  *  icon_callback               [IN]        
  1609.  *  input(?)                    [IN]        Type
  1610.  * RETURNS
  1611.  *  void
  1612.  *****************************************************************************/
  1613. #if defined(__MMI_SMART_MESSAGE_MO__) && !defined(__MMI_MESSAGES_EMS__)
  1614. extern nsm_msg_struct g_nsm_msg_context;
  1615. #endif 
  1616. void wgui_setup_inputbox_ext(
  1617.         S32 x,
  1618.         S32 y,
  1619.         S32 width,
  1620.         S32 height,
  1621.         U8 *buffer,
  1622.         S32 buffer_size,
  1623.         U16 category_screen_ID,
  1624.         UI_string_type RSK_label,
  1625.         PU8 RSK_icon,
  1626.         U16 input_type,
  1627.         U8 *history_buffer,
  1628.         U8 information_bar_flag,
  1629.         U32 additional_flags,
  1630.         S16 min_text_height,
  1631.         S16 min_line_height,
  1632.         S16 header_height,
  1633.         S16 footer_height,
  1634.         multi_line_input_box_icon_hdlr icon_callback)
  1635. {
  1636.     /*----------------------------------------------------------------*/
  1637.     /* Local Variables                                                */
  1638.     /*----------------------------------------------------------------*/
  1639.     S32 l, h, fh;
  1640.     S16 input_type_flags = input_type & (~INPUT_TYPE_MASK);
  1641.     U8 saved_MMI_current_input_mode;
  1642.     U32 saved_inputbox_flags;
  1643.     U8 override_history_input_type = 0;
  1644.     S16 saved_input_type = input_type;
  1645.     U8 plus_character_handling = 0;
  1646. #if defined(__MMI_TOUCH_SCREEN__) || defined(__MMI_HANDWRITING_PAD__)
  1647.     mmi_pen_handwriting_area_struct stroke_area;
  1648.     mmi_pen_handwriting_area_struct ext_stroke;
  1649. #endif /* defined(__MMI_TOUCH_SCREEN__) || defined(__MMI_HANDWRITING_PAD__) */ 
  1650.     /*----------------------------------------------------------------*/
  1651.     /* Code Body                                                      */
  1652.     /*----------------------------------------------------------------*/
  1653.     //Ailsa for remvoing smart ABC, abc from INPUT_TYPE_ALPHANUMERIC_PASSWORD
  1654.     mmi_is_alphanum_pass = MMI_FALSE;
  1655.     if ((input_type & INPUT_TYPE_MASK) == INPUT_TYPE_ALPHANUMERIC_PASSWORD)
  1656.     {
  1657.         mmi_is_alphanum_pass = MMI_TRUE;
  1658.     }
  1659. #if defined(__MMI_HINDI_ALG__)
  1660.     set_use_multitap();
  1661. #endif 
  1662.     UI_UNUSED_PARAMETER(width);
  1663.     /* W05.36 Fix Vietnamese Tone Input Issue */
  1664.     set_current_input_box_type(EDITOR_MULTILINE_INPUT_BOX);
  1665.     /* to add the T9 max length limitation */
  1666. #if defined(__MMI_T9__)
  1667.     if (buffer_size > CHINESE_BUFFER_LENGTH)
  1668.     {
  1669.         buffer_size = CHINESE_BUFFER_LENGTH;
  1670.     }
  1671. #endif /* defined(__MMI_T9__) */ 
  1672.     /* START PMTFARHAD 20050224 */
  1673. //PMT START PERSIAN
  1674. #if defined __MMI_LANG_HINDI__  && (defined __MMI_LANG_ARABIC__ || defined __MMI_LANG_PERSIAN__)
  1675. //PMT END PERSIAN
  1676.     {
  1677.         U16 unicode = 0;
  1678.         U16 clFill = 0;
  1679.         ARABIC_PRESENT = 0;
  1680.         HINDI_PRESENT = 0;
  1681.         while ((buffer[clFill] != '' || buffer[clFill + 1] != ''))
  1682.         {
  1683.             unicode = buffer[clFill];
  1684.             unicode |= (buffer[clFill + 1] << 8);
  1685.             if (UI_HINDI_CHARACTER_UCS2_RANGE(unicode))
  1686.             {
  1687.                 HINDI_PRESENT = 1;
  1688.                 break;
  1689.             }
  1690.             clFill += 2;
  1691.         }
  1692.         if (!HINDI_PRESENT)
  1693.         {
  1694.             U16 default_direction = 1;
  1695.             U16 Count = 0;
  1696.             U16 length = pfnUnicodeStrlen((const char*)buffer) * 2;
  1697.             for (Count = 0; Count < length; Count += 2)
  1698.             {
  1699.                 bidi_get_char_type(buffer + Count, (U8*) & default_direction);
  1700.                 if ((default_direction == 5) || (default_direction == 3) || (default_direction == 2))
  1701.                 {
  1702.                     ARABIC_PRESENT = 1;
  1703.                     break;
  1704.                 }
  1705.             }
  1706.         }
  1707.     }
  1708. #endif /* defined __MMI_LANG_HINDI__ && defined __MMI_LANG_ARABIC__ */ 
  1709.     //MTK Terry move to here for wgui_set_default_input_type
  1710.     test_change_input_mode = wgui_multiline_inputbox_test_change_input_mode;
  1711.     wgui_inputbox_buffer_size = buffer_size;
  1712.     if (input_type & INPUT_TYPE_PLUS_CHARACTER_HANDLING)
  1713.     {
  1714.         plus_character_handling = 1;
  1715.     }
  1716.     wgui_set_default_input_type(&input_type);
  1717.     l = gui_strlen((UI_string_type) buffer);
  1718.     create_multiline_inputbox_set_buffer((UI_string_type) buffer, buffer_size, l, l);
  1719.     if (information_bar_flag)
  1720.         wgui_inputbox_information_flag = 1;
  1721.     MMI_multiline_inputbox.flags |= additional_flags;
  1722.     MMI_multiline_inputbox.min_text_height = min_text_height;
  1723.     MMI_multiline_inputbox.min_line_height = min_line_height;
  1724.     MMI_multiline_inputbox.header_height = header_height;
  1725.     MMI_multiline_inputbox.footer_height = footer_height;
  1726.     MMI_multiline_inputbox.icon_callback = icon_callback;
  1727.     wgui_inputbox_RSK_label_icon = RSK_icon;
  1728.     wgui_inputbox_RSK_label_string = RSK_label;
  1729.     register_multiline_inputbox_keys();
  1730.     if (wgui_inputbox_information_flag)
  1731.     {
  1732.     #ifdef __BW_MMI__
  1733.         move_multiline_inputbox(x, y);
  1734.         h = height;
  1735.     #else /* __BW_MMI__ */ 
  1736.         move_multiline_inputbox(x, y + wgui_inputbox_information_bar_height);
  1737.         h = height - wgui_inputbox_information_bar_height;
  1738.     #endif /* __BW_MMI__ */ 
  1739.     #ifdef UI_SMALL_CATEGORY_EDITOR
  1740.         if (wgui_small_editor_information_flag && whether_no_small_screen())
  1741.         {
  1742.             wgui_setup_input_information(
  1743.                 MMI_multiline_inputbox.x + 1,
  1744.                 MMI_multiline_inputbox.y - wgui_inputbox_information_bar_height,
  1745.                 MMI_multiline_inputbox.width - 2,
  1746.                 wgui_inputbox_information_bar_height);
  1747.         }
  1748.         else
  1749.     #endif /* UI_SMALL_CATEGORY_EDITOR */ 
  1750.             wgui_setup_input_information(
  1751.                 MMI_multiline_inputbox.x,
  1752.                 MMI_multiline_inputbox.y - wgui_inputbox_information_bar_height,
  1753.                 MMI_multiline_inputbox.width,
  1754.                 wgui_inputbox_information_bar_height);
  1755.     }
  1756.     else
  1757.     {
  1758.         move_multiline_inputbox(x, y);
  1759.         h = height;
  1760.     }
  1761.     gui_set_font(MMI_multiline_inputbox.text_font);
  1762.     fh = gui_get_character_height();
  1763.     resize_multiline_inputbox(UI_device_width, h);
  1764.     switch (input_type & INPUT_TYPE_MASK)
  1765.     {
  1766.         case INPUT_TYPE_NUMERIC_PASSWORD:
  1767.         case INPUT_TYPE_SAT_NUMERIC_PASSWORD:
  1768.             override_history_input_type = 1;
  1769.             break;
  1770.     }
  1771.     set_multiline_inputbox_category_history(category_screen_ID, history_buffer, (S16*) & input_type);
  1772.     saved_MMI_current_input_mode = MMI_current_input_mode;
  1773.     saved_inputbox_flags = MMI_multiline_inputbox.flags;
  1774.     if (override_history_input_type)
  1775.     {
  1776.         input_type = saved_input_type;
  1777.     }
  1778.     /* Get input mode from "Input Methods" list selection */
  1779.     wgui_change_inputbox_mode_multitap_ABC = wgui_multiline_inputbox_change_input_mode_multitap_ABC;
  1780.     wgui_change_inputbox_mode_multitap_abc = wgui_multiline_inputbox_change_input_mode_multitap_abc;
  1781.     wgui_change_inputbox_mode_mode_numeric = wgui_multiline_inputbox_change_input_mode_multitap_numeric;
  1782.     wgui_inputbox_insert_symbol = wgui_multiline_inputbox_insert_symbol;
  1783. #if defined(__MMI_MULTITAP_THAI__)
  1784.     wgui_change_inputbox_mode_multitap_thai = wgui_multiline_inputbox_change_input_mode_multitap_thai;
  1785. #endif 
  1786. #if defined(__MMI_MULTITAP_SPANISH__)
  1787.     wgui_change_inputbox_mode_multitap_SPANISH = wgui_multiline_inputbox_change_input_mode_multitap_SPANISH;
  1788.     wgui_change_inputbox_mode_multitap_spanish = wgui_multiline_inputbox_change_input_mode_multitap_spanish;
  1789. #endif /* defined(__MMI_MULTITAP_SPANISH__) */ 
  1790. #if defined(__MMI_MULTITAP_DANISH__)
  1791.     wgui_change_inputbox_mode_multitap_DANISH = wgui_multiline_inputbox_change_input_mode_multitap_DANISH;
  1792.     wgui_change_inputbox_mode_multitap_danish = wgui_multiline_inputbox_change_input_mode_multitap_danish;
  1793. #endif /* defined(__MMI_MULTITAP_DANISH__) */ 
  1794. #if defined(__MMI_MULTITAP_POLISH__)
  1795.     wgui_change_inputbox_mode_multitap_POLISH = wgui_multiline_inputbox_change_input_mode_multitap_POLISH;
  1796.     wgui_change_inputbox_mode_multitap_polish = wgui_multiline_inputbox_change_input_mode_multitap_polish;
  1797. #endif /* defined(__MMI_MULTITAP_POLISH__) */ 
  1798. #if defined(__MMI_MULTITAP_FRENCH__)
  1799.     wgui_change_inputbox_mode_multitap_FRENCH = wgui_multiline_inputbox_change_input_mode_multitap_FRENCH;
  1800.     wgui_change_inputbox_mode_multitap_french = wgui_multiline_inputbox_change_input_mode_multitap_french;
  1801. #endif /* defined(__MMI_MULTITAP_FRENCH__) */ 
  1802. #if defined(__MMI_MULTITAP_GERMAN__)
  1803.     wgui_change_inputbox_mode_multitap_GERMAN = wgui_multiline_inputbox_change_input_mode_multitap_GERMAN;
  1804.     wgui_change_inputbox_mode_multitap_german = wgui_multiline_inputbox_change_input_mode_multitap_german;
  1805. #endif /* defined(__MMI_MULTITAP_GERMAN__) */ 
  1806. #if defined(__MMI_MULTITAP_ITALIAN__)
  1807.     wgui_change_inputbox_mode_multitap_ITALIAN = wgui_multiline_inputbox_change_input_mode_multitap_ITALIAN;
  1808.     wgui_change_inputbox_mode_multitap_italian = wgui_multiline_inputbox_change_input_mode_multitap_italian;
  1809. #endif /* defined(__MMI_MULTITAP_ITALIAN__) */ 
  1810. #if defined(__MMI_MULTITAP_RUSSIAN__)
  1811.     wgui_change_inputbox_mode_multitap_RUSSIAN = wgui_multiline_inputbox_change_input_mode_multitap_RUSSIAN;
  1812.     wgui_change_inputbox_mode_multitap_russian = wgui_multiline_inputbox_change_input_mode_multitap_russian;
  1813. #endif /* defined(__MMI_MULTITAP_RUSSIAN__) */ 
  1814. #if defined(__MMI_MULTITAP_BULGARIAN__)
  1815.     wgui_change_inputbox_mode_multitap_BULGARIAN = wgui_multiline_inputbox_change_input_mode_multitap_BULGARIAN;
  1816.     wgui_change_inputbox_mode_multitap_bulgarian = wgui_multiline_inputbox_change_input_mode_multitap_bulgarian;
  1817. #endif /* defined(__MMI_MULTITAP_BULGARIAN__) */ 
  1818. #if defined(__MMI_MULTITAP_TURKISH__)
  1819.     wgui_change_inputbox_mode_multitap_TURKISH = wgui_multiline_inputbox_change_input_mode_multitap_TURKISH;
  1820.     wgui_change_inputbox_mode_multitap_turkish = wgui_multiline_inputbox_change_input_mode_multitap_turkish;
  1821. #endif /* defined(__MMI_MULTITAP_TURKISH__) */ 
  1822. #if defined(__MMI_MULTITAP_PORTUGUESE__)
  1823.     wgui_change_inputbox_mode_multitap_PORTUGUESE = wgui_multiline_inputbox_change_input_mode_multitap_PORTUGUESE;
  1824.     wgui_change_inputbox_mode_multitap_portuguese = wgui_multiline_inputbox_change_input_mode_multitap_portuguese;
  1825. #endif /* defined(__MMI_MULTITAP_PORTUGUESE__) */ 
  1826. #if defined(__MMI_MULTITAP_HINDI__)
  1827.     wgui_change_inputbox_mode_multitap_HINDI = wgui_multiline_inputbox_change_input_mode_multitap_HINDI;
  1828. #endif 
  1829.     /* PMT RAKESH START 20061006 */
  1830. #if defined(__MMI_MULTITAP_MARATHI__)
  1831.     wgui_change_inputbox_mode_multitap_MARATHI = wgui_multiline_inputbox_change_input_mode_multitap_MARATHI;
  1832. #endif 
  1833.     /* PMT RAKESH END 20061006 */
  1834. #if defined(__MMI_MULTITAP_INDONESIAN__)
  1835.     wgui_change_inputbox_mode_multitap_INDONESIAN = wgui_multiline_inputbox_change_input_mode_multitap_INDONESIAN;
  1836.     wgui_change_inputbox_mode_multitap_indonesian = wgui_multiline_inputbox_change_input_mode_multitap_indonesian;
  1837. #endif /* defined(__MMI_MULTITAP_INDONESIAN__) */ 
  1838. #if defined(__MMI_MULTITAP_CZECH__)
  1839.     wgui_change_inputbox_mode_multitap_CZECH = wgui_multiline_inputbox_change_input_mode_multitap_CZECH;
  1840.     wgui_change_inputbox_mode_multitap_czech = wgui_multiline_inputbox_change_input_mode_multitap_czech;
  1841. #endif /* defined(__MMI_MULTITAP_CZECH__) */ 
  1842. #if defined(__MMI_MULTITAP_MALAY__)
  1843.     wgui_change_inputbox_mode_multitap_MALAY = wgui_multiline_inputbox_change_input_mode_multitap_MALAY;
  1844.     wgui_change_inputbox_mode_multitap_malay = wgui_multiline_inputbox_change_input_mode_multitap_malay;
  1845. #endif /* defined(__MMI_MULTITAP_MALAY__) */ 
  1846. #if defined(__MMI_MULTITAP_VIETNAMESE__)
  1847.     wgui_change_inputbox_mode_multitap_VIETNAMESE = wgui_multiline_inputbox_change_input_mode_multitap_VIETNAMESE;
  1848.     wgui_change_inputbox_mode_multitap_vietnamese = wgui_multiline_inputbox_change_input_mode_multitap_vietnamese;
  1849. #endif /* defined(__MMI_MULTITAP_VIETNAMESE__) */ 
  1850. #if defined(__MMI_MULTITAP_FINNISH__)
  1851.     wgui_change_inputbox_mode_multitap_FINNISH = wgui_multiline_inputbox_change_input_mode_multitap_FINNISH;
  1852.     wgui_change_inputbox_mode_multitap_finnish = wgui_multiline_inputbox_change_input_mode_multitap_finnish;
  1853. #endif /* defined(__MMI_MULTITAP_FINNISH__) */ 
  1854. #if defined(__MMI_MULTITAP_HUNGARIAN__)
  1855.     wgui_change_inputbox_mode_multitap_HUNGARIAN = wgui_multiline_inputbox_change_input_mode_multitap_HUNGARIAN;
  1856.     wgui_change_inputbox_mode_multitap_hungarian = wgui_multiline_inputbox_change_input_mode_multitap_hungarian;
  1857. #endif /* defined(__MMI_MULTITAP_HUNGARIAN__) */ 
  1858. #if defined(__MMI_MULTITAP_SWEDISH__)
  1859.     wgui_change_inputbox_mode_multitap_SWEDISH = wgui_multiline_inputbox_change_input_mode_multitap_SWEDISH;
  1860.     wgui_change_inputbox_mode_multitap_swedish = wgui_multiline_inputbox_change_input_mode_multitap_swedish;
  1861. #endif /* defined(__MMI_MULTITAP_SWEDISH__) */ 
  1862. #if defined(__MMI_MULTITAP_HEBREW__)
  1863.     wgui_change_inputbox_mode_multitap_hebrew = wgui_multiline_inputbox_change_input_mode_multitap_hebrew;
  1864. #endif 
  1865. #if defined(__MMI_MULTITAP_SLOVAK__)
  1866.     wgui_change_inputbox_mode_multitap_SLOVAK = wgui_multiline_inputbox_change_input_mode_multitap_SLOVAK;
  1867.     wgui_change_inputbox_mode_multitap_slovak = wgui_multiline_inputbox_change_input_mode_multitap_slovak;
  1868. #endif /* defined(__MMI_MULTITAP_SLOVAK__) */ 
  1869. #if defined(__MMI_MULTITAP_DUTCH__)
  1870.     wgui_change_inputbox_mode_multitap_DUTCH = wgui_multiline_inputbox_change_input_mode_multitap_DUTCH;
  1871.     wgui_change_inputbox_mode_multitap_dutch = wgui_multiline_inputbox_change_input_mode_multitap_dutch;
  1872. #endif /* defined(__MMI_MULTITAP_DUTCH__) */ 
  1873. #if defined(__MMI_MULTITAP_NORWEGIAN__)
  1874.     wgui_change_inputbox_mode_multitap_NORWEGIAN = wgui_multiline_inputbox_change_input_mode_multitap_NORWEGIAN;
  1875.     wgui_change_inputbox_mode_multitap_norwegian = wgui_multiline_inputbox_change_input_mode_multitap_norwegian;
  1876. #endif /* defined(__MMI_MULTITAP_NORWEGIAN__) */ 
  1877. #if defined(__MMI_MULTITAP_ARABIC__)
  1878.     wgui_change_inputbox_mode_multitap_arabic = wgui_multiline_inputbox_change_input_mode_multitap_arabic;
  1879. #endif 
  1880. //PMT START PERSIAN
  1881. #if defined(__MMI_MULTITAP_PERSIAN__)
  1882. wgui_change_inputbox_mode_multitap_persian=wgui_multiline_inputbox_change_input_mode_multitap_persian;
  1883. #endif
  1884. //PMT END PERSIAN
  1885. #if defined(__MMI_MULTITAP_CROATIAN__)
  1886.     wgui_change_inputbox_mode_multitap_CROATIAN = wgui_multiline_inputbox_change_input_mode_multitap_CROATIAN;
  1887.     wgui_change_inputbox_mode_multitap_croatian = wgui_multiline_inputbox_change_input_mode_multitap_croatian;
  1888. #endif /* defined(__MMI_MULTITAP_CROATIAN__) */ 
  1889. #if defined(__MMI_MULTITAP_ROMANIAN__)
  1890.     wgui_change_inputbox_mode_multitap_ROMANIAN = wgui_multiline_inputbox_change_input_mode_multitap_ROMANIAN;
  1891.     wgui_change_inputbox_mode_multitap_romanian = wgui_multiline_inputbox_change_input_mode_multitap_romanian;
  1892. #endif /* defined(__MMI_MULTITAP_ROMANIAN__) */ 
  1893. #if defined(__MMI_MULTITAP_SLOVENIAN__)
  1894.     wgui_change_inputbox_mode_multitap_SLOVENIAN = wgui_multiline_inputbox_change_input_mode_multitap_SLOVENIAN;
  1895.     wgui_change_inputbox_mode_multitap_slovenian = wgui_multiline_inputbox_change_input_mode_multitap_slovenian;
  1896. #endif /* defined(__MMI_MULTITAP_SLOVENIAN__) */ 
  1897. #if defined(__MMI_MULTITAP_GREEK__)
  1898.     wgui_change_inputbox_mode_multitap_GREEK = wgui_multiline_inputbox_change_input_mode_multitap_GREEK;
  1899.     wgui_change_inputbox_mode_multitap_greek = wgui_multiline_inputbox_change_input_mode_multitap_greek;
  1900. #endif /* defined(__MMI_MULTITAP_GREEK__) */ 
  1901. #if defined(__MMI_T9__) || defined(__MMI_ZI__) || defined(__MMI_CSTAR__) || defined(__MMI_KA__) || defined(__MMI_ITAP__)    //KP Jerry add "__MMI_CSTAR__" on 2007-4-17
  1902. //KP Jerry modify on 2007-4-17 start
  1903.     wgui_change_inputbox_mode_smart_ABC = wgui_multiline_inputbox_change_input_mode_smart_ABC;
  1904.     wgui_change_inputbox_mode_smart_abc = wgui_multiline_inputbox_change_input_mode_smart_abc;
  1905. #ifdef __MMI_LANG_TR_CHINESE__     //KP Jerry add on 2007-4-17
  1906.     wgui_change_inputbox_mode_tr_multitap_bpmf = wgui_multiline_inputbox_change_input_mode_tr_multitap_bpmf;
  1907.     wgui_change_inputbox_mode_tr_bpmf = wgui_multiline_inputbox_change_input_mode_tr_bpmf;
  1908.     wgui_change_inputbox_mode_tr_stroke = wgui_multiline_inputbox_change_input_mode_tr_stroke;
  1909. #endif     //KP Jerry add on 2007-4-17
  1910. #ifdef __MMI_LANG_SM_CHINESE__     //KP Jerry add on 2007-4-17
  1911.     wgui_change_inputbox_mode_sm_multitap_pinyin = wgui_multiline_inputbox_change_input_mode_sm_multitap_pinyin;
  1912.     wgui_change_inputbox_mode_sm_pinyin = wgui_multiline_inputbox_change_input_mode_sm_pinyin;
  1913.     wgui_change_inputbox_mode_sm_stroke = wgui_multiline_inputbox_change_input_mode_sm_stroke;
  1914. #endif     //KP Jerry add on 2007-4-17
  1915. #ifdef __MMI_LANG_THAI__     //KP Jerry add on 2007-4-17
  1916.     wgui_change_inputbox_mode_smart_thai = wgui_multiline_inputbox_change_input_mode_smart_thai;
  1917. #endif     //KP Jerry add on 2007-4-17
  1918. #ifdef __MMI_LANG_ARABIC__     //KP Jerry add on 2007-4-17
  1919.     wgui_change_inputbox_mode_smart_arabic = wgui_multiline_inputbox_change_input_mode_smart_arabic;
  1920. #endif     //KP Jerry add on 2007-4-17
  1921. //PMT START PERSIAN
  1922. #ifdef __MMI_LANG_PERSIAN__     //KP Jerry add on 2007-4-17
  1923.     wgui_change_inputbox_mode_smart_persian=wgui_multiline_inputbox_change_input_mode_smart_persian;
  1924. #endif     //KP Jerry add on 2007-4-17
  1925. //PMT END PERSIAN
  1926. #ifdef __MMI_LANG_HINDI__     //KP Jerry add on 2007-4-17
  1927.     wgui_change_inputbox_mode_smart_hindi = wgui_multiline_inputbox_change_input_mode_smart_hindi;
  1928. #endif     //KP Jerry add on 2007-4-17
  1929. #ifdef __MMI_LANG_HEBREW__     //KP Jerry add on 2007-4-17
  1930.     wgui_change_inputbox_mode_smart_hebrew = wgui_multiline_inputbox_change_input_mode_smart_hebrew;
  1931. #endif     //KP Jerry add on 2007-4-17
  1932. //KP Jerry modify on 2007-4-17 end
  1933. #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-17
  1934.     wgui_change_inputbox_mode_smart_SPANISH = wgui_multiline_inputbox_change_input_mode_smart_SPANISH;
  1935.     wgui_change_inputbox_mode_smart_spanish = wgui_multiline_inputbox_change_input_mode_smart_spanish;
  1936. #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-17
  1937. #if defined(__MMI_T9_DANISH__) || defined(__MMI_ZI_DANISH__) || defined(__MMI_CSTAR_DANISH__)   //KP Jerry add "__MMI_CSTAR_DANISH__" on 2007-4-17
  1938.     wgui_change_inputbox_mode_smart_DANISH = wgui_multiline_inputbox_change_input_mode_smart_DANISH;
  1939.     wgui_change_inputbox_mode_smart_danish = wgui_multiline_inputbox_change_input_mode_smart_danish;
  1940. #endif /* defined(__MMI_T9_DANISH__) || defined(__MMI_ZI_DANISH__) || defined(__MMI_CSTAR_DANISH__) */    //KP Jerry add "__MMI_CSTAR_DANISH__" on 2007-4-17
  1941. #if defined(__MMI_T9_POLISH__) || defined(__MMI_ZI_POLISH__) || defined(__MMI_CSTAR_POLISH__)   //KP Jerry add "__MMI_CSTAR_POLISH__" on 2007-4-17
  1942.     wgui_change_inputbox_mode_smart_POLISH = wgui_multiline_inputbox_change_input_mode_smart_POLISH;
  1943.     wgui_change_inputbox_mode_smart_polish = wgui_multiline_inputbox_change_input_mode_smart_polish;
  1944. #endif /* defined(__MMI_T9_POLISH__) || defined(__MMI_ZI_POLISH__) || defined(__MMI_CSTAR_POLISH__) */    //KP Jerry add "__MMI_CSTAR_POLISH__" on 2007-4-17
  1945. #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-17
  1946.     wgui_change_inputbox_mode_smart_FRENCH = wgui_multiline_inputbox_change_input_mode_smart_FRENCH;
  1947.     wgui_change_inputbox_mode_smart_french = wgui_multiline_inputbox_change_input_mode_smart_french;
  1948. #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-17
  1949. #if defined(__MMI_T9_GERMAN__) || defined(__MMI_ZI_GERMAN__) || defined(__MMI_CSTAR_GERMAN__)   //KP Jerry add "__MMI_CSTAR_GERMAN__" on 2007-4-17
  1950.     wgui_change_inputbox_mode_smart_GERMAN = wgui_multiline_inputbox_change_input_mode_smart_GERMAN;
  1951.     wgui_change_inputbox_mode_smart_german = wgui_multiline_inputbox_change_input_mode_smart_german;
  1952. #endif /* defined(__MMI_T9_GERMAN__) || defined(__MMI_ZI_GERMAN__) || defined(__MMI_CSTAR_GERMAN__) */    //KP Jerry add "__MMI_CSTAR_GERMAN__" on 2007-4-17
  1953. #if defined(__MMI_T9_ITALIAN__) || defined(__MMI_ZI_ITALIAN__) || defined(__MMI_CSTAR_ITALIAN__)   //KP Jerry add "__MMI_CSTAR_ITALIAN__" on 2007-4-17
  1954.     wgui_change_inputbox_mode_smart_ITALIAN = wgui_multiline_inputbox_change_input_mode_smart_ITALIAN;
  1955.     wgui_change_inputbox_mode_smart_italian = wgui_multiline_inputbox_change_input_mode_smart_italian;
  1956. #endif /* defined(__MMI_T9_ITALIAN__) || defined(__MMI_ZI_ITALIAN__) || defined(__MMI_CSTAR_ITALIAN__) */    //KP Jerry add "__MMI_CSTAR_ITALIAN__" on 2007-4-17
  1957. #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
  1958.     wgui_change_inputbox_mode_smart_RUSSIAN = wgui_multiline_inputbox_change_input_mode_smart_RUSSIAN;
  1959.     wgui_change_inputbox_mode_smart_russian = wgui_multiline_inputbox_change_input_mode_smart_russian;
  1960. #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
  1961. #if defined(__MMI_T9_BULGARIAN__) || defined(__MMI_ZI_BULGARIAN__)   //KP Jerry add "__MMI_ZI_BULGARIAN__" on 2007-4-17
  1962.     wgui_change_inputbox_mode_smart_BULGARIAN = wgui_multiline_inputbox_change_input_mode_smart_BULGARIAN;
  1963.     wgui_change_inputbox_mode_smart_bulgarian = wgui_multiline_inputbox_change_input_mode_smart_bulgarian;
  1964. #endif /* defined(__MMI_T9_BULGARIAN__) || defined(__MMI_ZI_BULGARIAN__) || defined(__MMI_CSTAR_BULGARIAN__) */    //KP Jerry add "__MMI_ZI_BULGARIAN__" on 2007-4-17
  1965. #if defined(__MMI_ZI_TURKISH__) || defined(__MMI_T9_TURKISH__) || defined(__MMI_CSTAR_TURKISH__)   //KP Jerry add "__MMI_CSTAR_TURKISH__" on 2007-4-17
  1966.     wgui_change_inputbox_mode_smart_TURKISH = wgui_multiline_inputbox_change_input_mode_smart_TURKISH;
  1967.     wgui_change_inputbox_mode_smart_turkish = wgui_multiline_inputbox_change_input_mode_smart_turkish;
  1968. #endif /* defined(__MMI_ZI_TURKISH__) || defined(__MMI_T9_TURKISH__) || defined(__MMI_CSTAR_TURKISH__) */    //KP Jerry add "__MMI_CSTAR_TURKISH__" on 2007-4-17
  1969. #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-17
  1970.     wgui_change_inputbox_mode_smart_PORTUGUESE = wgui_multiline_inputbox_change_input_mode_smart_PORTUGUESE;
  1971.     wgui_change_inputbox_mode_smart_portuguese = wgui_multiline_inputbox_change_input_mode_smart_portuguese;
  1972. #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-17
  1973. #if defined(__MMI_ZI_INDONESIAN__) || defined(__MMI_T9_INDONESIAN__) || defined(__MMI_CSTAR_INDONESIAN__)   //KP Jerry add "__MMI_CSTAR_INDONESIAN__" on 2007-4-17
  1974.     wgui_change_inputbox_mode_smart_INDONESIAN = wgui_multiline_inputbox_change_input_mode_smart_INDONESIAN;
  1975.     wgui_change_inputbox_mode_smart_indonesian = wgui_multiline_inputbox_change_input_mode_smart_indonesian;
  1976. #endif /* defined(__MMI_ZI_INDONESIAN__) || defined(__MMI_T9_INDONESIAN__) || defined(__MMI_CSTAR_INDONESIAN__) */    //KP Jerry add "__MMI_CSTAR_INDONESIAN__" on 2007-4-17
  1977. #if defined(__MMI_T9_CZECH__) || defined(__MMI_ZI_CZECH__) || defined(__MMI_CSTAR_CZECH__)   //KP Jerry add "__MMI_CSTAR_CZECH__" on 2007-4-17
  1978.     wgui_change_inputbox_mode_smart_CZECH = wgui_multiline_inputbox_change_input_mode_smart_CZECH;
  1979.     wgui_change_inputbox_mode_smart_czech = wgui_multiline_inputbox_change_input_mode_smart_czech;
  1980. #endif /* defined(__MMI_T9_CZECH__) || defined(__MMI_ZI_CZECH__) || defined(__MMI_CSTAR_CZECH__) */    //KP Jerry add "__MMI_CSTAR_CZECH__" on 2007-4-17
  1981. #if defined(__MMI_ZI_MALAY__) || defined(__MMI_T9_MALAY__) || defined(__MMI_CSTAR_MALAY__)   //KP Jerry add "__MMI_CSTAR_MALAY__" on 2007-4-17
  1982.     wgui_change_inputbox_mode_smart_MALAY = wgui_multiline_inputbox_change_input_mode_smart_MALAY;
  1983.     wgui_change_inputbox_mode_smart_malay = wgui_multiline_inputbox_change_input_mode_smart_malay;
  1984. #endif /* defined(__MMI_ZI_MALAY__) || defined(__MMI_T9_MALAY__) || defined(__MMI_CSTAR_MALAY__) */    //KP Jerry add "__MMI_CSTAR_MALAY__" on 2007-4-17
  1985. #if defined(__MMI_ZI_VIETNAMESE__) || defined(__MMI_T9_VIETNAMESE__) || defined(__MMI_CSTAR_VIETNAMESE__)   //KP Jerry add "__MMI_CSTAR_VIETNAMESE__" on 2007-4-17
  1986.     wgui_change_inputbox_mode_smart_VIETNAMESE = wgui_multiline_inputbox_change_input_mode_smart_VIETNAMESE;
  1987.     wgui_change_inputbox_mode_smart_vietnamese = wgui_multiline_inputbox_change_input_mode_smart_vietnamese;
  1988. #endif /* defined(__MMI_ZI_VIETNAMESE__) || defined(__MMI_T9_VIETNAMESE__) || defined(__MMI_CSTAR_VIETNAMESE__) */    //KP Jerry add "__MMI_CSTAR_VIETNAMESE__" on 2007-4-17
  1989. #if defined(__MMI_T9_FINNISH__) || defined(__MMI_ZI_FINNISH__) || defined(__MMI_CSTAR_FINNISH__)   //KP Jerry add "__MMI_CSTAR_FINNISH__" on 2007-4-17
  1990.     wgui_change_inputbox_mode_smart_FINNISH = wgui_multiline_inputbox_change_input_mode_smart_FINNISH;
  1991.     wgui_change_inputbox_mode_smart_finnish = wgui_multiline_inputbox_change_input_mode_smart_finnish;
  1992. #endif /* defined(__MMI_T9_FINNISH__) || defined(__MMI_ZI_FINNISH__) || defined(__MMI_CSTAR_FINNISH__) */    //KP Jerry add "__MMI_CSTAR_FINNISH__" on 2007-4-17
  1993. #if defined(__MMI_T9_HUNGARIAN__) || defined(__MMI_ZI_HUNGARIAN__) || defined(__MMI_CSTAR_HUNGARIAN__)   //KP Jerry add "__MMI_CSTAR_HUNGARIAN__" on 2007-4-17
  1994.     wgui_change_inputbox_mode_smart_HUNGARIAN = wgui_multiline_inputbox_change_input_mode_smart_HUNGARIAN;
  1995.     wgui_change_inputbox_mode_smart_hungarian = wgui_multiline_inputbox_change_input_mode_smart_hungarian;
  1996. #endif /* defined(__MMI_T9_HUNGARIAN__) || defined(__MMI_ZI_HUNGARIAN__) || defined(__MMI_CSTAR_HUNGARIAN__) */    //KP Jerry add "__MMI_CSTAR_HUNGARIAN__" on 2007-4-17
  1997. #if defined(__MMI_T9_SWEDISH__) || defined(__MMI_ZI_SWEDISH__) || defined(__MMI_CSTAR_SWEDISH__)   //KP Jerry add "__MMI_CSTAR_SWEDISH__" on 2007-4-17
  1998.     wgui_change_inputbox_mode_smart_SWEDISH = wgui_multiline_inputbox_change_input_mode_smart_SWEDISH;
  1999.     wgui_change_inputbox_mode_smart_swedish = wgui_multiline_inputbox_change_input_mode_smart_swedish;
  2000. #endif /* defined(__MMI_T9_SWEDISH__) || defined(__MMI_ZI_SWEDISH__) || defined(__MMI_CSTAR_SWEDISH__) */    //KP Jerry add "__MMI_CSTAR_SWEDISH__" on 2007-4-17
  2001. #if defined(__MMI_T9_SLOVAK__) || defined(__MMI_ZI_SLOVAK__) || defined(__MMI_CSTAR_SLOVAK__)   //KP Jerry add "__MMI_CSTAR_SLOVAK__" on 2007-4-17
  2002.     wgui_change_inputbox_mode_smart_SLOVAK = wgui_multiline_inputbox_change_input_mode_smart_SLOVAK;
  2003.     wgui_change_inputbox_mode_smart_slovak = wgui_multiline_inputbox_change_input_mode_smart_slovak;
  2004. #endif /* defined(__MMI_T9_SLOVAK__) || defined(__MMI_ZI_SLOVAK__) || defined(__MMI_CSTAR_SLOVAK__) */    //KP Jerry add "__MMI_CSTAR_SLOVAK__" on 2007-4-17
  2005. #if defined(__MMI_ZI_DUTCH__) || defined(__MMI_T9_DUTCH__) || defined(__MMI_CSTAR_DUTCH__)    //KP Jerry add "__MMI_CSTAR_DUTCH__" on 2007-4-17
  2006.     wgui_change_inputbox_mode_smart_DUTCH = wgui_multiline_inputbox_change_input_mode_smart_DUTCH;
  2007.     wgui_change_inputbox_mode_smart_dutch = wgui_multiline_inputbox_change_input_mode_smart_dutch;
  2008. #endif /* defined(__MMI_ZI_DUTCH__) || defined(__MMI_T9_DUTCH__) || defined(__MMI_CSTAR_DUTCH__) */     //KP Jerry add "__MMI_CSTAR_DUTCH__" on 2007-4-17
  2009. #if defined(__MMI_T9_NORWEGIAN__) || defined(__MMI_ZI_NORWEGIAN__) || defined(__MMI_CSTAR_NORWEGIAN__)    //KP Jerry add "__MMI_CSTAR_NORWEGIAN__" on 2007-4-17
  2010.     /* PMT VIKAS GUPTA END PO_NO_ZI 20050930 */
  2011.     wgui_change_inputbox_mode_smart_NORWEGIAN = wgui_multiline_inputbox_change_input_mode_smart_NORWEGIAN;
  2012.     wgui_change_inputbox_mode_smart_norwegian = wgui_multiline_inputbox_change_input_mode_smart_norwegian;
  2013. #endif /* defined(__MMI_T9_NORWEGIAN__) || defined(__MMI_ZI_NORWEGIAN__) || defined(__MMI_CSTAR_NORWEGIAN__) */     //KP Jerry add "__MMI_CSTAR_NORWEGIAN__" on 2007-4-17
  2014. #if defined(__MMI_T9_CROATIAN__) || defined(__MMI_ZI_CROATIAN__) || defined(__MMI_CSTAR_CROATIAN__)    //KP Jerry add "__MMI_CSTAR_CROATIAN__" on 2007-4-17
  2015.     wgui_change_inputbox_mode_smart_CROATIAN = wgui_multiline_inputbox_change_input_mode_smart_CROATIAN;
  2016.     wgui_change_inputbox_mode_smart_croatian = wgui_multiline_inputbox_change_input_mode_smart_croatian;
  2017. #endif /* defined(__MMI_T9_CROATIAN__) || defined(__MMI_ZI_CROATIAN__) || defined(__MMI_CSTAR_CROATIAN__) */     //KP Jerry add "__MMI_CSTAR_CROATIAN__" on 2007-4-17
  2018. #if defined(__MMI_ZI_ROMANIAN__) || defined(__MMI_T9_ROMANIAN__) || defined(__MMI_CSTAR_ROMANIAN__)    //KP Jerry add "__MMI_CSTAR_ROMANIAN__" on 2007-4-17
  2019.     wgui_change_inputbox_mode_smart_ROMANIAN = wgui_multiline_inputbox_change_input_mode_smart_ROMANIAN;
  2020.     wgui_change_inputbox_mode_smart_romanian = wgui_multiline_inputbox_change_input_mode_smart_romanian;
  2021. #endif /* defined(__MMI_ZI_ROMANIAN__) || defined(__MMI_T9_ROMANIAN__) || defined(__MMI_CSTAR_ROMANIAN__) */     //KP Jerry add "__MMI_CSTAR_ROMANIAN__" on 2007-4-17
  2022. #if defined(__MMI_T9_SLOVENIAN__) || defined(__MMI_ZI_SLOVENIAN__) || defined(__MMI_CSTAR_SLOVENIAN__)    //KP Jerry add "__MMI_CSTAR_SLOVENIAN__" on 2007-4-17
  2023.     wgui_change_inputbox_mode_smart_SLOVENIAN = wgui_multiline_inputbox_change_input_mode_smart_SLOVENIAN;
  2024.     wgui_change_inputbox_mode_smart_slovenian = wgui_multiline_inputbox_change_input_mode_smart_slovenian;
  2025. #endif /* defined(__MMI_T9_SLOVENIAN__) || defined(__MMI_ZI_SLOVENIAN__) || defined(__MMI_CSTAR_SLOVENIAN__) */     //KP Jerry add "__MMI_CSTAR_SLOVENIAN__" on 2007-4-17
  2026. #if defined(__MMI_T9_GREEK__) || defined(__MMI_ZI_GREEK__) || defined(__MMI_CSTAR_GREEK__)     //KP Jerry add "__MMI_CSTAR_GREEK__" on 2007-4-17
  2027.     wgui_change_inputbox_mode_smart_GREEK = wgui_multiline_inputbox_change_input_mode_smart_GREEK;
  2028.     wgui_change_inputbox_mode_smart_greek = wgui_multiline_inputbox_change_input_mode_smart_greek;
  2029. #endif /* defined(__MMI_T9_GREEK__) || defined(__MMI_ZI_GREEK__) || defined(__MMI_CSTAR_GREEK__) */      //KP Jerry add "__MMI_CSTAR_GREEK__" on 2007-4-17
  2030. #endif /* defined(__MMI_T9__) || defined(__MMI_ZI__) || defined(__MMI_CSTAR__) || defined(__MMI_KA__) || defined(__MMI_ITAP__) */      //KP Jerry add "__MMI_CSTAR__" on 2007-4-17
  2031.     if (wgui_multiline_inputbox_input_mode_changed)
  2032.     {
  2033.         input_type = wgui_multiline_inputbox_input_type;
  2034.         wgui_multiline_inputbox_input_mode_changed = 0;
  2035.     #if defined(__MMI_TOUCH_SCREEN__)
  2036.         mmi_pen_editor_set_vk_to_show(MMI_TRUE);
  2037.     #endif 
  2038.     }
  2039.     input_type |= input_type_flags;
  2040.     MMI_current_input_type = input_type;
  2041.     wgui_inputbox_information_icon = NULL;
  2042.     wgui_multiline_inputbox_decimal_input_mode_flag = 0;
  2043.     wgui_inputbox_UCS2_count_function = wgui_multiline_inputbox_get_UCS2_count;
  2044.     wgui_inputbox_GSM_ext_count_function = wgui_multiline_inputbox_get_GSM_ext_count;
  2045.     if (input_type & INPUT_TYPE_USE_ENCODING_BASED_LENGTH)
  2046.     {
  2047.         MMI_multiline_inputbox.flags |= UI_MULTI_LINE_INPUT_BOX_USE_ENCODING_BASED_LENGTH;
  2048.         if (input_type & INPUT_TYPE_ONE_LESS_CHARACTER)
  2049.         {
  2050.             MMI_multiline_inputbox.flags |= UI_MULTI_LINE_INPUT_BOX_ONE_LESS_CHARACTER;
  2051.             UI_TEST_UCS2_COUNT_SET_LENGTH_TYPE2(
  2052.                 MMI_multiline_inputbox.UCS2_count,
  2053.                 MMI_multiline_inputbox.allocated_length,
  2054.                 MMI_multiline_inputbox.available_length);
  2055.         }
  2056.         else if (input_type & INPUT_TYPE_FORTY_FOUR_LESS_CHARACTER)
  2057.         {
  2058.             MMI_multiline_inputbox.flags |= UI_MULTI_LINE_INPUT_BOX_FORTY_FOUR_LESS_CHARACTER;
  2059.             UI_TEST_UCS2_COUNT_SET_LENGTH_TYPE3(
  2060.                 MMI_multiline_inputbox.UCS2_count,
  2061.                 MMI_multiline_inputbox.allocated_length,
  2062.                 MMI_multiline_inputbox.available_length);
  2063.         }
  2064.         else
  2065.         {
  2066.             UI_TEST_UCS2_COUNT_SET_LENGTH(
  2067.                 MMI_multiline_inputbox.UCS2_count,
  2068.                 MMI_multiline_inputbox.allocated_length,
  2069.                 MMI_multiline_inputbox.available_length);
  2070.         }
  2071.         if (input_type & INPUT_TYPE_SMS_CHAT_MAX_LENGTH_HANDLING)
  2072.         {
  2073.             MMI_multiline_inputbox.flags |= UI_MULTI_LINE_INPUT_BOX_SMS_MAX_LENGTH_HANDLING;
  2074.         }
  2075.     }
  2076.     if (0 == test_change_input_mode())
  2077.     {
  2078.         switch (input_type & INPUT_TYPE_MASK)
  2079.         {
  2080. //KP Jerry modify on 2007-4-18 start
  2081. #ifdef __MMI_LANG_TR_CHINESE__      //KP Jerry add on 2007-4-17
  2082.             case INPUT_TYPE_MMI_TR_STROKE:
  2083.             case INPUT_TYPE_TR_MULTITAP_BOPOMO:
  2084.             case INPUT_TYPE_TR_BOPOMO:
  2085.             case INPUT_TYPE_TR_STROKE:
  2086. #endif/*__MMI_LANG_TR_CHINESE__*/      //KP Jerry add on 2007-4-17
  2087. #ifdef __MMI_LANG_SM_CHINESE__      //KP Jerry add on 2007-4-17
  2088.             case INPUT_TYPE_MMI_SM_STROKE:
  2089.             case INPUT_TYPE_SM_MULTITAP_PINYIN:
  2090.             case INPUT_TYPE_SM_PINYIN:
  2091.             case INPUT_TYPE_SM_STROKE:
  2092. #endif/*__MMI_LANG_SM_CHINESE__*/      //KP Jerry add on 2007-4-17
  2093. #ifdef __MMI_LANG_THAI__      //KP Jerry add on 2007-4-17
  2094.             case INPUT_TYPE_SMART_THAI:
  2095. #endif/*__MMI_LANG_THAI__*/      //KP Jerry add on 2007-4-17
  2096. #ifdef __MMI_LANG_ARABIC__      //KP Jerry add on 2007-4-17
  2097.             case INPUT_TYPE_SMART_ARABIC:
  2098. #endif/*__MMI_LANG_ARABIC__*/      //KP Jerry add on 2007-4-17
  2099.             //PMT PERSIAN START - By Ailsa
  2100. #ifdef __MMI_LANG_PERSIAN__      //KP Jerry add on 2007-4-17
  2101.             case INPUT_TYPE_SMART_PERSIAN:
  2102. #endif/*__MMI_LANG_PERSIAN__*/      //KP Jerry add on 2007-4-17
  2103.             //PMT PERSIAN START - By Ailsa
  2104. #ifdef __MMI_LANG_HINDI__      //KP Jerry add on 2007-4-17
  2105.             case INPUT_TYPE_SMART_HINDI:
  2106. #endif/*__MMI_LANG_HINDI__*/      //KP Jerry add on 2007-4-17
  2107. #ifdef __MMI_LANG_HEBREW__      //KP Jerry add on 2007-4-17
  2108.             case INPUT_TYPE_SMART_HEBREW:
  2109. #endif/*__MMI_LANG_HEBREW__*/      //KP Jerry add on 2007-4-17
  2110. //KP Jerry modify on 2007-4-18 end
  2111.         #if defined(__MMI_MULTITAP_RUSSIAN__)
  2112.             case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_RUSSIAN:
  2113.             case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_RUSSIAN:
  2114.             case INPUT_TYPE_MMI_LOWERCASE_RUSSIAN:
  2115.         #endif /* defined(__MMI_MULTITAP_RUSSIAN__) */ 
  2116.         #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
  2117.             case INPUT_TYPE_SMART_UPPERCASE_RUSSIAN:
  2118.             case INPUT_TYPE_SMART_LOWERCASE_RUSSIAN:
  2119.         #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
  2120.         #if defined(__MMI_MULTITAP_BULGARIAN__)
  2121.             case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_BULGARIAN:
  2122.             case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_BULGARIAN:
  2123.             case INPUT_TYPE_MMI_LOWERCASE_BULGARIAN:
  2124.         #endif /* defined(__MMI_MULTITAP_BULGARIAN__) */ 
  2125.         #if defined(__MMI_T9_BULGARIAN__) || defined(__MMI_ZI_BULGARIAN__) || defined(__MMI_CSTAR_BULGARIAN__)     //KP Jerry add "__MMI_CSTAR_BULGARIAN__" on 2007-4-17
  2126.             case INPUT_TYPE_SMART_UPPERCASE_BULGARIAN:
  2127.             case INPUT_TYPE_SMART_LOWERCASE_BULGARIAN:
  2128.         #endif /* defined(__MMI_T9_BULGARIAN__) || defined(__MMI_ZI_BULGARIAN__) || defined(__MMI_CSTAR_BULGARIAN__) */      //KP Jerry add "__MMI_CSTAR_BULGARIAN__" on 2007-4-17
  2129.         #if defined(__MMI_MULTITAP_VIETNAMESE__)
  2130.             case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_VIETNAMESE:
  2131.             case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_VIETNAMESE:
  2132.             case INPUT_TYPE_MMI_LOWERCASE_VIETNAMESE:
  2133.         #endif /* defined(__MMI_MULTITAP_VIETNAMESE__) */ 
  2134.         #if defined(__MMI_ZI_VIETNAMESE__) || defined(__MMI_T9_VIETNAMESE__) || defined(__MMI_CSTAR_VIETNAMESE__)     //KP Jerry add "__MMI_CSTAR_VIETNAMESE__" on 2007-4-17
  2135.             case INPUT_TYPE_SMART_UPPERCASE_VIETNAMESE:
  2136.             case INPUT_TYPE_SMART_LOWERCASE_VIETNAMESE:
  2137.         #endif /* defined(__MMI_ZI_VIETNAMESE__) || defined(__MMI_T9_VIETNAMESE__) || defined(__MMI_CSTAR_VIETNAMESE__) */      //KP Jerry add "__MMI_CSTAR_VIETNAMESE__" on 2007-4-17
  2138.         #if defined(__MMI_MULTITAP_HINDI__)
  2139.             case INPUT_TYPE_MULTITAP_HINDI:
  2140.         #endif 
  2141.                 if (wgui_is_english_only_input_type(MMI_prefered_input_type))
  2142.                 {
  2143.                     input_type &= 0xff00;
  2144.                     input_type |= MMI_prefered_input_type;
  2145.                 }
  2146.                 else
  2147.                 {
  2148.                     input_type = saved_input_type;
  2149.                 }
  2150.                 MMI_current_input_type = input_type;
  2151.                 break;
  2152.             default:
  2153.                 break;
  2154.         }
  2155.     }
  2156. #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
  2157.     MMI_multiline_inputbox.change_callback = set_multiline_inputbox_change_callback;    /* Justin. Originally for WCSS editor */
  2158. #endif 
  2159.     if (input_type & INPUT_TYPE_USE_ONLY_ENGLISH_MODES)
  2160.     {
  2161.         MMI_allow_only_english_input_modes = 1;
  2162.     }
  2163.     if (plus_character_handling)
  2164.     {
  2165.         MMI_multiline_inputbox.flags |= UI_MULTI_LINE_INPUT_BOX_PLUS_CHARACTER_HANDLING;
  2166.     }
  2167.     if (input_type_flags & INPUT_TYPE_GSM_EXTENDED_HANDLING)
  2168.     {
  2169.         MMI_multiline_inputbox.flags |= UI_MULTI_LINE_INPUT_BOX_CHECK_GSM_EXTENDED;
  2170.     }
  2171. #if defined (__MMI_LANG_HINDI__ ) && ( defined (__MMI_LANG_ARABIC__) || defined (__MMI_LANG_PERSIAN__) )
  2172.     if (HINDI_PRESENT && (input_type & INPUT_TYPE_MASK) == INPUT_TYPE_SMART_ARABIC)
  2173.     {
  2174.         U16 temp_input_mode = input_type & ~(INPUT_TYPE_MASK);
  2175.         input_type = temp_input_mode | INPUT_TYPE_MULTITAP_HINDI;
  2176.     }
  2177.     else if (ARABIC_PRESENT && (input_type & INPUT_TYPE_MASK) == INPUT_TYPE_MULTITAP_HINDI)
  2178.     {
  2179.         U16 temp_input_mode = input_type & ~(INPUT_TYPE_MASK);
  2180.         input_type = temp_input_mode | INPUT_TYPE_SMART_ARABIC;
  2181.     }
  2182. #endif /* defined (__MMI_LANG_HINDI__ ) && ( defined (__MMI_LANG_ARABIC__) || defined (__MMI_LANG_PERSIAN__) ) */ 
  2183.     switch (input_type & INPUT_TYPE_MASK)
  2184.     {
  2185.         case INPUT_TYPE_NUMERIC_CHANGEABLE:
  2186.             if (mmi_is_alphanum_pass)
  2187.             {
  2188.                 set_multiline_inputbox_mask(1);
  2189.             }
  2190.             else
  2191.             {
  2192.                 set_multiline_inputbox_mask(0);
  2193.             }
  2194.             change_multiline_inputbox_mode(INPUT_MODE_123);
  2195.             SetKeyHandler(wgui_handle_inputbox_change_input_mode, KEY_POUND, KEY_EVENT_DOWN);
  2196.             inputbox_change_mode = change_multiline_inputbox_input_mode;
  2197.             MMI_current_input_mode = INPUT_MODE_123;
  2198.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2199.             break;
  2200.         case INPUT_TYPE_NUMERIC:
  2201.             set_multiline_inputbox_mask(0);
  2202.             change_multiline_inputbox_mode(INPUT_MODE_123);
  2203.             MMI_current_input_mode = INPUT_MODE_123;
  2204.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2205.             break;
  2206.         case INPUT_TYPE_DECIMAL_NUMERIC:
  2207.             wgui_multiline_inputbox_decimal_flag = 0;
  2208.             if (l > 0)
  2209.             {
  2210.                 S32 i;
  2211.                 UI_buffer_type t = buffer;
  2212.                 UI_character_type c;
  2213.                 for (i = 0; i < l; i++)
  2214.                 {
  2215.                     UI_STRING_GET_NEXT_CHARACTER(t, c);
  2216.                     if (c == (UI_character_type) '.')
  2217.                     {
  2218.                         wgui_multiline_inputbox_decimal_flag = 1;
  2219.                         break;
  2220.                     }
  2221.                 }
  2222.             }
  2223.             set_multiline_inputbox_mask(0);
  2224.             change_multiline_inputbox_mode(INPUT_MODE_123);
  2225.             MMI_current_input_mode = INPUT_MODE_123;
  2226.             SetKeyHandler(wgui_multiline_inputbox_decimal_numeric_handle_pound_key_down, KEY_POUND, KEY_EVENT_DOWN);
  2227.             wgui_multiline_inputbox_decimal_input_mode_flag = 1;
  2228.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2229.             break;
  2230.         case INPUT_TYPE_KEYPAD_NUMERIC:
  2231.             set_multiline_inputbox_mask(0);
  2232.             change_multiline_inputbox_mode(INPUT_MODE_123);
  2233.             MMI_current_input_mode = INPUT_MODE_123;
  2234.             SetKeyHandler(wgui_inputbox_keypad_numeric_handle_star_key_down, KEY_STAR, KEY_EVENT_DOWN);
  2235.             SetKeyHandler(wgui_inputbox_keypad_numeric_handle_pound_key_down, KEY_POUND, KEY_EVENT_DOWN);
  2236.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2237.             break;
  2238.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE:
  2239.             if (mmi_is_alphanum_pass)
  2240.             {
  2241.                 set_multiline_inputbox_mask(1);
  2242.             }
  2243.             else
  2244.             {
  2245.                 set_multiline_inputbox_mask(0);
  2246.             }
  2247.             change_multiline_inputbox_mode(INPUT_MODE_MULTITAP_UPPERCASE_ABC);
  2248.             SetKeyHandler(wgui_handle_inputbox_change_input_mode, KEY_POUND, KEY_EVENT_DOWN);
  2249.             inputbox_change_mode = change_multiline_inputbox_input_mode;
  2250.             MMI_current_input_mode = INPUT_MODE_MULTITAP_UPPERCASE_ABC;
  2251.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2252.             break;
  2253.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE:
  2254.             if (mmi_is_alphanum_pass)
  2255.             {
  2256.                 set_multiline_inputbox_mask(1);
  2257.             }
  2258.             else
  2259.             {
  2260.                 set_multiline_inputbox_mask(0);
  2261.             }
  2262.             change_multiline_inputbox_mode(INPUT_MODE_MULTITAP_LOWERCASE_ABC);
  2263.             SetKeyHandler(wgui_handle_inputbox_change_input_mode, KEY_POUND, KEY_EVENT_DOWN);
  2264.             inputbox_change_mode = change_multiline_inputbox_input_mode;
  2265.             MMI_current_input_mode = INPUT_MODE_MULTITAP_LOWERCASE_ABC;
  2266.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2267.             break;
  2268.         #ifdef __MMI_WCSS_INPUT_FORMAT_SUPPORT__
  2269.         case INPUT_TYPE_ALPHABATIC_UPPERCASE:
  2270.             set_multiline_inputbox_mask(0);
  2271.             change_multiline_inputbox_mode(INPUT_MODE_MULTITAP_UPPERCASE_ABC_NO_NUMERIC);
  2272.             //SetKeyHandler(wgui_handle_inputbox_change_input_mode,KEY_POUND,KEY_EVENT_DOWN);
  2273.             //inputbox_change_mode=change_multiline_inputbox_input_mode;
  2274.             MMI_current_input_mode = INPUT_MODE_MULTITAP_UPPERCASE_ABC_NO_NUMERIC;
  2275.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2276.             break;
  2277.         case INPUT_TYPE_ALPHABATIC_LOWERCASE:
  2278.             set_multiline_inputbox_mask(0);
  2279.             change_multiline_inputbox_mode(INPUT_MODE_MULTITAP_LOWERCASE_ABC_NO_NUMERIC);
  2280.             //SetKeyHandler(wgui_handle_inputbox_change_input_mode,KEY_POUND,KEY_EVENT_DOWN);
  2281.             //inputbox_change_mode=change_multiline_inputbox_input_mode;
  2282.             MMI_current_input_mode = INPUT_MODE_MULTITAP_LOWERCASE_ABC_NO_NUMERIC;
  2283.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2284.             break;
  2285.         case INPUT_TYPE_NUMERIC_SYMBOL:
  2286.             set_multiline_inputbox_mask(0);
  2287.             change_multiline_inputbox_mode(INPUT_MODE_123_SYMBOLS);
  2288.             MMI_current_input_mode = INPUT_MODE_123_SYMBOLS;
  2289.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2290.             break;
  2291.         #endif /* __MMI_WCSS_INPUT_FORMAT_SUPPORT__ */ 
  2292.         case INPUT_TYPE_ALPHANUMERIC_SENTENCECASE:
  2293.             set_multiline_inputbox_mask(0);
  2294.             change_multiline_inputbox_mode(INPUT_MODE_MULTITAP_LOWERCASE_ABC);
  2295.             SetKeyHandler(wgui_handle_inputbox_change_input_mode, KEY_POUND, KEY_EVENT_DOWN);
  2296.             inputbox_change_mode = change_multiline_inputbox_input_mode;
  2297.             MMI_current_input_mode = INPUT_MODE_MULTITAP_LOWERCASE_ABC;
  2298.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2299.             break;
  2300.         case INPUT_TYPE_NUMERIC_PASSWORD:
  2301.             set_multiline_inputbox_mask(1);
  2302.             change_multiline_inputbox_mode(INPUT_MODE_123);
  2303.             MMI_current_input_mode = INPUT_MODE_123;
  2304.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2305.             break;
  2306.         case INPUT_TYPE_SAT_NUMERIC_PASSWORD:
  2307.             set_multiline_inputbox_mask(1);
  2308.             change_multiline_inputbox_mode(INPUT_MODE_123);
  2309.             SetKeyHandler(wgui_inputbox_numeric_password_input_handle_start_key_down, KEY_STAR, KEY_EVENT_DOWN);
  2310.             SetKeyHandler(wgui_inputbox_numeric_password_input_handle_hash_key_down, KEY_POUND, KEY_EVENT_DOWN);
  2311.             MMI_current_input_mode = INPUT_MODE_123;
  2312.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2313.             break;
  2314.         case INPUT_TYPE_ALPHANUMERIC_PASSWORD:
  2315.             set_multiline_inputbox_mask(1);
  2316.             change_multiline_inputbox_mode(INPUT_MODE_MULTITAP_LOWERCASE_ABC);
  2317.             SetKeyHandler(wgui_handle_inputbox_change_input_mode, KEY_POUND, KEY_EVENT_DOWN);
  2318.             inputbox_change_mode = change_multiline_inputbox_input_mode;
  2319.             MMI_current_input_mode = INPUT_MODE_MULTITAP_LOWERCASE_ABC;
  2320.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2321.             break;
  2322.         case INPUT_TYPE_PHONE_NUMBER:
  2323.             set_multiline_inputbox_mask(0);
  2324.             change_multiline_inputbox_mode(INPUT_MODE_123);
  2325.             MMI_current_input_mode = INPUT_MODE_123;
  2326.             /* Handling of Phone number input   */
  2327.         #ifdef __MMI_MULTITAP_KEY_0__
  2328.             SetKeyHandler(wgui_inputbox_phone_number_input_handle_star_key_down, KEY_STAR, KEY_EVENT_DOWN);
  2329.         #else /* __MMI_MULTITAP_KEY_0__ */ 
  2330.             if (MMI_current_input_ext_type & INPUT_TYPE_EXT_SIM_NUMERIC)
  2331.             {
  2332.                 gui_create_multitap_input(
  2333.                     &wgui_inputbox_multitap_star_key,
  2334.                     0,
  2335.                     0,
  2336.                     0,
  2337.                     0,
  2338.                     (UI_string_type) wgui_inputbox_phone_number_star_key_string_for_SIM_number);
  2339.             }
  2340.             else
  2341.             {
  2342.                 gui_create_multitap_input(
  2343.                     &wgui_inputbox_multitap_star_key,
  2344.                     0,
  2345.                     0,
  2346.                     0,
  2347.                     0,
  2348.                     (UI_string_type) wgui_inputbox_phone_number_star_key_string);
  2349.             }
  2350.             gui_set_multitap_input_callbacks(
  2351.                 &wgui_inputbox_multitap_star_key,
  2352.                 multiline_inputbox_multitap_input,
  2353.                 multiline_inputbox_multitap_input_complete);
  2354.             SetKeyHandler(wgui_inputbox_phone_number_input_handle_multitap_star_key_down, KEY_STAR, KEY_EVENT_DOWN);
  2355.             SetKeyHandler(wgui_inputbox_phone_number_input_handle_multitap_star_key_up, KEY_STAR, KEY_EVENT_UP);
  2356.         #endif /* __MMI_MULTITAP_KEY_0__ */ 
  2357.             SetKeyHandler(wgui_inputbox_phone_number_input_handle_hash_key_down, KEY_POUND, KEY_EVENT_DOWN);
  2358.             register_key_down_handler(wgui_inputbox_phone_number_numeric_key_handler);
  2359.         #if(ENABLE_DIALER_ZERO_KEY_MULTITAP)
  2360.             if (MMI_current_input_ext_type & INPUT_TYPE_EXT_SIM_NUMERIC)
  2361.             {
  2362.                 gui_create_multitap_input(
  2363.                     &wgui_inputbox_multitap_zero_key,
  2364.                     0,
  2365.                     0,
  2366.                     0,
  2367.                     0,
  2368.                     (UI_string_type) wgui_inputbox_phone_number_zero_key_string_for_SIM_number);
  2369.             }
  2370.             else
  2371.             {
  2372.                 gui_create_multitap_input(
  2373.                     &wgui_inputbox_multitap_zero_key,
  2374.                     0,
  2375.                     0,
  2376.                     0,
  2377.                     0,
  2378.                     (UI_string_type) wgui_inputbox_phone_number_zero_key_string);
  2379.             }
  2380.             gui_set_multitap_input_callbacks(
  2381.                 &wgui_inputbox_multitap_zero_key,
  2382.                 multiline_inputbox_multitap_input,
  2383.                 multiline_inputbox_multitap_input_complete);
  2384.         #ifdef __MMI_MULTITAP_KEY_0__
  2385.             SetKeyHandler(wgui_inputbox_phone_number_input_handle_zero_key_long_press, KEY_0, KEY_EVENT_LONG_PRESS);
  2386.         #else /* __MMI_MULTITAP_KEY_0__ */ 
  2387.             SetKeyHandler(wgui_inputbox_phone_number_input_handle_multitap_zero_key_down, KEY_0, KEY_EVENT_DOWN);
  2388.             SetKeyHandler(wgui_inputbox_phone_number_input_handle_multitap_zero_key_up, KEY_0, KEY_EVENT_UP);
  2389.         #endif /* __MMI_MULTITAP_KEY_0__ */ 
  2390.         #endif /* (ENABLE_DIALER_ZERO_KEY_MULTITAP) */ 
  2391.             wgui_inputbox_active_multitap = WGUI_INPUTBOX_MULTITAP_NONE;
  2392.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2393.             break;
  2394.         #if defined(__MMI_MULTITAP_THAI__)
  2395.         case INPUT_TYPE_ALPHANUMERIC_MULTITAP_THAI:
  2396.             set_multiline_inputbox_mask(0);
  2397.             change_multiline_inputbox_mode(INPUT_MODE_MULTITAP_THAI);
  2398.             SetKeyHandler(wgui_handle_inputbox_change_input_mode_bymultitapthai, KEY_POUND, KEY_LONG_PRESS);
  2399.             inputbox_change_mode = change_multiline_inputbox_input_mode;
  2400.             MMI_current_input_mode = INPUT_MODE_MULTITAP_THAI;
  2401.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2402.             break;
  2403.         #endif /* defined(__MMI_MULTITAP_THAI__) */ 
  2404.         #if defined(__MMI_MULTITAP_SPANISH__)
  2405.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_SPANISH:
  2406.             set_multiline_inputbox_mask(0);
  2407.             change_multiline_inputbox_mode(INPUT_MODE_MULTITAP_UPPERCASE_SPANISH);
  2408.             SetKeyHandler(wgui_handle_inputbox_change_input_mode, KEY_POUND, KEY_EVENT_DOWN);
  2409.             inputbox_change_mode = change_multiline_inputbox_input_mode;
  2410.             MMI_current_input_mode = INPUT_MODE_MULTITAP_UPPERCASE_SPANISH;
  2411.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2412.             break;
  2413.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_SPANISH:
  2414.             set_multiline_inputbox_mask(0);
  2415.             change_multiline_inputbox_mode(INPUT_MODE_MULTITAP_LOWERCASE_SPANISH);
  2416.             SetKeyHandler(wgui_handle_inputbox_change_input_mode, KEY_POUND, KEY_EVENT_DOWN);
  2417.             inputbox_change_mode = change_multiline_inputbox_input_mode;
  2418.             MMI_current_input_mode = INPUT_MODE_MULTITAP_LOWERCASE_SPANISH;
  2419.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2420.             break;
  2421.         #endif /* defined(__MMI_MULTITAP_SPANISH__) */ 
  2422.         #if defined(__MMI_MULTITAP_DANISH__)
  2423.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_DANISH:
  2424.             set_multiline_inputbox_mask(0);
  2425.             change_multiline_inputbox_mode(INPUT_MODE_MULTITAP_UPPERCASE_DANISH);
  2426.             SetKeyHandler(wgui_handle_inputbox_change_input_mode, KEY_POUND, KEY_EVENT_DOWN);
  2427.             inputbox_change_mode = change_multiline_inputbox_input_mode;
  2428.             MMI_current_input_mode = INPUT_MODE_MULTITAP_UPPERCASE_DANISH;
  2429.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2430.             break;
  2431.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_DANISH:
  2432.             set_multiline_inputbox_mask(0);
  2433.             change_multiline_inputbox_mode(INPUT_MODE_MULTITAP_LOWERCASE_DANISH);
  2434.             SetKeyHandler(wgui_handle_inputbox_change_input_mode, KEY_POUND, KEY_EVENT_DOWN);
  2435.             inputbox_change_mode = change_multiline_inputbox_input_mode;
  2436.             MMI_current_input_mode = INPUT_MODE_MULTITAP_LOWERCASE_DANISH;
  2437.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2438.             break;
  2439.         #endif /* defined(__MMI_MULTITAP_DANISH__) */ 
  2440.         #if defined(__MMI_MULTITAP_POLISH__)
  2441.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_POLISH:
  2442.             set_multiline_inputbox_mask(0);
  2443.             change_multiline_inputbox_mode(INPUT_MODE_MULTITAP_UPPERCASE_POLISH);
  2444.             SetKeyHandler(wgui_handle_inputbox_change_input_mode, KEY_POUND, KEY_EVENT_DOWN);
  2445.             inputbox_change_mode = change_multiline_inputbox_input_mode;
  2446.             MMI_current_input_mode = INPUT_MODE_MULTITAP_UPPERCASE_POLISH;
  2447.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2448.             break;
  2449.         case INPUT_TYPE_ALPHANUMERIC_LOWERCASE_POLISH:
  2450.             set_multiline_inputbox_mask(0);
  2451.             change_multiline_inputbox_mode(INPUT_MODE_MULTITAP_LOWERCASE_POLISH);
  2452.             SetKeyHandler(wgui_handle_inputbox_change_input_mode, KEY_POUND, KEY_EVENT_DOWN);
  2453.             inputbox_change_mode = change_multiline_inputbox_input_mode;
  2454.             MMI_current_input_mode = INPUT_MODE_MULTITAP_LOWERCASE_POLISH;
  2455.             wgui_inputbox_information_icon = get_image(WGUI_INPUT_INFORMATION_ICON1);
  2456.             break;
  2457.         #endif /* defined(__MMI_MULTITAP_POLISH__) */ 
  2458.         #if defined(__MMI_MULTITAP_FRENCH__)
  2459.         case INPUT_TYPE_ALPHANUMERIC_UPPERCASE_FRENCH:
  2460.             set_multiline_inputbox_mask(0);
  2461.             change_multiline_inputbox_mode(INPUT_MODE_MULTITAP_UPPERCASE_FRENCH);
  2462.             SetKeyHandler(wgui_handle_inputbox_change_input_mode, KEY_POUND, KEY_EVENT_DOWN);
  2463.             inputbox_change_mode = change_multiline_inputbox_input_mode;
  2464.             MMI_current_input_mode = INPUT_MODE_MULTITAP_UPPERCASE_FRENCH;