inputmethods_plat/aknfep_uiinterface_api/inc/AknFepUiInterface.h
changeset 0 eb1f2e154e89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inputmethods_plat/aknfep_uiinterface_api/inc/AknFepUiInterface.h	Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,141 @@
+/*
+* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:              
+*       Interface through which the FEP can use UI components
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#ifndef AKNFEPUIINTERFACE_H
+#define AKNFEPUIINTERFACE_H
+
+#include <e32base.h>
+
+class MDesC16Array;
+class CGulIcon;
+class CAknEdwinState;
+class MEikCommandObserver;
+class MAknFepPenSupportInterface;
+class CPlainText;
+class MAknEditingStateIndicator;
+class MAknFepManagerInterface;
+class CAknFepIndicator;
+class MObjectProvider;
+class MAknFepUICtrlContainerChinese;
+class MAknFepUICtrlContainerJapanese;
+class CAknFepUIManagerJapanese;
+class CAknFepUiInterfaceMenuPane;
+class CAknFepUiInterfaceMenuBar;
+class MAknFepUiInterfaceMenuObserver;
+class CAknFepUiInterfaceStylusPopUpMenu;
+#ifdef RD_INTELLIGENT_TEXT_INPUT
+// Predictive QWERTY (XT9) changes ---->
+class MAknFepUiWordPopupContent;
+class MAknFepCandidatePopupCallback;
+class MAknFepCandidatePopup;
+// Predictive QWERTY (XT9) changes <----
+#endif //RD_INTELLIGENT_TEXT_INPUT
+
+class CAknFepUIInterface : public CBase
+	{
+public:
+	enum
+		{
+		ELeftSoftkeyIndex                           =0,
+        ERightSoftkeyIndex                          =2,
+        EMiddleSoftkeyIndex                         =3,        
+		};
+
+public:
+	IMPORT_C static CAknFepUIInterface* NewL();
+	IMPORT_C ~CAknFepUIInterface();
+	
+public:	// menu abstraction
+	virtual void SetFepMenuObserver(MAknFepUiInterfaceMenuObserver* aObserver) = 0;
+	virtual CAknFepUiInterfaceMenuBar* EditorStateMenuBar(CAknEdwinState* aEditorState) = 0;
+	virtual CAknFepUiInterfaceMenuBar* NewMenuBarL(MAknFepUiInterfaceMenuObserver* aObserver, TInt aHotKeyResourceId=0, TInt aMenuTitleResourceId=0) = 0;
+	virtual CAknFepUiInterfaceMenuBar* ObjectProviderMenuBar(MObjectProvider* aObjectProvider) = 0;
+
+public:	// stylus pop-up menu abstraction
+    virtual CAknFepUiInterfaceStylusPopUpMenu* NewStylusPopUpMenuL(MAknFepUiInterfaceMenuObserver* aObserver, const TPoint& aPoint) = 0;
+	
+public: // indicator abstraction
+	virtual CAknFepIndicator* NewIndicatorL() = 0;
+	
+public:	// use case abstraction
+	virtual void LaunchConfirmationNoteL(TInt aResourceId) = 0;
+	virtual void LaunchHelpTextQueryL(TInt aResourceId) = 0;
+	virtual TInt LaunchCangJieOptionDlgL(TInt aResourceId, TInt& aLevel, MDesC16Array* aItems) = 0;
+	virtual TInt LaunchListPopupL(TInt aResourceId, TInt& aIndex, TInt aInitialIndex, MDesC16Array* aItems, CArrayPtr<CGulIcon>* aIcons) = 0;
+	virtual void UpdateSoftkeysL(TInt aResourceId, CAknEdwinState* aEditorState, MEikCommandObserver* aObserver, TInt aInputMode) = 0;
+	virtual TBool SoftkeysExist() = 0;
+	virtual TInt SoftkeyCommandId(TInt aPosition) = 0;
+	virtual void DeleteSoftkeys() = 0;
+	virtual void DrawSoftkeysNow() = 0;
+	virtual void CreateSoftkeys(TInt aResourceId, MEikCommandObserver* aObserver) = 0;
+	virtual TBool UpdateSoftkeyLabelL(TInt aPosition, TInt aCommandId, TInt aTextResId) = 0;
+	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;
+	virtual TInt TextQueryDialogL(TDes& aDataText, CAknEdwinState& aEditorState, TInt aEditorFlag, TInt aResId) = 0;
+	virtual CPlainText* PlainText(CAknEdwinState* aEditorState) = 0;
+	virtual void UpdateEditorContext(MAknEditingStateIndicator& aIndicator, MAknFepManagerInterface& aManager) = 0;
+
+    virtual void TouchPaneSetFepPenSupportInterface(MAknFepPenSupportInterface* aFepPenSupportInterface) = 0;
+    virtual void TouchPaneAllowInputMethodActivation(TBool aValue) = 0;
+    virtual void TouchPaneRefreshL() = 0;
+    virtual void TouchPaneSetInputMethodIconActivated(TBool aActivated) = 0;
+
+	virtual TBool IsDisplayDataQuery(TBool aIsFepAwareTextEditor) = 0;
+
+public:	// APAC abstraction
+	virtual MAknFepUICtrlContainerChinese* NewAknFepUICtrlContainerChineseL() = 0;
+	virtual MAknFepUICtrlContainerJapanese* NewAknFepUICtrlContainerJapaneseL(CAknFepUIManagerJapanese* aUiMng) = 0;
+	virtual void JapaneseKutenQueryDialogL(TInt aResId, TInt& aCharCode, TInt aTone = 0) = 0;
+
+#ifdef RD_INTELLIGENT_TEXT_INPUT
+// Predictive QWERTY (XT9) changes ---->
+public:	// candidates words pop-up abstraction
+	virtual MAknFepUiWordPopupContent* CreateWordPopupContentL() = 0;
+	virtual MAknFepCandidatePopup* NewCandidatePopupL(MAknFepCandidatePopupCallback& aOwner) = 0;
+	virtual void LaunchPredictiveSettingDialogL(TInt aDialogResId, 
+																							TInt aMenuResId, 
+																							TInt aConfirmationQueryResId,
+																							TInt aTitlePaneResId) = 0;
+#ifdef __USER_DICTIONARY_EDITING__	
+	virtual void LaunchUserDictEditDialogL() = 0;
+#endif //__USER_DICTIONARY_EDITING__
+
+#ifdef FF_DUAL_LANGUAGE_SUPPORT
+	virtual void LaunchWritingLanguageSettingDialogL(TInt aDialogResId, TInt aMenuResId, TInt aTitlePaneResId) = 0;
+#endif //FF_DUAL_LANGUAGE_SUPPORT
+// Predictive QWERTY (XT9) changes <----
+#endif //RD_INTELLIGENT_TEXT_INPUT
+	virtual void DeleteDialogs() = 0;
+private:
+	TUid iEcomDtorUid;		// used when implementation is loaded by ECom
+	};
+
+#endif