inputmethods_plat/aknfep_uiinterface_api/inc/AknFepUiInterface.h
changeset 0 eb1f2e154e89
equal deleted inserted replaced
-1:000000000000 0:eb1f2e154e89
       
     1 /*
       
     2 * Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0""
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:              
       
    15 *       Interface through which the FEP can use UI components
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 
       
    21 
       
    22 
       
    23 
       
    24 
       
    25 
       
    26 
       
    27 
       
    28 
       
    29 
       
    30 
       
    31 
       
    32 
       
    33 #ifndef AKNFEPUIINTERFACE_H
       
    34 #define AKNFEPUIINTERFACE_H
       
    35 
       
    36 #include <e32base.h>
       
    37 
       
    38 class MDesC16Array;
       
    39 class CGulIcon;
       
    40 class CAknEdwinState;
       
    41 class MEikCommandObserver;
       
    42 class MAknFepPenSupportInterface;
       
    43 class CPlainText;
       
    44 class MAknEditingStateIndicator;
       
    45 class MAknFepManagerInterface;
       
    46 class CAknFepIndicator;
       
    47 class MObjectProvider;
       
    48 class MAknFepUICtrlContainerChinese;
       
    49 class MAknFepUICtrlContainerJapanese;
       
    50 class CAknFepUIManagerJapanese;
       
    51 class CAknFepUiInterfaceMenuPane;
       
    52 class CAknFepUiInterfaceMenuBar;
       
    53 class MAknFepUiInterfaceMenuObserver;
       
    54 class CAknFepUiInterfaceStylusPopUpMenu;
       
    55 #ifdef RD_INTELLIGENT_TEXT_INPUT
       
    56 // Predictive QWERTY (XT9) changes ---->
       
    57 class MAknFepUiWordPopupContent;
       
    58 class MAknFepCandidatePopupCallback;
       
    59 class MAknFepCandidatePopup;
       
    60 // Predictive QWERTY (XT9) changes <----
       
    61 #endif //RD_INTELLIGENT_TEXT_INPUT
       
    62 
       
    63 class CAknFepUIInterface : public CBase
       
    64 	{
       
    65 public:
       
    66 	enum
       
    67 		{
       
    68 		ELeftSoftkeyIndex                           =0,
       
    69         ERightSoftkeyIndex                          =2,
       
    70         EMiddleSoftkeyIndex                         =3,        
       
    71 		};
       
    72 
       
    73 public:
       
    74 	IMPORT_C static CAknFepUIInterface* NewL();
       
    75 	IMPORT_C ~CAknFepUIInterface();
       
    76 	
       
    77 public:	// menu abstraction
       
    78 	virtual void SetFepMenuObserver(MAknFepUiInterfaceMenuObserver* aObserver) = 0;
       
    79 	virtual CAknFepUiInterfaceMenuBar* EditorStateMenuBar(CAknEdwinState* aEditorState) = 0;
       
    80 	virtual CAknFepUiInterfaceMenuBar* NewMenuBarL(MAknFepUiInterfaceMenuObserver* aObserver, TInt aHotKeyResourceId=0, TInt aMenuTitleResourceId=0) = 0;
       
    81 	virtual CAknFepUiInterfaceMenuBar* ObjectProviderMenuBar(MObjectProvider* aObjectProvider) = 0;
       
    82 
       
    83 public:	// stylus pop-up menu abstraction
       
    84     virtual CAknFepUiInterfaceStylusPopUpMenu* NewStylusPopUpMenuL(MAknFepUiInterfaceMenuObserver* aObserver, const TPoint& aPoint) = 0;
       
    85 	
       
    86 public: // indicator abstraction
       
    87 	virtual CAknFepIndicator* NewIndicatorL() = 0;
       
    88 	
       
    89 public:	// use case abstraction
       
    90 	virtual void LaunchConfirmationNoteL(TInt aResourceId) = 0;
       
    91 	virtual void LaunchHelpTextQueryL(TInt aResourceId) = 0;
       
    92 	virtual TInt LaunchCangJieOptionDlgL(TInt aResourceId, TInt& aLevel, MDesC16Array* aItems) = 0;
       
    93 	virtual TInt LaunchListPopupL(TInt aResourceId, TInt& aIndex, TInt aInitialIndex, MDesC16Array* aItems, CArrayPtr<CGulIcon>* aIcons) = 0;
       
    94 	virtual void UpdateSoftkeysL(TInt aResourceId, CAknEdwinState* aEditorState, MEikCommandObserver* aObserver, TInt aInputMode) = 0;
       
    95 	virtual TBool SoftkeysExist() = 0;
       
    96 	virtual TInt SoftkeyCommandId(TInt aPosition) = 0;
       
    97 	virtual void DeleteSoftkeys() = 0;
       
    98 	virtual void DrawSoftkeysNow() = 0;
       
    99 	virtual void CreateSoftkeys(TInt aResourceId, MEikCommandObserver* aObserver) = 0;
       
   100 	virtual TBool UpdateSoftkeyLabelL(TInt aPosition, TInt aCommandId, TInt aTextResId) = 0;
       
   101 	virtual TInt CharMapDialogL(TInt aCharCase, TDes& aSpecialChars, TInt aCharSetResourceId, TBool aLockNumericKeys, TBool aShowPictographsFirst, TBool aShowNoPictographs, TBool aShowAnotherTable, TInt aAfterSctChars, TInt aResId, TBool aDisableRecentItemRow = EFalse) = 0;
       
   102 	virtual TInt TextQueryDialogL(TDes& aDataText, CAknEdwinState& aEditorState, TInt aEditorFlag, TInt aResId) = 0;
       
   103 	virtual CPlainText* PlainText(CAknEdwinState* aEditorState) = 0;
       
   104 	virtual void UpdateEditorContext(MAknEditingStateIndicator& aIndicator, MAknFepManagerInterface& aManager) = 0;
       
   105 
       
   106     virtual void TouchPaneSetFepPenSupportInterface(MAknFepPenSupportInterface* aFepPenSupportInterface) = 0;
       
   107     virtual void TouchPaneAllowInputMethodActivation(TBool aValue) = 0;
       
   108     virtual void TouchPaneRefreshL() = 0;
       
   109     virtual void TouchPaneSetInputMethodIconActivated(TBool aActivated) = 0;
       
   110 
       
   111 	virtual TBool IsDisplayDataQuery(TBool aIsFepAwareTextEditor) = 0;
       
   112 
       
   113 public:	// APAC abstraction
       
   114 	virtual MAknFepUICtrlContainerChinese* NewAknFepUICtrlContainerChineseL() = 0;
       
   115 	virtual MAknFepUICtrlContainerJapanese* NewAknFepUICtrlContainerJapaneseL(CAknFepUIManagerJapanese* aUiMng) = 0;
       
   116 	virtual void JapaneseKutenQueryDialogL(TInt aResId, TInt& aCharCode, TInt aTone = 0) = 0;
       
   117 
       
   118 #ifdef RD_INTELLIGENT_TEXT_INPUT
       
   119 // Predictive QWERTY (XT9) changes ---->
       
   120 public:	// candidates words pop-up abstraction
       
   121 	virtual MAknFepUiWordPopupContent* CreateWordPopupContentL() = 0;
       
   122 	virtual MAknFepCandidatePopup* NewCandidatePopupL(MAknFepCandidatePopupCallback& aOwner) = 0;
       
   123 	virtual void LaunchPredictiveSettingDialogL(TInt aDialogResId, 
       
   124 																							TInt aMenuResId, 
       
   125 																							TInt aConfirmationQueryResId,
       
   126 																							TInt aTitlePaneResId) = 0;
       
   127 #ifdef __USER_DICTIONARY_EDITING__	
       
   128 	virtual void LaunchUserDictEditDialogL() = 0;
       
   129 #endif //__USER_DICTIONARY_EDITING__
       
   130 
       
   131 #ifdef FF_DUAL_LANGUAGE_SUPPORT
       
   132 	virtual void LaunchWritingLanguageSettingDialogL(TInt aDialogResId, TInt aMenuResId, TInt aTitlePaneResId) = 0;
       
   133 #endif //FF_DUAL_LANGUAGE_SUPPORT
       
   134 // Predictive QWERTY (XT9) changes <----
       
   135 #endif //RD_INTELLIGENT_TEXT_INPUT
       
   136 	virtual void DeleteDialogs() = 0;
       
   137 private:
       
   138 	TUid iEcomDtorUid;		// used when implementation is loaded by ECom
       
   139 	};
       
   140 
       
   141 #endif