diff -r 000000000000 -r eb1f2e154e89 inputmethods_plat/aknfep_uiinterface_api/inc/AknFepUiInterface.h --- /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 + +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* 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