wgui_categories_inputs.c
资源名称:mmi.rar [点击查看]
上传用户:lqx1163
上传日期:2014-08-13
资源大小:9183k
文件大小:1705k
源码类别:
MTK
开发平台:
C/C++
- /*****************************************************************************
- * Copyright Statement:
- * --------------------
- * This software is protected by Copyright and the information contained
- * herein is confidential. The software may not be copied and the information
- * contained herein may not be used or disclosed except with the written
- * permission of MediaTek Inc. (C) 2005
- *
- * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
- * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
- * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
- * AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
- * NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
- * SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
- * SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
- * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
- * NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
- * SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
- *
- * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
- * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
- * AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
- * OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
- * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
- *
- * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
- * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
- * LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
- * RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
- * THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
- *
- *****************************************************************************/
- /*****************************************************************************
- *
- * Filename:
- * ---------
- * wgui_categories_inputs.c
- *
- * Project:
- * --------
- * Maui_Software
- *
- * Description:
- * ------------
- * Input/Editor related categoreis.
- *
- * Author:
- * -------
- * -------
- *
- *============================================================================
- * HISTORY
- * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
- *------------------------------------------------------------------------------
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- * removed!
- * removed!
- * removed!
- *
- *------------------------------------------------------------------------------
- * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
- *============================================================================
- ****************************************************************************/
- #include "MMI_features.h"
- #if defined(__MMI_TOUCH_SCREEN__) || defined(__MMI_HANDWRITING_PAD__)
- #include "EditorPen.h"
- #endif
- #include "stdC.h"
- #include "L4Dr1.h"
- #include "PixtelDataTypes.h"
- #include "DebugInitDef.h"
- #include "GlobalDefs.h"
- #ifdef __MMI_UI_SMALL_SCREEN_SUPPORT__
- #include "HistoryGprot.h"
- #endif
- #include "FrameworkStruct.h"
- #include "EventsDef.h"
- #include "wgui_inputs.h"
- #include "wgui_categories_defs.h"
- #include "gui_themes.h"
- #include "wgui_categories.h"
- #include "wgui_categories_inputs.h"
- #include "wgui_status_icons.h"
- #include "ScrMemMgrGprot.h"
- #include "t9def.h"
- #include "TimerEvents.h"
- #include "bididef.h"
- #include "IMERes.h"
- #include "gui_setting.h"
- #ifdef __MMI_HINDI_ALG__
- #include "hf_rules.h"
- #endif
- #if defined(__MMI_SMART_MESSAGE_MO__) && !defined(__MMI_MESSAGES_EMS__)
- #include "SmsGuiInterfaceType.h"
- #include "MessagesResourceData.h"
- #endif /* defined(__MMI_SMART_MESSAGE_MO__) && !defined(__MMI_MESSAGES_EMS__) */
- #include "ChatGtype.h"
- #include "wgui_draw_manager.h"
- #include "IMERes.h"
- #include "wgui_ems.h"
- S32 redraw_on_input_method_change = 0;
- #if defined(__MMI_TOUCH_SCREEN__)
- S32 wgui_information_bar_input_mode_display_width = 0;
- S32 wgui_information_bar_input_mode_display_height = 0;
- #endif
- #ifdef __UI_PAGING_IN_MULTILINE_EDITOR__
- static U8 shared_data[GUI_SHARED_BYTES];
- #endif
- #ifdef UI_SMALL_CATEGORY_EDITOR
- BOOL g_small_editor_category_present = FALSE;
- #endif
- #include "BIDIDEF.h"
- #include "BIDIProt.h"
- /* MTK Terry for removing compile warnings */
- extern void draw_scrolling_title(void);
- extern void setup_scrolling_title(void);
- extern void close_scrolling_title(void);
- /* MTK steven for removing compile warnings */
- extern void resize_singleline_inputbox(S32 width, S32 height);
- extern void EntrySymbolPickerScreen(void);
- #ifdef __MMI_T9__
- extern void InuptMethodEnterInlineMultilineScreen(void);
- extern void T9SynT9WithInputBoxMultilineInputBox(void);
- #ifdef UI_SMALL_CATEGORY_EDITOR
- extern void T9TrResizeSelectionArea(void);
- #endif
- #endif /* __MMI_T9__ */
- /* MTK end */
- extern U16 StopMyTimer(U16 nTimerId);
- extern void mmi_idle_star_key_disable_long_press(void);
- //to customize input methods
- // __CUSTPACK_MULTIBIN Terry BEGIN
- U8 MMI_english_input_mode_set[INPUT_MODE_MAX_NUM];
- U8 MMI_qsearch_input_mode_set[INPUT_MODE_MAX_NUM];
- U8 MMI_all_input_mode_set[INPUT_MODE_MAX_NUM];
- /* Begin AP input mode set */
- U8 MMI_AP_set_input_mode_set = 0;
- S16 MMI_AP_required_input_mode_set[INPUT_MODE_MAX_NUM];
- /* End AP input mode set */
- const U8 MMI_implement_input_mode_set[] =
- {
- INPUT_MODE_MULTITAP_UPPERCASE_ABC,
- INPUT_MODE_MULTITAP_LOWERCASE_ABC,
- INPUT_MODE_123,
- #if defined (__MMI_MULTITAP_THAI__)
- INPUT_MODE_MULTITAP_THAI,
- #endif
- #if defined(__MMI_MULTITAP_SPANISH__)
- INPUT_MODE_MULTITAP_UPPERCASE_SPANISH,
- INPUT_MODE_MULTITAP_LOWERCASE_SPANISH,
- #endif /* defined(__MMI_MULTITAP_SPANISH__) */
- #if defined(__MMI_MULTITAP_DANISH__)
- INPUT_MODE_MULTITAP_UPPERCASE_DANISH,
- INPUT_MODE_MULTITAP_LOWERCASE_DANISH,
- #endif /* defined(__MMI_MULTITAP_DANISH__) */
- #if defined(__MMI_MULTITAP_POLISH__)
- INPUT_MODE_MULTITAP_UPPERCASE_POLISH,
- INPUT_MODE_MULTITAP_LOWERCASE_POLISH,
- #endif /* defined(__MMI_MULTITAP_POLISH__) */
- #if defined(__MMI_MULTITAP_FRENCH__)
- INPUT_MODE_MULTITAP_UPPERCASE_FRENCH,
- INPUT_MODE_MULTITAP_LOWERCASE_FRENCH,
- #endif /* defined(__MMI_MULTITAP_FRENCH__) */
- #if defined(__MMI_MULTITAP_GERMAN__)
- INPUT_MODE_MULTITAP_UPPERCASE_GERMAN,
- INPUT_MODE_MULTITAP_LOWERCASE_GERMAN,
- #endif /* defined(__MMI_MULTITAP_GERMAN__) */
- #if defined(__MMI_MULTITAP_ITALIAN__)
- INPUT_MODE_MULTITAP_UPPERCASE_ITALIAN,
- INPUT_MODE_MULTITAP_LOWERCASE_ITALIAN,
- #endif /* defined(__MMI_MULTITAP_ITALIAN__) */
- #if defined(__MMI_MULTITAP_RUSSIAN__)
- INPUT_MODE_MULTITAP_UPPERCASE_RUSSIAN,
- INPUT_MODE_MULTITAP_LOWERCASE_RUSSIAN,
- #endif /* defined(__MMI_MULTITAP_RUSSIAN__) */
- #if defined(__MMI_MULTITAP_BULGARIAN__)
- INPUT_MODE_MULTITAP_UPPERCASE_BULGARIAN,
- INPUT_MODE_MULTITAP_LOWERCASE_BULGARIAN,
- #endif /* defined(__MMI_MULTITAP_BULGARIAN__) */
- #if defined(__MMI_MULTITAP_TURKISH__)
- INPUT_MODE_MULTITAP_UPPERCASE_TURKISH,
- INPUT_MODE_MULTITAP_LOWERCASE_TURKISH,
- #endif /* defined(__MMI_MULTITAP_TURKISH__) */
- #if defined(__MMI_MULTITAP_PORTUGUESE__)
- INPUT_MODE_MULTITAP_UPPERCASE_PORTUGUESE,
- INPUT_MODE_MULTITAP_LOWERCASE_PORTUGUESE,
- #endif /* defined(__MMI_MULTITAP_PORTUGUESE__) */
- #if defined(__MMI_MULTITAP_INDONESIAN__)
- INPUT_MODE_MULTITAP_UPPERCASE_INDONESIAN,
- INPUT_MODE_MULTITAP_LOWERCASE_INDONESIAN,
- #endif /* defined(__MMI_MULTITAP_INDONESIAN__) */
- #if defined(__MMI_MULTITAP_CZECH__)
- INPUT_MODE_MULTITAP_UPPERCASE_CZECH,
- INPUT_MODE_MULTITAP_LOWERCASE_CZECH,
- #endif /* defined(__MMI_MULTITAP_CZECH__) */
- #if defined(__MMI_MULTITAP_MALAY__)
- INPUT_MODE_MULTITAP_UPPERCASE_MALAY,
- INPUT_MODE_MULTITAP_LOWERCASE_MALAY,
- #endif /* defined(__MMI_MULTITAP_MALAY__) */
- #if defined(__MMI_MULTITAP_VIETNAMESE__)
- INPUT_MODE_MULTITAP_UPPERCASE_VIETNAMESE,
- INPUT_MODE_MULTITAP_LOWERCASE_VIETNAMESE,
- #endif /* defined(__MMI_MULTITAP_VIETNAMESE__) */
- #if defined(__MMI_MULTITAP_FINNISH__)
- INPUT_MODE_MULTITAP_UPPERCASE_FINNISH,
- INPUT_MODE_MULTITAP_LOWERCASE_FINNISH,
- #endif /* defined(__MMI_MULTITAP_FINNISH__) */
- #if defined(__MMI_MULTITAP_HUNGARIAN__)
- INPUT_MODE_MULTITAP_UPPERCASE_HUNGARIAN,
- INPUT_MODE_MULTITAP_LOWERCASE_HUNGARIAN,
- #endif /* defined(__MMI_MULTITAP_HUNGARIAN__) */
- #if defined(__MMI_MULTITAP_SWEDISH__)
- INPUT_MODE_MULTITAP_UPPERCASE_SWEDISH,
- INPUT_MODE_MULTITAP_LOWERCASE_SWEDISH,
- #endif /* defined(__MMI_MULTITAP_SWEDISH__) */
- #if defined(__MMI_MULTITAP_HEBREW__)
- INPUT_MODE_MULTITAP_HEBREW,
- #endif
- #if defined(__MMI_MULTITAP_SLOVAK__)
- INPUT_MODE_MULTITAP_UPPERCASE_SLOVAK,
- INPUT_MODE_MULTITAP_LOWERCASE_SLOVAK,
- #endif /* defined(__MMI_MULTITAP_SLOVAK__) */
- #if defined(__MMI_MULTITAP_DUTCH__)
- INPUT_MODE_MULTITAP_UPPERCASE_DUTCH,
- INPUT_MODE_MULTITAP_LOWERCASE_DUTCH,
- #endif /* defined(__MMI_MULTITAP_DUTCH__) */
- #if defined(__MMI_MULTITAP_NORWEGIAN__)
- INPUT_MODE_MULTITAP_UPPERCASE_NORWEGIAN,
- INPUT_MODE_MULTITAP_LOWERCASE_NORWEGIAN,
- #endif /* defined(__MMI_MULTITAP_NORWEGIAN__) */
- /* Norwegian end */
- #if defined(__MMI_MULTITAP_ARABIC__)
- INPUT_MODE_MULTITAP_ARABIC,
- #endif
- //PMT START PERSIAN
- #if defined(__MMI_MULTITAP_PERSIAN__)
- INPUT_MODE_MULTITAP_PERSIAN,
- #endif
- //PMT END PERSIAN
- #if defined(__MMI_MULTITAP_CROATIAN__)
- INPUT_MODE_MULTITAP_UPPERCASE_CROATIAN,
- INPUT_MODE_MULTITAP_LOWERCASE_CROATIAN,
- #endif /* defined(__MMI_MULTITAP_CROATIAN__) */
- #if defined(__MMI_MULTITAP_ROMANIAN__)
- INPUT_MODE_MULTITAP_UPPERCASE_ROMANIAN,
- INPUT_MODE_MULTITAP_LOWERCASE_ROMANIAN,
- #endif /* defined(__MMI_MULTITAP_ROMANIAN__) */
- #if defined(__MMI_MULTITAP_SLOVENIAN__)
- INPUT_MODE_MULTITAP_UPPERCASE_SLOVENIAN,
- INPUT_MODE_MULTITAP_LOWERCASE_SLOVENIAN,
- #endif /* defined(__MMI_MULTITAP_SLOVENIAN__) */
- #if defined(__MMI_MULTITAP_GREEK__)
- INPUT_MODE_MULTITAP_UPPERCASE_GREEK,
- INPUT_MODE_MULTITAP_LOWERCASE_GREEK,
- #endif /* defined(__MMI_MULTITAP_GREEK__) */
- #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
- INPUT_MODE_MULTITAP_UPPERCASE_ABC_NO_NUMERIC,
- INPUT_MODE_MULTITAP_LOWERCASE_ABC_NO_NUMERIC,
- INPUT_MODE_123_SYMBOLS,
- #endif /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */
- #if defined(__MMI_T9__)
- #if defined(__MMI_T9_TR_CHINESE__) && defined(__MMI_T9_MULTITAP_PHONETIC_INPUT__)
- INPUT_MODE_TR_MULTITAP_BOPOMO,
- #endif
- #if defined(__MMI_T9_SM_CHINESE__) && defined(__MMI_T9_MULTITAP_PHONETIC_INPUT__)
- INPUT_MODE_SM_MULTITAP_PINYIN,
- #endif
- #if defined(__MMI_T9_TR_CHINESE__)
- INPUT_MODE_TR_STROKE,
- #endif
- #if defined(__MMI_T9_SM_CHINESE__)
- INPUT_MODE_SM_STROKE,
- #endif
- #if defined(__MMI_T9_TR_CHINESE__) && defined(__MMI_T9_SMART_PHONETIC_INPUT__) && defined(__MMI_T9_AMB_BPMF_INPUT__)
- INPUT_MODE_TR_BOPOMO,
- #endif
- #if defined(__MMI_T9_SM_CHINESE__) && defined(__MMI_T9_SMART_PHONETIC_INPUT__)
- INPUT_MODE_SM_PINYIN,
- #endif
- #if defined(__MMI_T9_ENGLISH__)
- INPUT_MODE_SMART_UPPERCASE_ABC,
- INPUT_MODE_SMART_LOWERCASE_ABC,
- #endif /* defined(__MMI_T9_ENGLISH__) */
- #if defined(__MMI_T9_SPANISH__)
- INPUT_MODE_SMART_UPPERCASE_SPANISH,
- INPUT_MODE_SMART_LOWERCASE_SPANISH,
- #endif /* defined(__MMI_T9_SPANISH__) */
- #if defined(__MMI_T9_DANISH__)
- INPUT_MODE_SMART_UPPERCASE_DANISH,
- INPUT_MODE_SMART_LOWERCASE_DANISH,
- #endif /* defined(__MMI_T9_DANISH__) */
- #if defined(__MMI_T9_POLISH__)
- INPUT_MODE_SMART_UPPERCASE_POLISH,
- INPUT_MODE_SMART_LOWERCASE_POLISH,
- #endif /* defined(__MMI_T9_POLISH__) */
- #if defined(__MMI_T9_FRENCH__)
- INPUT_MODE_SMART_UPPERCASE_FRENCH,
- INPUT_MODE_SMART_LOWERCASE_FRENCH,
- #endif /* defined(__MMI_T9_FRENCH__) */
- #if defined(__MMI_T9_GERMAN__)
- INPUT_MODE_SMART_UPPERCASE_GERMAN,
- INPUT_MODE_SMART_LOWERCASE_GERMAN,
- #endif /* defined(__MMI_T9_GERMAN__) */
- #if defined(__MMI_T9_ITALIAN__)
- INPUT_MODE_SMART_UPPERCASE_ITALIAN,
- INPUT_MODE_SMART_LOWERCASE_ITALIAN,
- #endif /* defined(__MMI_T9_ITALIAN__) */
- #if defined(__MMI_T9_RUSSIAN__)
- INPUT_MODE_SMART_UPPERCASE_RUSSIAN,
- INPUT_MODE_SMART_LOWERCASE_RUSSIAN,
- #endif /* defined(__MMI_T9_RUSSIAN__) */
- /* PMT BULGARIAN START 20051201 */
- #if defined(__MMI_T9_BULGARIAN__)
- INPUT_MODE_SMART_UPPERCASE_BULGARIAN,
- INPUT_MODE_SMART_LOWERCASE_BULGARIAN,
- #endif /* defined(__MMI_T9_BULGARIAN__) */
- #if defined(__MMI_T9_THAI__)
- INPUT_MODE_SMART_THAI,
- #endif
- #if defined(__MMI_T9_CZECH__)
- INPUT_MODE_SMART_UPPERCASE_CZECH,
- INPUT_MODE_SMART_LOWERCASE_CZECH,
- #endif /* defined(__MMI_T9_CZECH__) */
- #if defined(__MMI_T9_INDONESIAN__)
- INPUT_MODE_SMART_UPPERCASE_INDONESIAN,
- INPUT_MODE_SMART_LOWERCASE_INDONESIAN,
- #endif /* defined(__MMI_T9_INDONESIAN__) */
- #if defined(__MMI_T9_TURKISH__)
- INPUT_MODE_SMART_UPPERCASE_TURKISH,
- INPUT_MODE_SMART_LOWERCASE_TURKISH,
- #endif /* defined(__MMI_T9_TURKISH__) */
- #if defined(__MMI_T9_PORTUGUESE__)
- INPUT_MODE_SMART_UPPERCASE_PORTUGUESE,
- INPUT_MODE_SMART_LOWERCASE_PORTUGUESE,
- #endif /* defined(__MMI_T9_PORTUGUESE__) */
- #if defined(__MMI_T9_VIETNAMESE__)
- INPUT_MODE_SMART_UPPERCASE_VIETNAMESE,
- INPUT_MODE_SMART_LOWERCASE_VIETNAMESE,
- #endif /* defined(__MMI_T9_VIETNAMESE__) */
- #if defined(__MMI_T9_FINNISH__)
- INPUT_MODE_SMART_UPPERCASE_FINNISH,
- INPUT_MODE_SMART_LOWERCASE_FINNISH,
- #endif /* defined(__MMI_T9_FINNISH__) */
- #if defined(__MMI_T9_HUNGARIAN__)
- INPUT_MODE_SMART_UPPERCASE_HUNGARIAN,
- INPUT_MODE_SMART_LOWERCASE_HUNGARIAN,
- #endif /* defined(__MMI_T9_HUNGARIAN__) */
- #if defined(__MMI_T9_ARABIC__)
- INPUT_MODE_SMART_ARABIC,
- #endif
- #if defined(__MMI_T9_GREEK__)
- INPUT_MODE_SMART_UPPERCASE_GREEK,
- INPUT_MODE_SMART_LOWERCASE_GREEK,
- #endif /* defined(__MMI_T9_GREEK__) */
- #if defined(__MMI_T9_HEBREW__)
- INPUT_MODE_SMART_HEBREW,
- #endif
- #if defined(__MMI_T9_HINDI__)
- INPUT_MODE_SMART_HINDI,
- #endif
- #if defined(__MMI_T9_NORWEGIAN__)
- INPUT_MODE_SMART_UPPERCASE_NORWEGIAN,
- INPUT_MODE_SMART_LOWERCASE_NORWEGIAN,
- #endif /* defined(__MMI_T9_NORWEGIAN__) */
- #if defined(__MMI_T9_DUTCH__)
- INPUT_MODE_SMART_UPPERCASE_DUTCH,
- INPUT_MODE_SMART_LOWERCASE_DUTCH,
- #endif /* defined(__MMI_T9_DUTCH__) */
- #if defined(__MMI_T9_SLOVENIAN__)
- INPUT_MODE_SMART_UPPERCASE_SLOVENIAN,
- INPUT_MODE_SMART_LOWERCASE_SLOVENIAN,
- #endif /* defined(__MMI_T9_SLOVENIAN__) */
- #if defined(__MMI_T9_SWEDISH__)
- INPUT_MODE_SMART_UPPERCASE_SWEDISH,
- INPUT_MODE_SMART_LOWERCASE_SWEDISH,
- #endif /* defined(__MMI_T9_SWEDISH__) */
- #if defined(__MMI_T9_MALAY__)
- INPUT_MODE_SMART_UPPERCASE_MALAY,
- INPUT_MODE_SMART_LOWERCASE_MALAY,
- #endif /* defined(__MMI_T9_MALAY__) */
- #if defined(__MMI_T9_CROATIAN__)
- INPUT_MODE_SMART_UPPERCASE_CROATIAN,
- INPUT_MODE_SMART_LOWERCASE_CROATIAN,
- #endif /* defined(__MMI_T9_CROATIAN__) */
- #if defined(__MMI_T9_SLOVAK__)
- INPUT_MODE_SMART_UPPERCASE_SLOVAK,
- INPUT_MODE_SMART_LOWERCASE_SLOVAK,
- #endif /* defined(__MMI_T9_SLOVAK__) */
- #if defined(__MMI_T9_ROMANIAN__)
- INPUT_MODE_SMART_UPPERCASE_ROMANIAN,
- INPUT_MODE_SMART_LOWERCASE_ROMANIAN,
- #endif /* defined(__MMI_T9_ROMANIAN__) */
- #elif defined(__MMI_ZI__)
- /* MTK Elvis multitap phonetic input mode */
- #if defined(__MMI_ZI_TR_CHINESE__) && defined(__MMI_ZI_MULTITAP_PHONETIC_INPUT__)
- INPUT_MODE_TR_MULTITAP_BOPOMO,
- #endif
- #if defined(__MMI_ZI_SM_CHINESE__) && defined(__MMI_ZI_MULTITAP_PHONETIC_INPUT__)
- INPUT_MODE_SM_MULTITAP_PINYIN,
- #endif
- #if defined(__MMI_ZI_TR_CHINESE__)
- INPUT_MODE_TR_STROKE,
- #endif
- #if defined(__MMI_ZI_SM_CHINESE__)
- INPUT_MODE_SM_STROKE,
- #endif
- /* MTK end */
- #if defined(__MMI_ZI_TR_CHINESE__) && defined(__MMI_ZI_SMART_PHONETIC_INPUT__)
- INPUT_MODE_TR_BOPOMO,
- #endif
- #if defined(__MMI_ZI_SM_CHINESE__) && defined(__MMI_ZI_SMART_PHONETIC_INPUT__)
- INPUT_MODE_SM_PINYIN,
- #endif
- #if defined(__MMI_ZI_PRC_ENGLISH__) || defined(__MMI_ZI_UK_ENGLISH__)
- INPUT_MODE_SMART_UPPERCASE_ABC,
- INPUT_MODE_SMART_LOWERCASE_ABC,
- #endif /* defined(__MMI_ZI_PRC_ENGLISH__) || defined(__MMI_ZI_UK_ENGLISH__) */
- /* MTK Elvis modify for stacked character---thai */
- #if defined(__MMI_ZI_THAI__)
- INPUT_MODE_SMART_THAI,
- #endif
- /* MTK Elvis for R2L characters */
- #if defined(__MMI_ZI_ARABIC__)
- INPUT_MODE_SMART_ARABIC,
- #endif
- //PMT START PERSIAN
- #if defined(__MMI_ZI_PERSIAN__)
- INPUT_MODE_SMART_PERSIAN,
- #endif
- //PMT END PERSIAN
- #if defined(__MMI_ZI_HINDI__)
- INPUT_MODE_SMART_HINDI,
- #endif
- #if defined(__MMI_ZI_HEBREW__)
- INPUT_MODE_SMART_HEBREW,
- #endif
- //MTK end
- #if defined(__MMI_ZI_EU_SPANISH__) || defined(__MMI_ZI_SA_SPANISH__)
- INPUT_MODE_SMART_UPPERCASE_SPANISH,
- INPUT_MODE_SMART_LOWERCASE_SPANISH,
- #endif /* defined(__MMI_ZI_EU_SPANISH__) || defined(__MMI_ZI_SA_SPANISH__) */
- #if defined(__MMI_ZI_DANISH__)
- INPUT_MODE_SMART_UPPERCASE_DANISH,
- INPUT_MODE_SMART_LOWERCASE_DANISH,
- #endif /* defined(__MMI_ZI_DANISH__) */
- #if defined(__MMI_ZI_POLISH__)
- INPUT_MODE_SMART_UPPERCASE_POLISH,
- INPUT_MODE_SMART_LOWERCASE_POLISH,
- #endif /* defined(__MMI_ZI_POLISH__) */
- #if defined(__MMI_ZI_NORWEGIAN__)
- INPUT_MODE_SMART_UPPERCASE_NORWEGIAN,
- INPUT_MODE_SMART_LOWERCASE_NORWEGIAN,
- #endif /* defined(__MMI_ZI_NORWEGIAN__) */
- #if defined(__MMI_ZI_CA_FRENCH__) || defined(__MMI_ZI_EU_FRENCH__)
- INPUT_MODE_SMART_UPPERCASE_FRENCH,
- INPUT_MODE_SMART_LOWERCASE_FRENCH,
- #endif /* defined(__MMI_ZI_CA_FRENCH__) || defined(__MMI_ZI_EU_FRENCH__) */
- #if defined(__MMI_ZI_GERMAN__)
- INPUT_MODE_SMART_UPPERCASE_GERMAN,
- INPUT_MODE_SMART_LOWERCASE_GERMAN,
- #endif /* defined(__MMI_ZI_GERMAN__) */
- #if defined(__MMI_ZI_ITALIAN__)
- INPUT_MODE_SMART_UPPERCASE_ITALIAN,
- INPUT_MODE_SMART_LOWERCASE_ITALIAN,
- #endif /* defined(__MMI_ZI_ITALIAN__) */
- #if defined(__MMI_ZI_RUSSIAN__) || defined(__MMI_ZI_RECOMMENDED_SIZE_RUSSIAN__)
- INPUT_MODE_SMART_UPPERCASE_RUSSIAN,
- INPUT_MODE_SMART_LOWERCASE_RUSSIAN,
- #endif /* defined(__MMI_ZI_RUSSIAN__) || defined(__MMI_ZI_RECOMMENDED_SIZE_RUSSIAN__) */
- #if defined(__MMI_ZI_BULGARIAN__)
- INPUT_MODE_SMART_UPPERCASE_BULGARIAN,
- INPUT_MODE_SMART_LOWERCASE_BULGARIAN,
- #endif /* defined(__MMI_ZI_BULGARIAN__) */
- #if defined(__MMI_ZI_TURKISH__)
- INPUT_MODE_SMART_UPPERCASE_TURKISH,
- INPUT_MODE_SMART_LOWERCASE_TURKISH,
- #endif /* defined(__MMI_ZI_TURKISH__) */
- #if defined(__MMI_ZI_EU_PORTUGUESE__) || defined(__MMI_ZI_SA_PORTUGUESE__) || defined(__MMI_ZI_BZ_PORTUGUESE__)
- INPUT_MODE_SMART_UPPERCASE_PORTUGUESE,
- INPUT_MODE_SMART_LOWERCASE_PORTUGUESE,
- #endif /* defined(__MMI_ZI_EU_PORTUGUESE__) || defined(__MMI_ZI_SA_PORTUGUESE__) || defined(__MMI_ZI_BZ_PORTUGUESE__) */
- #if defined(__MMI_ZI_INDONESIAN__)
- INPUT_MODE_SMART_UPPERCASE_INDONESIAN,
- INPUT_MODE_SMART_LOWERCASE_INDONESIAN,
- #endif /* defined(__MMI_ZI_INDONESIAN__) */
- #if defined(__MMI_ZI_CZECH__)
- INPUT_MODE_SMART_UPPERCASE_CZECH,
- INPUT_MODE_SMART_LOWERCASE_CZECH,
- #endif /* defined(__MMI_ZI_CZECH__) */
- #if defined(__MMI_ZI_MALAY__)
- INPUT_MODE_SMART_UPPERCASE_MALAY,
- INPUT_MODE_SMART_LOWERCASE_MALAY,
- #endif /* defined(__MMI_ZI_MALAY__) */
- #if defined(__MMI_ZI_VIETNAMESE__)
- INPUT_MODE_SMART_UPPERCASE_VIETNAMESE,
- INPUT_MODE_SMART_LOWERCASE_VIETNAMESE,
- #endif /* defined(__MMI_ZI_VIETNAMESE__) */
- #if defined(__MMI_ZI_SLOVAK__)
- INPUT_MODE_SMART_UPPERCASE_SLOVAK,
- INPUT_MODE_SMART_LOWERCASE_SLOVAK,
- #endif /* defined(__MMI_ZI_SLOVAK__) */
- #if defined(__MMI_ZI_DUTCH__)
- INPUT_MODE_SMART_UPPERCASE_DUTCH,
- INPUT_MODE_SMART_LOWERCASE_DUTCH,
- #endif /* defined(__MMI_ZI_DUTCH__) */
- #if defined(__MMI_ZI_SWEDISH__)
- INPUT_MODE_SMART_UPPERCASE_SWEDISH,
- INPUT_MODE_SMART_LOWERCASE_SWEDISH,
- #endif /* defined(__MMI_ZI_SWEDISH__) */
- #if defined(__MMI_ZI_CROATIAN__)
- INPUT_MODE_SMART_UPPERCASE_CROATIAN,
- INPUT_MODE_SMART_LOWERCASE_CROATIAN,
- #endif /* defined(__MMI_ZI_CROATIAN__) */
- #if defined(__MMI_ZI_ROMANIAN__)
- INPUT_MODE_SMART_UPPERCASE_ROMANIAN,
- INPUT_MODE_SMART_LOWERCASE_ROMANIAN,
- #endif /* defined(__MMI_ZI_ROMANIAN__) */
- #if defined(__MMI_ZI_SLOVENIAN__)
- INPUT_MODE_SMART_UPPERCASE_SLOVENIAN,
- INPUT_MODE_SMART_LOWERCASE_SLOVENIAN,
- #endif /* defined(__MMI_ZI_SLOVENIAN__) */
- #if defined(__MMI_ZI_GREEK__)
- INPUT_MODE_SMART_UPPERCASE_GREEK,
- INPUT_MODE_SMART_LOWERCASE_GREEK,
- #endif /* defined(__MMI_ZI_GREEK__) */
- #if defined(__MMI_ZI_FINNISH__)
- INPUT_MODE_SMART_UPPERCASE_FINNISH,
- INPUT_MODE_SMART_LOWERCASE_FINNISH,
- #endif /* defined(__MMI_ZI_FINNISH__) */
- #if defined(__MMI_ZI_HUNGARIAN__)
- INPUT_MODE_SMART_UPPERCASE_HUNGARIAN,
- INPUT_MODE_SMART_LOWERCASE_HUNGARIAN,
- #endif /* defined(__MMI_ZI_HUNGARIAN__) */
- //KP Jerry add on 2007-3-8 start
- #elif defined(__MMI_CSTAR__)
- #if defined(__MMI_CSTAR_TR_CHINESE__)
- #if defined(__MMI_CSTAR_MULTITAP_PHONETIC_INPUT__)
- INPUT_MODE_TR_MULTITAP_BOPOMO,
- #endif
- #if defined(__MMI_CSTAR_SMART_PHONETIC_INPUT__)
- INPUT_MODE_TR_BOPOMO,
- #endif
- INPUT_MODE_TR_STROKE,
- #endif
- #if defined(__MMI_CSTAR_SM_CHINESE__)
- #if defined(__MMI_CSTAR_MULTITAP_PHONETIC_INPUT__)
- INPUT_MODE_SM_MULTITAP_PINYIN,
- #endif
- #if defined(__MMI_CSTAR_SMART_PHONETIC_INPUT__)
- INPUT_MODE_SM_PINYIN,
- #endif
- INPUT_MODE_SM_STROKE,
- #endif
- #if defined(__MMI_CSTAR_ENGLISH__)
- INPUT_MODE_SMART_UPPERCASE_ABC,
- INPUT_MODE_SMART_LOWERCASE_ABC,
- #endif
- #if defined(__MMI_CSTAR_THAI__)
- INPUT_MODE_SMART_THAI,
- #endif
- #if defined(__MMI_CSTAR_SPANISH__)
- INPUT_MODE_SMART_UPPERCASE_SPANISH,
- INPUT_MODE_SMART_LOWERCASE_SPANISH,
- #endif
- #if defined(__MMI_CSTAR_HEBREW__)
- INPUT_MODE_SMART_HEBREW,
- #endif
- #if defined(__MMI_CSTAR_DANISH__)
- INPUT_MODE_SMART_UPPERCASE_DANISH,
- INPUT_MODE_SMART_LOWERCASE_DANISH,
- #endif
- #if defined(__MMI_CSTAR_POLISH__)
- INPUT_MODE_SMART_UPPERCASE_POLISH,
- INPUT_MODE_SMART_LOWERCASE_POLISH,
- #endif
- #if defined(__MMI_CSTAR_FRENCH__)
- INPUT_MODE_SMART_UPPERCASE_FRENCH,
- INPUT_MODE_SMART_LOWERCASE_FRENCH,
- #endif
- #if defined(__MMI_CSTAR_GERMAN__)
- INPUT_MODE_SMART_UPPERCASE_GERMAN,
- INPUT_MODE_SMART_LOWERCASE_GERMAN,
- #endif
- #if defined(__MMI_CSTAR_ITALIAN__)
- INPUT_MODE_SMART_UPPERCASE_ITALIAN,
- INPUT_MODE_SMART_LOWERCASE_ITALIAN,
- #endif
- #if defined(__MMI_CSTAR_VIETNAMESE__)
- INPUT_MODE_SMART_UPPERCASE_VIETNAMESE,
- INPUT_MODE_SMART_LOWERCASE_VIETNAMESE,
- #endif
- #if defined(__MMI_CSTAR_INDONESIAN__)
- INPUT_MODE_SMART_UPPERCASE_INDONESIAN,
- INPUT_MODE_SMART_LOWERCASE_INDONESIAN,
- #endif
- #if defined(__MMI_CSTAR_TURKISH__)
- INPUT_MODE_SMART_UPPERCASE_TURKISH,
- INPUT_MODE_SMART_LOWERCASE_TURKISH,
- #endif
- #if defined(__MMI_CSTAR_CZECH__)
- INPUT_MODE_SMART_UPPERCASE_CZECH,
- INPUT_MODE_SMART_LOWERCASE_CZECH,
- #endif
- #if defined(__MMI_CSTAR_RUSSIAN__)
- INPUT_MODE_SMART_UPPERCASE_RUSSIAN,
- INPUT_MODE_SMART_LOWERCASE_RUSSIAN,
- #endif
- #if defined(__MMI_CSTAR_BULGARIAN__)
- INPUT_MODE_SMART_UPPERCASE_BULGARIAN,
- INPUT_MODE_SMART_LOWERCASE_BULGARIAN,
- #endif
- #if defined(__MMI_CSTAR_PORTUGUESE__)
- INPUT_MODE_SMART_UPPERCASE_PORTUGUESE,
- INPUT_MODE_SMART_LOWERCASE_PORTUGUESE,
- #endif
- #if defined(__MMI_CSTAR_FINNISH__)
- INPUT_MODE_SMART_UPPERCASE_FINNISH,
- INPUT_MODE_SMART_LOWERCASE_FINNISH,
- #endif
- #if defined(__MMI_CSTAR_HUNGARIAN__)
- INPUT_MODE_SMART_UPPERCASE_HUNGARIAN,
- INPUT_MODE_SMART_LOWERCASE_HUNGARIAN,
- #endif
- #if defined(__MMI_CSTAR_ARABIC__)
- INPUT_MODE_SMART_ARABIC,
- #endif
- #if defined(__MMI_CSTAR_HINDI__)
- INPUT_MODE_SMART_HINDI,
- #endif
- #if defined(__MMI_CSTAR_NORWEGIAN__)
- INPUT_MODE_SMART_UPPERCASE_NORWEGIAN,
- INPUT_MODE_SMART_LOWERCASE_NORWEGIAN,
- #endif
- #if defined(__MMI_CSTAR_DUTCH__)
- INPUT_MODE_SMART_UPPERCASE_DUTCH,
- INPUT_MODE_SMART_LOWERCASE_DUTCH,
- #endif
- #if defined(__MMI_CSTAR_SLOVENIAN__)
- INPUT_MODE_SMART_UPPERCASE_SLOVENIAN,
- INPUT_MODE_SMART_LOWERCASE_SLOVENIAN,
- #endif
- #if defined(__MMI_CSTAR_SWEDISH__)
- INPUT_MODE_SMART_UPPERCASE_SWEDISH,
- INPUT_MODE_SMART_LOWERCASE_SWEDISH,
- #endif
- #if defined(__MMI_CSTAR_GREEK__)
- INPUT_MODE_SMART_UPPERCASE_GREEK,
- INPUT_MODE_SMART_LOWERCASE_GREEK,
- #endif
- #if defined(__MMI_CSTAR_MALAY__)
- INPUT_MODE_SMART_UPPERCASE_MALAY,
- INPUT_MODE_SMART_LOWERCASE_MALAY,
- #endif
- #if defined(__MMI_CSTAR_CROATIAN__)
- INPUT_MODE_SMART_UPPERCASE_CROATIAN,
- INPUT_MODE_SMART_LOWERCASE_CROATIAN,
- #endif
- #if defined(__MMI_CSTAR_SLOVAK__)
- INPUT_MODE_SMART_UPPERCASE_SLOVAK,
- INPUT_MODE_SMART_LOWERCASE_SLOVAK,
- #endif
- #if defined(__MMI_CSTAR_ROMANIAN__)
- INPUT_MODE_SMART_UPPERCASE_ROMANIAN,
- INPUT_MODE_SMART_LOWERCASE_ROMANIAN,
- #endif
- //KP Jerry add on 2007-3-8 end
- #elif defined(__MMI_KA__)
- INPUT_MODE_SM_PINYIN,
- INPUT_MODE_SM_STROKE,
- #elif defined(__MMI_ITAP__)
- #if defined(__MMI_ITAP_TR_CHINESE__) && defined(__MMI_ITAP_MULTITAP_PHONETIC_INPUT__)
- /* under construction !*/
- #endif
- #if defined(__MMI_ITAP_SM_CHINESE__) && defined(__MMI_ITAP_MULTITAP_PHONETIC_INPUT__)
- /* under construction !*/
- #endif
- #if defined(__MMI_ITAP_TR_CHINESE__)
- /* under construction !*/
- #endif
- #if defined(__MMI_ITAP_SM_CHINESE__)
- /* under construction !*/
- #endif
- #if defined(__MMI_ITAP_TR_CHINESE__) && defined(__MMI_ITAP_SMART_PHONETIC_INPUT__)
- /* under construction !*/
- #endif
- #if defined(__MMI_ITAP_SM_CHINESE__) && defined(__MMI_ITAP_SMART_PHONETIC_INPUT__)
- /* under construction !*/
- #endif
- #if defined(__MMI_ITAP_ENGLISH__)
- /* under construction !*/
- /* under construction !*/
- #endif /* defined(__MMI_ITAP_ENGLISH__) */
- #endif
- #ifdef __MMI_MULTITAP_HINDI__
- INPUT_MODE_MULTITAP_HINDI,
- #endif
- /* PMT RAKESH START 20061006 */
- #ifdef __MMI_MULTITAP_MARATHI__
- INPUT_MODE_MULTITAP_MARATHI,
- #endif
- /* PMT RAKESH END 20061006 */
- 0xff,
- };
- //MTK end
- // __CUSTPACK_MULTIBIN Terry END
- #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
- MMI_BOOL is_fisrt_entry_WCSS_editor = TRUE;
- #endif
- /* MTK Elvis to store the zero key hander for idleScreenDigitHandler */
- FuncPtr storeZeroKeyFuncPtrs[1][4];
- extern FuncPtr currKeyFuncPtrs[MAX_KEYS][MAX_KEY_TYPE];
- extern FuncPtr wgui_key_handlers[MAX_KEYS][MAX_KEY_TYPE];
- /* MTK end */
- /* W05.36 Fix Vietnamese Tone Input Issue */
- extern void set_current_input_box_type(mmi_editor_inoutbox_enum input_box_type);
- /* MTK Elvis for R2L characters */
- extern BOOL r2lMMIFlag;
- /* Ailsa for removing smart abc ABC from INPUT_TYPE_ALPHANUMERIC_PASSWORD */
- MMI_BOOL mmi_is_alphanum_pass = MMI_FALSE;
- #ifdef __MMI_BIDI_ALG__
- extern U8 MMI_bidi_input_type;
- #endif
- /* MTK end */
- extern S32 MMI_title_height;
- #ifdef __MMI_T9__
- #include "t9definition.h"
- #include "t9api.h"
- extern void T9SetInputboxLSKFunction(FuncPtr f);
- extern void InuptMethodEnterCategory5(void);
- extern void InuptMethodExitCategory5(void);
- extern void T9InputMethodExit(void);
- #elif defined __MMI_ZI__
- extern void ZiSetInputboxLSKFunction(FuncPtr f);
- extern void ZiInuptMethodEnterSinglelineInputBox(void);
- extern void ZiInuptMethodExitSinglelineInputBox(void);
- extern void ZiInuptMethodEnterCategory5(void);
- extern void ZiInuptMethodExitCategory5(void);
- extern void ZiInputMethodExit(void);
- extern void ZiInuptMethodEnterInline_Multiline_InputBox(void);
- //KP Jerry add on 2007-3-8 start
- #elif defined __MMI_CSTAR__
- #include "cstarime.h"
- //KP Jerry add on 2007-3-8 end
- #elif defined __MMI_KA__
- extern void KonKaSetInputboxLSKFunction(FuncPtr f);
- extern void KonkaInuptMethodEnterSinglelineInputBox(void);
- extern void KonkaInuptMethodExitSinglelineInputBox(void);
- extern void KonkaInuptMethodEnterCategory5(void);
- extern void KonkaInuptMethodExitCategory5(void);
- extern void KonkaInputMethodExit(void);
- #elif defined __MMI_ITAP__
- /* under construction !*/
- /* under construction !*/
- /* under construction !*/
- /* under construction !*/
- /* under construction !*/
- /* under construction !*/
- /* under construction !*/
- #endif
- extern U8 mmi_phb_convert_to_0x81(S8 *input_name, BOOL is_convert);
- /* MTK end */
- extern U8 MMI_current_input_mode;
- extern void (*inputbox_change_mode) (void);
- /* extern byte MMI_allow_only_english_input_modes; */
- U8 MMI_allow_only_english_input_modes = 0;
- U8(*test_change_input_mode) (void) = NULL;
- /* Store the message of current multibox dispaly on sub lcd */
- extern UI_string_type SUBLCD_MMI_message_string;
- /** Store the address of icon display on content area of current sub lcd scrren */
- extern PU8 SUBLCD_MMI_message_icon;
- #if defined (__MMI_WALLPAPER_ON_BOTTOM__)
- static MMI_ID_TYPE editor_scr_bg_ID;
- static S8 *editor_scr_bg_filename;
- static S32 editor_scr_bg_x, editor_scr_bg_y;
- static U8 editor_scr_bg_opacity; /* 070505 Calvin added */
- #endif /* defined (__MMI_WALLPAPER_ON_BOTTOM__) */
- void wgui_show_input_mode(U8 input_mode, PU8 inputbox_information_icon);
- void wgui_input_information_background(S32 x1, S32 y1, S32 x2, S32 y2);
- void wgui_inputbox_phone_number_input_complete_multitap_star_key(void);
- void wgui_inputbox_phone_number_input_complete_multitap_zero_key(void);
- MMI_BOOL mmi_ime_ui_screen_state_query(void);
- /*****************************************************************************
- * FUNCTION
- * wgui_is_r2l_display
- * DESCRIPTION
- * query r2lMMIFlag
- * Input Parameter void
- * PARAMETERS
- * void
- * RETURNS
- * MMI_BOOL
- *****************************************************************************/
- MMI_BOOL wgui_is_r2l_display(void)
- {
- /*----------------------------------------------------------------*/
- /* Local Variables */
- /*----------------------------------------------------------------*/
- /*----------------------------------------------------------------*/
- /* Code Body */
- /*----------------------------------------------------------------*/
- if (r2lMMIFlag)
- {
- return MMI_TRUE;
- }
- else
- {
- return MMI_FALSE;
- }
- }
- /* Validation callbacks for input boxes */
- /*----------------------------------------------------------------------------
- Function: wgui_inputbox_not_empty_callback
- Description: Function pointer store the address of function which is called when
- input box is not empty
- Input Parameters: void
- Output Parameters: none
- Returns: none
- ----------------------------------------------------------------------------*/
- void (*wgui_inputbox_not_empty_callback) (void) = NULL;
- /*----------------------------------------------------------------------------
- Function: wgui_inputbox_empty_callback
- Description: Function pointer store the address of function which is called when
- input box is empty
- Input Parameters: void
- Output Parameters: none
- Returns: none
- ----------------------------------------------------------------------------*/
- void (*wgui_inputbox_empty_callback) (void) = NULL;
- /*****************************************************************************
- * FUNCTION
- * Register_pound_key_buffer_flush_test_function
- * DESCRIPTION
- *
- * PARAMETERS
- * FuncPtr [IN]
- * RETURNS
- * void
- *****************************************************************************/
- void (*wgui_inputbox_validation_callback) (U8 *text, U8 *cursor, S32 text_length) = NULL;
- BOOL(*wgui_check_pound_key_buffer_flush) (void) = NULL;
- void Register_pound_key_buffer_flush_test_function(BOOL(*FuncPtr) (void))
- {
- /*----------------------------------------------------------------*/
- /* Local Variables */
- /*----------------------------------------------------------------*/
- /*----------------------------------------------------------------*/
- /* Code Body */
- /*----------------------------------------------------------------*/
- wgui_check_pound_key_buffer_flush = FuncPtr;
- }
- /* Begin AP input mode set */
- S16 english_only_input_mode[] =
- {
- INPUT_MODE_MULTITAP_UPPERCASE_ABC,
- INPUT_MODE_MULTITAP_LOWERCASE_ABC,
- INPUT_MODE_123,
- INPUT_MODE_SMART_UPPERCASE_ABC,
- INPUT_MODE_SMART_LOWERCASE_ABC,
- INPUT_MODE_MULTITAP_UPPERCASE_SPANISH,
- INPUT_MODE_MULTITAP_LOWERCASE_SPANISH,
- INPUT_MODE_MMI_LOWERCASE_SPANISH,
- INPUT_MODE_SMART_UPPERCASE_SPANISH,
- INPUT_MODE_SMART_LOWERCASE_SPANISH,
- INPUT_MODE_MULTITAP_UPPERCASE_DANISH,
- INPUT_MODE_MULTITAP_LOWERCASE_DANISH,
- INPUT_MODE_MMI_LOWERCASE_DANISH,
- INPUT_MODE_SMART_UPPERCASE_DANISH,
- INPUT_MODE_SMART_LOWERCASE_DANISH,
- INPUT_MODE_MULTITAP_UPPERCASE_POLISH,
- INPUT_MODE_MULTITAP_LOWERCASE_POLISH,
- INPUT_MODE_MMI_LOWERCASE_POLISH,
- INPUT_MODE_SMART_UPPERCASE_POLISH,
- INPUT_MODE_SMART_LOWERCASE_POLISH,
- INPUT_MODE_MULTITAP_UPPERCASE_FRENCH,
- INPUT_MODE_MULTITAP_LOWERCASE_FRENCH,
- INPUT_MODE_MMI_LOWERCASE_FRENCH,
- INPUT_MODE_SMART_UPPERCASE_FRENCH,
- INPUT_MODE_SMART_LOWERCASE_FRENCH,
- INPUT_MODE_MULTITAP_UPPERCASE_GERMAN,
- INPUT_MODE_MULTITAP_LOWERCASE_GERMAN,
- INPUT_MODE_MMI_LOWERCASE_GERMAN,
- INPUT_MODE_SMART_UPPERCASE_GERMAN,
- INPUT_MODE_SMART_LOWERCASE_GERMAN,
- INPUT_MODE_MULTITAP_UPPERCASE_ITALIAN,
- INPUT_MODE_MULTITAP_LOWERCASE_ITALIAN,
- INPUT_MODE_MMI_LOWERCASE_ITALIAN,
- INPUT_MODE_SMART_UPPERCASE_ITALIAN,
- INPUT_MODE_SMART_LOWERCASE_ITALIAN,
- INPUT_MODE_MULTITAP_UPPERCASE_PORTUGUESE,
- INPUT_MODE_MULTITAP_LOWERCASE_PORTUGUESE,
- INPUT_MODE_MMI_LOWERCASE_PORTUGUESE,
- INPUT_MODE_SMART_UPPERCASE_PORTUGUESE,
- INPUT_MODE_SMART_LOWERCASE_PORTUGUESE,
- INPUT_MODE_MULTITAP_UPPERCASE_INDONESIAN,
- INPUT_MODE_MULTITAP_LOWERCASE_INDONESIAN,
- INPUT_MODE_MMI_LOWERCASE_INDONESIAN,
- INPUT_MODE_SMART_UPPERCASE_INDONESIAN,
- INPUT_MODE_SMART_LOWERCASE_INDONESIAN,
- INPUT_MODE_MULTITAP_UPPERCASE_CZECH,
- INPUT_MODE_MULTITAP_LOWERCASE_CZECH,
- INPUT_MODE_MMI_LOWERCASE_CZECH,
- INPUT_MODE_SMART_UPPERCASE_CZECH,
- INPUT_MODE_SMART_LOWERCASE_CZECH,
- INPUT_MODE_MULTITAP_UPPERCASE_MALAY,
- INPUT_MODE_MULTITAP_LOWERCASE_MALAY,
- INPUT_MODE_MMI_LOWERCASE_MALAY,
- INPUT_MODE_SMART_UPPERCASE_MALAY,
- INPUT_MODE_SMART_LOWERCASE_MALAY,
- INPUT_MODE_MULTITAP_UPPERCASE_FINNISH,
- INPUT_MODE_MULTITAP_LOWERCASE_FINNISH,
- INPUT_MODE_MMI_LOWERCASE_FINNISH,
- INPUT_MODE_SMART_UPPERCASE_FINNISH,
- INPUT_MODE_SMART_LOWERCASE_FINNISH,
- INPUT_MODE_MULTITAP_UPPERCASE_HUNGARIAN,
- INPUT_MODE_MULTITAP_LOWERCASE_HUNGARIAN,
- INPUT_MODE_MMI_LOWERCASE_HUNGARIAN,
- INPUT_MODE_SMART_UPPERCASE_HUNGARIAN,
- INPUT_MODE_SMART_LOWERCASE_HUNGARIAN,
- INPUT_MODE_MULTITAP_UPPERCASE_SLOVAK,
- INPUT_MODE_MULTITAP_LOWERCASE_SLOVAK,
- INPUT_MODE_MMI_LOWERCASE_SLOVAK,
- INPUT_MODE_SMART_UPPERCASE_SLOVAK,
- INPUT_MODE_SMART_LOWERCASE_SLOVAK,
- INPUT_MODE_MULTITAP_UPPERCASE_DUTCH,
- INPUT_MODE_MULTITAP_LOWERCASE_DUTCH,
- INPUT_MODE_MMI_LOWERCASE_DUTCH,
- INPUT_MODE_SMART_UPPERCASE_DUTCH,
- INPUT_MODE_SMART_LOWERCASE_DUTCH,
- INPUT_MODE_MULTITAP_UPPERCASE_NORWEGIAN,
- INPUT_MODE_MULTITAP_LOWERCASE_NORWEGIAN,
- INPUT_MODE_MMI_LOWERCASE_NORWEGIAN,
- INPUT_MODE_SMART_UPPERCASE_NORWEGIAN,
- INPUT_MODE_SMART_LOWERCASE_NORWEGIAN,
- INPUT_MODE_MULTITAP_UPPERCASE_SWEDISH,
- INPUT_MODE_MULTITAP_LOWERCASE_SWEDISH,
- INPUT_MODE_MMI_LOWERCASE_SWEDISH,
- INPUT_MODE_SMART_UPPERCASE_SWEDISH,
- INPUT_MODE_SMART_LOWERCASE_SWEDISH,
- INPUT_MODE_MULTITAP_UPPERCASE_CROATIAN,
- INPUT_MODE_MULTITAP_LOWERCASE_CROATIAN,
- INPUT_MODE_MMI_LOWERCASE_CROATIAN,
- INPUT_MODE_SMART_UPPERCASE_CROATIAN,
- INPUT_MODE_SMART_LOWERCASE_CROATIAN,
- INPUT_MODE_MULTITAP_UPPERCASE_ROMANIAN,
- INPUT_MODE_MULTITAP_LOWERCASE_ROMANIAN,
- INPUT_MODE_MMI_LOWERCASE_ROMANIAN,
- INPUT_MODE_SMART_UPPERCASE_ROMANIAN,
- INPUT_MODE_SMART_LOWERCASE_ROMANIAN,
- INPUT_MODE_MULTITAP_UPPERCASE_SLOVENIAN,
- INPUT_MODE_MULTITAP_LOWERCASE_SLOVENIAN,
- INPUT_MODE_MMI_LOWERCASE_SLOVENIAN,
- INPUT_MODE_SMART_UPPERCASE_SLOVENIAN,
- INPUT_MODE_SMART_LOWERCASE_SLOVENIAN,
- -1
- };
- /*****************************************************************************
- * FUNCTION
- * wgui_is_english_only_input_mode
- * DESCRIPTION
- * test if this input mode is english only input mode
- * PARAMETERS
- * input_mode [IN]
- * RETURNS
- * MMI_BOOL MMI_TRUE --> english only input mode , MMI_FALSE --> else
- *****************************************************************************/
- MMI_BOOL wgui_is_english_only_input_mode(S16 input_mode)
- {
- /*----------------------------------------------------------------*/
- /* Local Variables */
- /*----------------------------------------------------------------*/
- int i = 0;
- /*----------------------------------------------------------------*/
- /* Code Body */
- /*----------------------------------------------------------------*/
- while (english_only_input_mode[i] != (S16) - 1)
- {
- if (english_only_input_mode[i] == input_mode)
- {
- return MMI_TRUE;
- }
- i++;
- }
- return MMI_FALSE;
- }
- /*****************************************************************************
- * FUNCTION
- * wgui_change_to_english_only_mode
- * DESCRIPTION
- * Changes the current input mode to next english only input mode
- * PARAMETERS
- * initial_mode [IN] Initial input mode
- * RETURNS
- * void
- *****************************************************************************/
- static void wgui_change_to_english_only_mode(int initial_mode)
- {
- /*----------------------------------------------------------------*/
- /* Local Variables */
- /*----------------------------------------------------------------*/
- int k = initial_mode;
- /*----------------------------------------------------------------*/
- /* Code Body */
- /*----------------------------------------------------------------*/
- while ((wgui_is_english_only_input_mode(MMI_AP_required_input_mode_set[k]) != MMI_TRUE))
- {
- k++;
- }
- MMI_current_input_mode = (U8) MMI_AP_required_input_mode_set[k];
- }
- /* Begin AP input mode set */
- extern const sIMEModeDetails *gIMEModeArray;
- /*****************************************************************************
- * FUNCTION
- * wgui_ap_inputset_set_current_or_find_next_loaded_input_mode
- * DESCRIPTION
- *
- * PARAMETERS
- * current_index [IN]
- * RETURNS
- *
- *****************************************************************************/
- S32 wgui_ap_inputset_set_current_or_find_next_loaded_input_mode(S32 current_index)
- {
- /*----------------------------------------------------------------*/
- /* Local Variables */
- /*----------------------------------------------------------------*/
- S32 i = 0, j = 0;;
- /*----------------------------------------------------------------*/
- /* Code Body */
- /*----------------------------------------------------------------*/
- i = current_index;
- while (1)
- {
- if (MMI_AP_required_input_mode_set[i] == gIMEModeArray[j].IME_Mode_ID)
- {
- return i;
- }
- else
- {
- j++;
- if (j > INPUT_MODE_MAX_NUM + 1)
- {
- if (MMI_AP_required_input_mode_set[i + 1] == -1)
- {
- i = 0;
- }
- else
- {
- i++;
- }
- j = 0;
- }
- }
- }
- }
- /*****************************************************************************
- * FUNCTION
- * change_input_mode
- * DESCRIPTION
- * Changes the current input mode (cyclic "ABC"->"abc"->"123"->"ABC")
- * PARAMETERS
- * void
- * RETURNS
- * void
- *****************************************************************************/
- //PMT START PERSIAN
- #if defined __MMI_LANG_HINDI__ && (defined __MMI_LANG_ARABIC__ || defined __MMI_LANG_PERSIAN__)
- //PMT END PERSIAN
- extern S32 HINDI_PRESENT;
- extern S32 ARABIC_PRESENT;
- #endif /* defined __MMI_LANG_HINDI__ && (defined __MMI_LANG_ARABIC__ || defined __MMI_LANG_PERSIAN__) */
- void change_input_mode(void)
- {
- /*----------------------------------------------------------------*/
- /* Local Variables */
- /*----------------------------------------------------------------*/
- U8 i;
- U8 input_method_exit_flag = FALSE;
- /*----------------------------------------------------------------*/
- /* Code Body */
- /*----------------------------------------------------------------*/
- /* Begin AP input mode set */
- if (MMI_AP_set_input_mode_set)
- {
- i = 0;
- while (MMI_AP_required_input_mode_set[i] != MMI_current_input_mode && MMI_AP_required_input_mode_set[i] != -1)
- {
- i++;
- }
- #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
- do
- {
- if (MMI_AP_required_input_mode_set[i] == -1 || /* cannot be found */
- MMI_AP_required_input_mode_set[i + 1] == -1) /* cyclic to the first one */
- {
- i = 0;
- if (test_change_input_mode() == 0)
- {
- wgui_change_to_english_only_mode(i);
- }
- else
- {
- MMI_current_input_mode =
- (U8)
- MMI_AP_required_input_mode_set[wgui_ap_inputset_set_current_or_find_next_loaded_input_mode(0)];
- }
- input_method_exit_flag = TRUE;
- }
- else
- {
- #if defined (__MMI_LANG_HINDI__ ) && ( defined (__MMI_LANG_ARABIC__) || defined (__MMI_LANG_PERSIAN))
- if ((HINDI_PRESENT) && (MMI_AP_required_input_mode_set[i + 1] == INPUT_MODE_SMART_ARABIC) || MMI_AP_required_input_mode_set[i + 1] == INPUT_MODE_SMART_PERSIAN))
- {
- if (test_change_input_mode() == 0)
- {
- wgui_change_to_english_only_mode(i + 2);
- }
- else
- {
- MMI_current_input_mode =
- (U8)
- MMI_AP_required_input_mode_set[wgui_ap_inputset_set_current_or_find_next_loaded_input_mode
- (i + 2)];
- }
- }
- else if ((ARABIC_PRESENT) && (MMI_AP_required_input_mode_set[i + 1] == INPUT_MODE_MULTITAP_HINDI))
- {
- if (test_change_input_mode() == 0)
- {
- wgui_change_to_english_only_mode(i + 2);
- }
- else
- {
- MMI_current_input_mode =
- (U8)
- MMI_AP_required_input_mode_set[wgui_ap_inputset_set_current_or_find_next_loaded_input_mode
- (i + 2)];
- }
- }
- else
- #endif /* defined (__MMI_LANG_HINDI__ ) && ( defined (__MMI_LANG_ARABIC__) || defined (__MMI_LANG_PERSIAN)) */
- {
- if (test_change_input_mode() == 0)
- {
- wgui_change_to_english_only_mode(i + 1);
- }
- else
- {
- MMI_current_input_mode =
- (U8)
- MMI_AP_required_input_mode_set[wgui_ap_inputset_set_current_or_find_next_loaded_input_mode
- (i + 1)];
- }
- }
- }
- i++;
- }
- while (MMI_current_input_mode == INPUT_MODE_MULTITAP_UPPERCASE_ABC_NO_NUMERIC ||
- MMI_current_input_mode == INPUT_MODE_MULTITAP_LOWERCASE_ABC_NO_NUMERIC ||
- MMI_current_input_mode == INPUT_MODE_123_SYMBOLS);
- #else /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */ // #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
- if (MMI_AP_required_input_mode_set[i] == -1 || /* cannot be found */
- MMI_AP_required_input_mode_set[i + 1] == -1) /* cyclic to the first one */
- {
- i = 0;
- if (test_change_input_mode() == 0)
- {
- wgui_change_to_english_only_mode(i);
- }
- else
- {
- MMI_current_input_mode =
- (U8) MMI_AP_required_input_mode_set[wgui_ap_inputset_set_current_or_find_next_loaded_input_mode(0)];
- }
- input_method_exit_flag = TRUE;
- }
- else /* next one */
- {
- #if defined (__MMI_LANG_HINDI__ ) && ( defined (__MMI_LANG_ARABIC__) || defined (__MMI_LANG_PERSIAN))
- if ((HINDI_PRESENT) && (MMI_AP_required_input_mode_set[i + 1] == INPUT_MODE_SMART_ARABIC || MMI_AP_required_input_mode_set[i + 1] == INPUT_MODE_SMART_PERSIAN))
- {
- if (test_change_input_mode() == 0)
- {
- wgui_change_to_english_only_mode(i + 2);
- }
- else
- {
- MMI_current_input_mode =
- (U8)
- MMI_AP_required_input_mode_set[wgui_ap_inputset_set_current_or_find_next_loaded_input_mode
- (i + 2)];
- }
- }
- else if ((ARABIC_PRESENT) && (MMI_AP_required_input_mode_set[i + 1] == INPUT_MODE_MULTITAP_HINDI))
- {
- if (test_change_input_mode() == 0)
- {
- wgui_change_to_english_only_mode(i + 2);
- }
- else
- {
- MMI_current_input_mode =
- (U8)
- MMI_AP_required_input_mode_set[wgui_ap_inputset_set_current_or_find_next_loaded_input_mode
- (i + 2)];
- }
- }
- else
- #endif /* defined (__MMI_LANG_HINDI__ ) && ( defined (__MMI_LANG_ARABIC__) || defined (__MMI_LANG_PERSIAN)) */
- {
- if (test_change_input_mode() == 0)
- {
- wgui_change_to_english_only_mode(i + 1);
- }
- else
- {
- MMI_current_input_mode =
- (U8)
- MMI_AP_required_input_mode_set[wgui_ap_inputset_set_current_or_find_next_loaded_input_mode
- (i + 1)];
- }
- }
- }
- #endif /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */
- }
- else /* else of if(MMI_AP_set_input_mode_set) */
- {
- /* End AP input mode set */
- if (MMI_allow_only_english_input_modes)
- {
- i = 0;
- while (MMI_english_input_mode_set[i] != MMI_current_input_mode && MMI_english_input_mode_set[i] != 0xff)
- {
- i++;
- }
- #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
- do
- {
- if (MMI_english_input_mode_set[i] == 0xff) /* cannot be found */
- {
- i = 0;
- MMI_current_input_mode = MMI_english_input_mode_set[0]; /* set to first one */
- }
- else if (MMI_english_input_mode_set[i + 1] == 0xff)
- {
- i = 0;
- MMI_current_input_mode = MMI_english_input_mode_set[0]; /* cyclic to the first one */
- #ifndef __MMI_KA__ /* because KA doesnot support smart English input modes */
- input_method_exit_flag = TRUE;
- #endif
- }
- else
- {
- MMI_current_input_mode = MMI_english_input_mode_set[i + 1]; /* set to next one */
- }
- i++;
- } while (MMI_current_input_mode == INPUT_MODE_MULTITAP_UPPERCASE_ABC_NO_NUMERIC ||
- MMI_current_input_mode == INPUT_MODE_MULTITAP_LOWERCASE_ABC_NO_NUMERIC ||
- MMI_current_input_mode == INPUT_MODE_123_SYMBOLS);
- #else /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */
- if (MMI_english_input_mode_set[i] == 0xff) /* cannot be found */
- {
- MMI_current_input_mode = MMI_english_input_mode_set[0];
- }
- else if (MMI_english_input_mode_set[i + 1] == 0xff) /* cyclic to the first one */
- {
- MMI_current_input_mode = MMI_english_input_mode_set[0];
- #ifndef __MMI_KA__ /* because KA doesnot support smart English input modes */
- input_method_exit_flag = TRUE;
- #endif
- }
- else
- {
- MMI_current_input_mode = MMI_english_input_mode_set[i + 1]; /* set to next one */
- }
- #endif /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */
- }
- else /* else of if(MMI_allow_only_english_input_modes) */
- {
- if (test_change_input_mode() == 1)
- {
- i = 0;
- while (MMI_all_input_mode_set[i] != MMI_current_input_mode && MMI_all_input_mode_set[i] != 0xff)
- {
- i++;
- }
- #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
- do
- {
- if (MMI_all_input_mode_set[i] == 0xff) /* cannot be found */
- {
- i = 0;
- MMI_current_input_mode = MMI_all_input_mode_set[0];
- input_method_exit_flag = TRUE;
- }
- if (MMI_all_input_mode_set[i + 1] == 0xff) /* cyclic to the first one */
- {
- i = 0;
- MMI_current_input_mode = MMI_all_input_mode_set[0];
- input_method_exit_flag = TRUE;
- }
- else
- {
- #if defined (__MMI_LANG_HINDI__ ) && (defined __MMI_LANG_ARABIC__ || defined __MMI_LANG_PERSIAN__)
- if ((HINDI_PRESENT) &&
- ((MMI_all_input_mode_set[i + 1] == INPUT_MODE_SMART_ARABIC) ||
- (MMI_all_input_mode_set[i + 1] == INPUT_MODE_MULTITAP_ARABIC) ||
- (MMI_all_input_mode_set[i + 1] == INPUT_MODE_SMART_PERSIAN) ||
- (MMI_all_input_mode_set[i + 1] == INPUT_MODE_MULTITAP_PERSIAN) ||
- (MMI_all_input_mode_set[i + 1] == 0xff)))
- {
- MMI_current_input_mode = MMI_all_input_mode_set[i + 2];
- }
- else if ((ARABIC_PRESENT) &&
- ((MMI_all_input_mode_set[i + 1] == INPUT_MODE_MULTITAP_HINDI) ||
- MMI_all_input_mode_set[i + 1] == INPUT_MODE_SMART_HINDI))
- {
- MMI_current_input_mode = MMI_all_input_mode_set[i + 2];
- if (MMI_current_input_mode == 0xff) /* cyclic to the first one */
- {
- MMI_current_input_mode = MMI_all_input_mode_set[0];
- input_method_exit_flag = TRUE;
- }
- }
- else
- #endif /* defined (__MMI_LANG_HINDI__ ) && defined (__MMI_LANG_ARABIC__) */
- MMI_current_input_mode = MMI_all_input_mode_set[i + 1];
- }
- i++;
- } while (MMI_current_input_mode == INPUT_MODE_MULTITAP_UPPERCASE_ABC_NO_NUMERIC ||
- MMI_current_input_mode == INPUT_MODE_MULTITAP_LOWERCASE_ABC_NO_NUMERIC ||
- MMI_current_input_mode == INPUT_MODE_123_SYMBOLS);
- #else /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */
- if (MMI_all_input_mode_set[i] == 0xff) /* cannot be found */
- {
- MMI_current_input_mode = MMI_all_input_mode_set[0];
- }
- else if (MMI_all_input_mode_set[i + 1] == 0xff) /* cyclic to the first one */
- {
- MMI_current_input_mode = MMI_all_input_mode_set[0];
- input_method_exit_flag = TRUE;
- }
- else
- {
- #if defined (__MMI_LANG_HINDI__ )&& (defined __MMI_LANG_ARABIC__ || defined __MMI_LANG_PERSIAN__)
- if ((HINDI_PRESENT) &&
- ((MMI_all_input_mode_set[i + 1] == INPUT_MODE_SMART_ARABIC) ||
- (MMI_all_input_mode_set[i + 1] == INPUT_MODE_MULTITAP_ARABIC) ||
- (MMI_all_input_mode_set[i + 1] == INPUT_MODE_SMART_PERSIAN) ||
- (MMI_all_input_mode_set[i + 1] == INPUT_MODE_MULTITAP_PERSIAN) ||
- (MMI_all_input_mode_set[i + 1] == 0xff)))
- {
- MMI_current_input_mode = MMI_all_input_mode_set[i + 2];
- }
- else if ((ARABIC_PRESENT) &&
- ((MMI_all_input_mode_set[i + 1] == INPUT_MODE_MULTITAP_HINDI) ||
- MMI_all_input_mode_set[i + 1] == INPUT_MODE_SMART_HINDI))
- {
- MMI_current_input_mode = MMI_all_input_mode_set[i + 2];
- if (MMI_current_input_mode == 0xff) /* cyclic to the first one */
- {
- MMI_current_input_mode = MMI_all_input_mode_set[0];
- input_method_exit_flag = TRUE;
- }
- }
- else
- #endif /* defined (__MMI_LANG_HINDI__ )&& (defined __MMI_LANG_ARABIC__ || defined __MMI_LANG_PERSIAN__) */
- MMI_current_input_mode = MMI_all_input_mode_set[i + 1];
- }
- #endif /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */
- }
- else
- {
- i = 0;
- while (MMI_english_input_mode_set[i] != MMI_current_input_mode && MMI_english_input_mode_set[i] != 0xff)
- {
- i++;
- }
- #if defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__)
- do
- {
- if (MMI_english_input_mode_set[i] == 0xff) /* cannot be found */
- {
- i = 0;
- MMI_current_input_mode = MMI_english_input_mode_set[0];
- input_method_exit_flag = TRUE;
- }
- if (MMI_english_input_mode_set[i + 1] == 0xff)
- {
- i = 0;
- MMI_current_input_mode = MMI_english_input_mode_set[0];
- #ifndef __MMI_KA__ /* because KA doesnot support smart English input modes */
- input_method_exit_flag = TRUE;
- #endif
- }
- else
- {
- #if defined (__MMI_LANG_HINDI__ ) && ( defined (__MMI_LANG_ARABIC__) || defined (__MMI_LANG_PERSIAN__) )
- if ((HINDI_PRESENT) &&
- ((MMI_english_input_mode_set[i + 1] == INPUT_MODE_SMART_ARABIC) ||
- (MMI_english_input_mode_set[i + 1] == INPUT_MODE_MULTITAP_ARABIC) ||
- (MMI_all_input_mode_set[i + 1] == INPUT_MODE_SMART_PERSIAN) ||
- (MMI_all_input_mode_set[i + 1] == INPUT_MODE_MULTITAP_PERSIAN) ||
- (MMI_all_input_mode_set[i + 1] == 0xff)))
- {
- MMI_current_input_mode = MMI_english_input_mode_set[i + 2];
- }
- else if ((ARABIC_PRESENT) &&
- ((MMI_english_input_mode_set[i + 1] == INPUT_MODE_MULTITAP_HINDI) ||
- MMI_english_input_mode_set[i + 1] == INPUT_MODE_SMART_HINDI))
- {
- MMI_current_input_mode = MMI_english_input_mode_set[i + 2];
- if (MMI_current_input_mode == 0xff) /* cyclic to the first one */
- {
- MMI_current_input_mode = MMI_english_input_mode_set[0];
- input_method_exit_flag = TRUE;
- }
- }
- else
- #endif /* defined (__MMI_LANG_HINDI__ ) && ( defined (__MMI_LANG_ARABIC__) || defined (__MMI_LANG_PERSIAN__) ) */
- MMI_current_input_mode = MMI_english_input_mode_set[i + 1];
- }
- i++;
- } while (MMI_current_input_mode == INPUT_MODE_MULTITAP_UPPERCASE_ABC_NO_NUMERIC ||
- MMI_current_input_mode == INPUT_MODE_MULTITAP_LOWERCASE_ABC_NO_NUMERIC ||
- MMI_current_input_mode == INPUT_MODE_123_SYMBOLS);
- #else /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */
- if (MMI_english_input_mode_set[i] == 0xff) /* cannot be found */
- {
- MMI_current_input_mode = MMI_english_input_mode_set[0];
- input_method_exit_flag = TRUE;
- }
- else if (MMI_english_input_mode_set[i + 1] == 0xff) /* cyclic to the first one */
- {
- MMI_current_input_mode = MMI_english_input_mode_set[0];
- #ifndef __MMI_KA__ /* because KA doesnot support smart English input modes */
- input_method_exit_flag = TRUE;
- #endif
- }
- else
- {
- #if defined (__MMI_LANG_HINDI__ ) && ( defined (__MMI_LANG_ARABIC__) || defined (__MMI_LANG_PERSIAN__) )
- if ((HINDI_PRESENT) &&
- ((MMI_english_input_mode_set[i + 1] == INPUT_MODE_SMART_ARABIC) ||
- (MMI_english_input_mode_set[i + 1] == INPUT_MODE_MULTITAP_ARABIC) ||
- (MMI_english_input_mode_set[i + 1] == INPUT_MODE_SMART_PERSIAN) ||
- (MMI_english_input_mode_set[i + 1] == INPUT_MODE_MULTITAP_PERSIAN) ||
- (MMI_all_input_mode_set[i + 1] == 0xff)))
- {
- MMI_current_input_mode = MMI_english_input_mode_set[i + 2];
- }
- else if ((ARABIC_PRESENT) &&
- ((MMI_english_input_mode_set[i + 1] == INPUT_MODE_MULTITAP_HINDI) ||
- MMI_english_input_mode_set[i + 1] == INPUT_MODE_SMART_HINDI))
- {
- MMI_current_input_mode = MMI_english_input_mode_set[i + 2];
- if (MMI_current_input_mode == 0xff) /* cyclic to the first one */
- {
- MMI_current_input_mode = MMI_english_input_mode_set[0];
- input_method_exit_flag = TRUE;
- }
- }
- else
- #endif /* defined (__MMI_LANG_HINDI__ ) && ( defined (__MMI_LANG_ARABIC__) || defined (__MMI_LANG_PERSIAN__) )*/
- MMI_current_input_mode = MMI_english_input_mode_set[i + 1];
- }
- #endif /* defined(__MMI_WCSS_INPUT_FORMAT_SUPPORT__) */
- }
- }
- /* Begin AP input mode set */
- //Ailsa for removing smart abc, ABC from INPUT_TYPE_ALPHANUMERIC_PASSWORD
- while (mmi_is_alphanum_pass &&
- ((MMI_current_input_mode == INPUT_MODE_SMART_UPPERCASE_ABC) ||
- (MMI_current_input_mode == INPUT_MODE_SMART_LOWERCASE_ABC)))
- {
- if(MMI_allow_only_english_input_modes)
- {
- if (MMI_english_input_mode_set[i+1] == 0xff) /* cyclic to the first one */
- {
- i = 0;
- MMI_current_input_mode = MMI_english_input_mode_set[i];
- }
- else
- {
- i++;
- MMI_current_input_mode = MMI_english_input_mode_set[i];
- }
- }
- else
- {
- if (MMI_all_input_mode_set[i+1] == 0xff) /* cyclic to the first one */
- {
- i = 0;
- MMI_current_input_mode = MMI_all_input_mode_set[i];
- }
- else
- {
- i++;
- MMI_current_input_mode = MMI_all_input_mode_set[i];
- }
- }
- }
- }
- /* End AP input mode set */
- /* W06.10 Fix RSK Display Issue */
- #if !defined(__MMI_TOUCH_SCREEN__)
- /* PMT MARATHI PATCH START by Ailsa */
- #if defined(__MMI_MULTITAP_HINDI__) || defined(__MMI_MULTITAP_MARATHI__) || defined(__MMI_MULTITAP_PERSIAN__)
- /* PMT START MAUI_00223197 */
- if (MMI_current_input_mode == INPUT_MODE_MULTITAP_HINDI || MMI_current_input_mode == INPUT_MODE_MULTITAP_MARATHI || MMI_current_input_mode == INPUT_MODE_MULTITAP_PERSIAN || input_method_exit_flag == TRUE)
- /* PMT END MAUI_00223197 */
- /* PMT MARATHI PATCH END by Ailsa */
- {
- #else /* defined(__MMI_MULTITAP_HINDI__) */
- if (MMI_current_input_mode == INPUT_MODE_MULTITAP_UPPERCASE_ABC && input_method_exit_flag == TRUE)
- {
- #endif /* defined(__MMI_MULTITAP_HINDI__) */
- #ifdef __MMI_T9__
- T9InputMethodExit();
- #elif defined(__MMI_ZI__)
- ZiInputMethodExit();
- //KP Jerry add on 2007-3-8 start
- #elif defined(__MMI_CSTAR__)
- CstarInputMethodExit();
- //KP Jerry add on 2007-3-8 end
- #elif defined(__MMI_KA__)
- KonkaInputMethodExit();
- #elif defined(__MMI_ITAP__)
- /* under construction !*/
- #endif
- }
- #endif /* !defined(__MMI_TOUCH_SCREEN__) */
- /* W06.10 Fix E-Dict Null Pointer Function Issue */
- if (wgui_check_pound_key_buffer_flush)
- {
- if (wgui_check_pound_key_buffer_flush())
- {
- multiline_inputbox_delete_all_characters();
- }
- }
- inputbox_change_mode();
- set_MMI_current_input_type();
- }
- /*****************************************************************************
- * FUNCTION
- * change_singleline_input_mode
- * DESCRIPTION
- * Changes the current input mode (cyclic "ABC"->"abc"->"123"->"ABC")
- * PARAMETERS
- * void
- * RETURNS
- * void
- *****************************************************************************/
- void change_singleline_input_mode(void)
- {
- /*----------------------------------------------------------------*/
- /* Local Variables */
- /*----------------------------------------------------------------*/
- U8 i;
- U8 *MMI_input_mode_set;
- /*----------------------------------------------------------------*/
- /* Code Body */
- /*----------------------------------------------------------------*/
- i = 0;
- if (MMI_allow_only_english_input_modes)
- {
- MMI_input_mode_set = MMI_english_input_mode_set;
- }
- else
- {
- MMI_input_mode_set = MMI_all_input_mode_set;
- }
- while (MMI_input_mode_set[i] != MMI_current_input_mode && MMI_input_mode_set[i] != 0xff)
- {
- i++;
- }
- do
- {
- if (MMI_input_mode_set[i] == 0xff)
- {
- i = 0;
- MMI_current_input_mode = MMI_input_mode_set[0];
- }
- if (MMI_input_mode_set[i + 1] == 0xff)
- {
- i = 0;
- MMI_current_input_mode = MMI_input_mode_set[0];
- }
- else
- {
- MMI_current_input_mode = MMI_input_mode_set[i + 1];
- }
- i++;
- } while (MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_ABC && MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_ABC && MMI_current_input_mode != INPUT_MODE_MULTITAP_THAI && MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_SPANISH && MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_SPANISH && MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_DANISH && /* PMT VIKASG START 20050729 */
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_DANISH && /* PMT VIKASG END 20050729 */
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_POLISH &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_POLISH &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_FRENCH &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_FRENCH &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_GERMAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_GERMAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_ITALIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_ITALIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_RUSSIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_RUSSIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_BULGARIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_BULGARIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_TURKISH &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_TURKISH &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_PORTUGUESE &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_PORTUGUESE &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_INDONESIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_INDONESIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_CZECH &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_CZECH &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_MALAY &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_MALAY &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_VIETNAMESE &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_VIETNAMESE &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_FINNISH &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_FINNISH &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_HUNGARIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_HUNGARIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_SLOVAK && MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_SLOVAK && MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_DUTCH && /* Nitesh added */
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_DUTCH &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_NORWEGIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_NORWEGIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_SWEDISH &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_SWEDISH &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_CROATIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_CROATIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_ROMANIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_ROMANIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_SLOVENIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_SLOVENIAN &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_LOWERCASE_GREEK &&
- MMI_current_input_mode != INPUT_MODE_MULTITAP_UPPERCASE_GREEK &&
- MMI_current_input_mode != INPUT_MODE_123);
- inputbox_change_mode();
- set_MMI_current_input_type();
- }
- /*****************************************************************************
- * FUNCTION
- * change_singleline_inputbox_input_mode
- * DESCRIPTION
- * change the input mode of single line input box
- * PARAMETERS
- * void
- * RETURNS
- * void
- *****************************************************************************/
- void change_singleline_inputbox_input_mode(void)
- {
- /*----------------------------------------------------------------*/
- /* Local Variables */
- /*----------------------------------------------------------------*/
- /*----------------------------------------------------------------*/
- /* Code Body */
- /*----------------------------------------------------------------*/
- change_singleline_inputbox_mode(MMI_current_input_mode);
- }
- /* MTK Elvis to add some APIs for Qsearch */
- /*****************************************************************************
- * FUNCTION
- * change_qsearch_singleline_inputbox_input_mode
- * DESCRIPTION
- * change the input mode of single line input box
- * PARAMETERS
- * void
- * RETURNS
- * void
- *****************************************************************************/
- void change_qsearch_singleline_inputbox_input_mode(void)
- {
- /*----------------------------------------------------------------*/
- /* Local Variables */
- /*----------------------------------------------------------------*/
- /*----------------------------------------------------------------*/
- /* Code Body */
- /*----------------------------------------------------------------*/
- change_qsearch_singleline_inputbox_mode(MMI_current_input_mode);
- }
- /* MTK end */
- /*****************************************************************************
- * FUNCTION
- * change_multiline_inputbox_input_mode
- * DESCRIPTION
- * Changes the input mode of the multiline inputbox
- * PARAMETERS
- * void
- * RETURNS
- * void
- *****************************************************************************/
- void change_multiline_inputbox_input_mode(void)
- {
- /*----------------------------------------------------------------*/
- /* Local Variables */
- /*----------------------------------------------------------------*/
- /*----------------------------------------------------------------*/
- /* Code Body */
- /*----------------------------------------------------------------*/
- change_multiline_inputbox_mode(MMI_current_input_mode);
- }
- /* Function Added To Display Remaining Character for Single Line Box - Gurinder 23/4/2004 */
- /*****************************************************************************
- * FUNCTION
- * wgui_redraw_singleline_input_box_remaining_characters_display
- * DESCRIPTION
- *
- * PARAMETERS
- * void
- * RETURNS
- * void
- *****************************************************************************/
- void wgui_redraw_singleline_input_box_remaining_characters_display(void)
- {
- #ifndef __MMI_HIDE_SGL_REMAINING_CHAR__
- /*----------------------------------------------------------------*/
- /* Local Variables */
- /*----------------------------------------------------------------*/
- color c;
- /* MTK Elvis for R2L characters */
- S32 x1;
- S32 x2;
- S32 y1 = wgui_inputbox_information_bar_y;
- S32 y2 = wgui_inputbox_information_bar_y + wgui_inputbox_information_bar_height - 1;
- /* MTK end */
- #if !defined(__MMI_TOUCH_SCREEN__)
- stFontAttribute *f = &MMI_small_font;
- S32 w, n, max_n;
- #else /* !defined(__MMI_TOUCH_SCREEN__) */
- stFontAttribute *f = &MMI_medium_font;
- S32 w, h, n, max_n;
- #endif /* !defined(__MMI_TOUCH_SCREEN__) */
- UI_character_type str[32];
- /*----------------------------------------------------------------*/
- /* Code Body */
- /*----------------------------------------------------------------*/
- /* MTK Elvis for R2L characters */
- if (!r2lMMIFlag)
- {
- x1 = wgui_inputbox_information_bar_x + (wgui_inputbox_information_bar_width >> 1);
- x2 = wgui_inputbox_information_bar_x + wgui_inputbox_information_bar_width - 1;
- }
- else
- {
- x1 = wgui_inputbox_information_bar_x;
- x2 = wgui_inputbox_information_bar_x + (wgui_inputbox_information_bar_width / 2) - 1;
- }
- /* MTK end */
- #if(UI_DOUBLE_BUFFER_SUPPORT)
- gui_lock_double_buffer();
- #endif
- /* Warning: Temporary change only UCS2 / ASCII. This has to be done in a more formal manner */
- n = (MMI_singleline_inputbox.text_length >> 1) - 1;
- max_n = (MMI_singleline_inputbox.available_length >> 1) - 1;
- if ((MMI_singleline_inputbox.flags & UI_SINGLE_LINE_INPUT_BOX_CHECK_GSM_EXTENDED) &&
- (MMI_singleline_inputbox.UCS2_count == 0))
- {
- n += MMI_singleline_inputbox.GSM_ext_count;
- }
- if ((MMI_singleline_inputbox.flags & UI_SINGLE_LINE_INPUT_BOX_PLUS_CHARACTER_HANDLING) &&
- (MMI_singleline_inputbox.text[0] == '+'))
- {
- n--;
- max_n--;
- }
- /* if(!(MMI_multiline_inputbox.flags & UI_MULTI_LINE_INPUT_BOX_INCLUDE_INFO_AREA)) */
- wgui_input_information_background(x1, y1, x2, y2);
- gui_reset_text_clip();
- gui_sprintf(str, "%d/%d", n, max_n);
- c = *current_MMI_theme->remaining_length_text_color;
- gui_set_font(f);
- gui_set_text_color(c);
- gui_set_text_clip(0, 0, UI_device_width - 1, UI_device_height - 1);
- #if !defined(__MMI_TOUCH_SCREEN__)
- w = gui_get_string_width(str);
- #else
- gui_measure_string(str, &w, &h);
- #endif
- /* MTK Elvis for R2L characters */
- if (!r2lMMIFlag)
- #if !defined(__MMI_TOUCH_SCREEN__)
- gui_move_text_cursor(x2 - 2 - w, y1 + 2);
- #else
- gui_move_text_cursor(x2 - 2 - w, y1 + (wgui_inputbox_information_bar_height - h) / 2);
- #endif
- else
- #if !defined(__MMI_TOUCH_SCREEN__)
- gui_move_text_cursor(x1 + 2 + w, y1 + 2);
- #else
- gui_move_text_cursor(x1 + 2 + w, y1 + (wgui_inputbox_information_bar_height - h) / 2);
- #endif
- /* MTK end */
- gui_print_text(str);
- #if(UI_DOUBLE_BUFFER_SUPPORT)
- gui_unlock_double_buffer();
- gui_BLT_double_buffer(x1, y1, x2, y2);
- #endif /* (UI_DOUBLE_BUFFER_SUPPORT) */
- #endif /* __MMI_HIDE_SGL_REMAINING_CHAR__ */
- }
- /* Function Added To Display Information Bar For Single Line Input Box - Gurinder 23/4/2004 */
- /*****************************************************************************
- * FUNCTION
- * wgui_redraw_singleline_input_information_bar
- * DESCRIPTION
- * redrwa input information bar
- * PARAMETERS
- * void
- * RETURNS
- * void
- *****************************************************************************/
- void wgui_redraw_singleline_input_information_bar(void)
- {
- /*----------------------------------------------------------------*/
- /* Local Variables */
- /*----------------------------------------------------------------*/
- S32 x1 = wgui_inputbox_information_bar_x;
- S32 y1 = wgui_inputbox_information_bar_y;
- S32 x2 = wgui_inputbox_information_bar_x + wgui_inputbox_information_bar_width - 1;
- S32 y2 = wgui_inputbox_information_bar_y + wgui_inputbox_information_bar_height - 1;
- /*----------------------------------------------------------------*/
- /* Code Body */
- /*----------------------------------------------------------------*/
- #if(UI_DOUBLE_BUFFER_SUPPORT)
- gui_lock_double_buffer();
- #endif
- wgui_input_information_background(x1, y1, x2, y2);
- wgui_show_input_mode(MMI_current_input_mode, wgui_inputbox_information_icon);
- wgui_redraw_singleline_input_box_remaining_characters_display();
- #if(UI_DOUBLE_BUFFER_SUPPORT)
- gui_unlock_double_buffer();
- gui_BLT_double_buffer(x1, y1, x2, y2);
- #endif /* (UI_DOUBLE_BUFFER_SUPPORT) */
- }
- /*****************************************************************************
- * FUNCTION
- * set_singleline_inputbox_category_history
- * DESCRIPTION
- * Sets the history data for the singleline inputbox from the given history buffer
- * PARAMETERS
- * history_ID [IN] Is the ID used by category screens
- * history_buffer [IN] Is the buffer from which history data is taken
- * input_type [?]
- * RETURNS
- * Returns true if the history ID is valid
- *****************************************************************************/
- U8 set_singleline_inputbox_category_history(U16 history_ID, U8 *history_buffer, S16 *input_type)
- {
- /*----------------------------------------------------------------*/
- /* Local Variables */
- /*----------------------------------------------------------------*/
- /*----------------------------------------------------------------*/
- /* Code Body */
- /*----------------------------------------------------------------*/
- if (history_buffer != NULL)
- {
- singleline_inputbox_category_history *h = (singleline_inputbox_category_history*) history_buffer;
- if (history_valid(h->history_ID, history_ID))
- {
- MMI_singleline_inputbox.text_length = h->text_length;
- MMI_singleline_inputbox.allocated_length = h->allocated_length;
- MMI_singleline_inputbox.available_length = h->available_length;
- MMI_singleline_inputbox.current_text_p =
- (UI_buffer_type) (MMI_singleline_inputbox.text + h->current_position);
- MMI_singleline_inputbox.text_offset_x = h->text_offset_x;
- MMI_singleline_inputbox.UCS2_count = h->UCS2_count;
- *input_type = h->input_type;
- MMI_singleline_inputbox.flags = h->flags;
- #if defined(__MMI_TOUCH_SCREEN__)
- wgui_setup_virtual_keyboard(h->vk_lang_type);
- #endif
- return (1);
- }
- }
- return (0);
- }
- /*****************************************************************************
- * FUNCTION
- * get_singleline_inputbox_category_history
- * DESCRIPTION
- * gets the history data for the singleline inputbox from the given history buffer
- * PARAMETERS
- * history_ID [IN] Is the ID used by category screens
- * history_buffer [IN] Is the buffer from which history data is taken
- * input_type [IN]
- * RETURNS
- * Returns true if the history ID is valid(?)
- *****************************************************************************/
- void get_singleline_inputbox_category_history(U16 history_ID, U8 *history_buffer, S16 input_type)
- {
- /*----------------------------------------------------------------*/
- /* Local Variables */
- /*----------------------------------------------------------------*/
- /*----------------------------------------------------------------*/
- /* Code Body */
- /*----------------------------------------------------------------*/
- if (history_buffer != NULL)
- {
- U16 hID = (U16) (history_ID | 0x8000);
- singleline_inputbox_category_history *h = (singleline_inputbox_category_history*) history_buffer;
- h->history_ID = hID;
- h->text_length = (S16) MMI_singleline_inputbox.text_length;
- h->allocated_length = (S16) MMI_singleline_inputbox.allocated_length;
- h->available_length = (S16) MMI_singleline_inputbox.available_length;
- h->current_position = (S16) (MMI_singleline_inputbox.current_text_p - MMI_singleline_inputbox.text);
- h->text_offset_x = (S16) MMI_singleline_inputbox.text_offset_x;
- h->UCS2_count = (S16) MMI_singleline_inputbox.UCS2_count;
- h->input_type = (S16) input_type;
- h->flags = (U32) MMI_singleline_inputbox.flags;
- // W06.48 - add by Ailsa for removing multitap state when exiting category
- h->flags &= ~UI_SINGLE_LINE_INPUT_BOX_STATE_MULTITAP;
- #if defined(__MMI_TOUCH_SCREEN__)
- /* W06.04 Save Virtual Keyboard in the history of single line input box */
- if (GUI_VIRTUAL_KEYBOARD_MAX_LANG == mmi_pen_editor_history_vk_lang_type())
- {
- h->vk_lang_type = MMI_virtual_keyboard.lang_type;
- }
- else
- {
- h->vk_lang_type = mmi_pen_editor_history_vk_lang_type();
- }
- #endif /* defined(__MMI_TOUCH_SCREEN__) */
- }
- }
- /*****************************************************************************
- * FUNCTION
- * set_multiline_inputbox_category_history
- * DESCRIPTION
- * Sets the history data for the multiline inputbox from the given history buffer
- * PARAMETERS
- * history_ID [IN] Is the ID used by category screens
- * history_buffer [IN] Is the buffer from which history data is taken
- * input_type [?]
- * RETURNS
- * Returns true if the history ID is valid
- *****************************************************************************/
- U8 set_multiline_inputbox_category_history(U16 history_ID, U8 *history_buffer, S16 *input_type)
- {
- /*----------------------------------------------------------------*/
- /* Local Variables */
- /*----------------------------------------------------------------*/
- /*----------------------------------------------------------------*/
- /* Code Body */
- /*----------------------------------------------------------------*/
- if (history_buffer != NULL)
- {
- multiline_inputbox_category_history *h = (multiline_inputbox_category_history*) history_buffer;
- if (history_valid(h->history_ID, history_ID))
- {
- MMI_multiline_inputbox.text_length = h->text_length;
- MMI_multiline_inputbox.allocated_length = h->allocated_length;
- #if defined(__MMI_SMART_MESSAGE_MO__) && !defined(__MMI_MESSAGES_EMS__)
- if (GetMessagesCurrScrnID() != SCR_ID_MSG_WRITE)
- {
- MMI_multiline_inputbox.available_length = h->available_length;
- }
- #else /* defined(__MMI_SMART_MESSAGE_MO__) && !defined(__MMI_MESSAGES_EMS__) */
- MMI_multiline_inputbox.available_length = h->available_length;
- #endif /* defined(__MMI_SMART_MESSAGE_MO__) && !defined(__MMI_MESSAGES_EMS__) */
- MMI_multiline_inputbox.n_lines = h->n_lines;
- MMI_multiline_inputbox.text_height = h->text_height;
- MMI_multiline_inputbox.text_offset_x = h->text_offset_x;
- MMI_multiline_inputbox.text_offset_y = h->text_offset_y;
- MMI_multiline_inputbox.cursor_x = h->cursor_x;
- MMI_multiline_inputbox.cursor_y = h->cursor_y;
- MMI_multiline_inputbox.cursor_line_position_counter = h->cursor_line_position_counter;
- MMI_multiline_inputbox.line_before_cursor_line_p =
- (UI_buffer_type) (MMI_multiline_inputbox.text + h->line_before_cursor_line_p);
- MMI_multiline_inputbox.cursor_line_p = (UI_buffer_type) (MMI_multiline_inputbox.text + h->cursor_line_p);
- MMI_multiline_inputbox.cursor_p = (UI_buffer_type) (MMI_multiline_inputbox.text + h->cursor_p);
- MMI_multiline_inputbox.line_after_cursor_line_p =
- (UI_buffer_type) (MMI_multiline_inputbox.text + h->line_after_cursor_line_p);
- MMI_multiline_inputbox.line_after_cursor_line_last_p =
- (UI_buffer_type) (MMI_multiline_inputbox.text + h->line_after_cursor_line_last_p);
- MMI_multiline_inputbox.last_position_p =
- (UI_buffer_type) (MMI_multiline_inputbox.text + h->last_position_p);
- MMI_multiline_inputbox.UCS2_count = h->UCS2_count;
- *input_type = h->input_type;
- MMI_multiline_inputbox.flags = h->flags;
- MMI_multiline_inputbox.ext_flags=h->ext_flags;
- /* barcode */
- MMI_multiline_inputbox.current_hilite_idx = h->current_hilite_idx;
- MMI_multiline_inputbox.curr_hilite_text_offset_y = h->curr_hilite_text_offset_y;
- MMI_multiline_inputbox.hilite_list = h->hilite_list;
- MMI_multiline_inputbox.hilite_cb = h->hilite_cb;
- #ifdef __UI_PAGING_IN_MULTILINE_EDITOR__
- if (h->ext_flags & GUI_MULTI_LINE_INPUT_BOX_VIEW_PAGING_MODE)
- {
- memcpy(MMI_multiline_inputbox.text,shared_data, h->previous_shared_bytes);
- MMI_multiline_inputbox.start_id = h->start_page_id;
- MMI_multiline_inputbox.end_id = h->end_page_id;
- MMI_multiline_inputbox.text_offset = h->text_offset;
- gui_paging_multiline_input_box_get_page(
- MMI_multiline_inputbox.start_id,
- MMI_multiline_inputbox.end_id,
- MMI_multiline_inputbox.text + h->previous_shared_bytes);
- }
- #endif /* __UI_PAGING_IN_MULTILINE_EDITOR__ */
- #if defined(__MMI_TOUCH_SCREEN__)
- wgui_setup_virtual_keyboard(h->vk_lang_type);
- #endif
- return (1);
- }
- }
- return (0);
- }
- /*****************************************************************************
- * FUNCTION
- * get_multiline_inputbox_category_history
- * DESCRIPTION
- * Gets the history data for the multiline inputbox and stores into the given history buffer
- * PARAMETERS
- * history_ID [IN] Is the ID used by category screens
- * history_buffer [IN] Is the buffer from which history data is taken
- * input_type [IN]
- * RETURNS
- * void
- *****************************************************************************/
- void get_multiline_inputbox_category_history(U16 history_ID, U8 *history_buffer, S16 input_type)
- {
- /*----------------------------------------------------------------*/
- /* Local Variables */
- /*----------------------------------------------------------------*/
- /*----------------------------------------------------------------*/
- /* Code Body */
- /*----------------------------------------------------------------*/
- if (history_buffer != NULL)
- {
- U32 tmp_flags;
- S8 i;
- U16 hID = (U16) (history_ID | 0x8000);
- multiline_inputbox_category_history *h = (multiline_inputbox_category_history*) history_buffer;
- h->history_ID = hID;
- h->text_length = (S16) MMI_multiline_inputbox.text_length;
- h->allocated_length = (S16) MMI_multiline_inputbox.allocated_length;
- h->available_length = (S16) MMI_multiline_inputbox.available_length;
- h->n_lines = (S16) MMI_multiline_inputbox.n_lines;
- h->text_height = (S16) MMI_multiline_inputbox.text_height;
- h->text_offset_x = (S16) MMI_multiline_inputbox.text_offset_x;
- h->text_offset_y = (S16) MMI_multiline_inputbox.text_offset_y;
- h->cursor_x = (S16) MMI_multiline_inputbox.cursor_x;
- h->cursor_y = (S16) MMI_multiline_inputbox.cursor_y;
- h->cursor_line_position_counter = (S16) MMI_multiline_inputbox.cursor_line_position_counter;
- h->line_before_cursor_line_p =
- (S16) (MMI_multiline_inputbox.line_before_cursor_line_p - MMI_multiline_inputbox.text);
- h->cursor_line_p = (S16) (MMI_multiline_inputbox.cursor_line_p - MMI_multiline_inputbox.text);
- h->cursor_p = (S16) (MMI_multiline_inputbox.cursor_p - MMI_multiline_inputbox.text);
- h->line_after_cursor_line_p =
- (S16) (MMI_multiline_inputbox.line_after_cursor_line_p - MMI_multiline_inputbox.text);
- h->line_after_cursor_line_last_p =
- (S16) (MMI_multiline_inputbox.line_after_cursor_line_last_p - MMI_multiline_inputbox.text);
- h->last_position_p = (S16) (MMI_multiline_inputbox.last_position_p - MMI_multiline_inputbox.text);
- h->input_type = (S16) input_type;
- /* barcode */
- h->current_hilite_idx = MMI_multiline_inputbox.current_hilite_idx;
- h->curr_hilite_text_offset_y = MMI_multiline_inputbox.curr_hilite_text_offset_y;
- h->hilite_list = MMI_multiline_inputbox.hilite_list;
- h->hilite_cb = MMI_multiline_inputbox.hilite_cb;
- h->ext_flags = (U32)MMI_multiline_inputbox.ext_flags;
- /**** ritesh started*****/
- #ifdef __UI_PAGING_IN_MULTILINE_EDITOR__
- if (MMI_multiline_inputbox.ext_flags & GUI_MULTI_LINE_INPUT_BOX_VIEW_PAGING_MODE)
- {
- h->start_page_id = MMI_multiline_inputbox.start_id;
- h->end_page_id = MMI_multiline_inputbox.end_id;
- h->previous_shared_bytes = MMI_multiline_inputbox.previous_shared_bytes;
- //h->ext_flags = MMI_multiline_inputbox.ext_flags;
- h->text_offset = MMI_multiline_inputbox.text_offset;
- memset(shared_data,0,sizeof(shared_data));
- memcpy((void *)shared_data, (void*)MMI_multiline_inputbox.text, h->previous_shared_bytes);
- }
- #endif /* __UI_PAGING_IN_MULTILINE_EDITOR__ */
- /**** ritesh ended here***/
- /* 032605 Calvin modified to ensure 4 byte alignment */
- tmp_flags = MMI_multiline_inputbox.flags;
- /* MTK Elvis 20040116 to disable multitap flag 20040712 to disable highlight flag */