|
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 |