fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUiAvkonImpl.h
changeset 0 eb1f2e154e89
child 3 f5a1e66df979
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/inc/AknFepUiAvkonImpl.h	Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,199 @@
+/*
+* 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:           
+*       Avkon implementation of the FEP's UI component access
+*
+*/
+
+
+
+
+
+
+
+
+
+
+
+#ifndef AKNFEPUIAVKONIMPL_H
+#define AKNFEPUIAVKONIMPL_H
+
+#include "aknfepuiinterface.h"
+#include "AknFepUiAvkonMenus.h"
+#include <eikmobs.h>
+#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
+#include <e32property.h>
+#endif
+
+class CEikButtonGroupContainer;
+class CAknCharMapDialog;
+class CEikDialog;
+class CAknFepPredictiveSettingDialog;
+class CAknListQueryDialog;
+class CAknFepTextQueryDialog;
+
+#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
+class CRepository;
+#endif
+
+class CAknFepUIAvkonImpl : public CAknFepUIInterface, public MEikMenuObserver
+	{
+private:
+    void ConstructL();
+public:
+	static CAknFepUIAvkonImpl* NewL();
+	~CAknFepUIAvkonImpl();
+	CAknFepUIAvkonImpl();
+public:	// menu abstraction
+	void SetFepMenuObserver(MAknFepUiInterfaceMenuObserver* aObserver);
+	CAknFepUiInterfaceMenuBar* EditorStateMenuBar(CAknEdwinState* aEditorState);
+	CAknFepUiInterfaceMenuBar* NewMenuBarL(MAknFepUiInterfaceMenuObserver* aObserver, TInt aHotKeyResourceId, TInt aMenuTitleResourceId);
+	CAknFepUiInterfaceMenuBar* ObjectProviderMenuBar(MObjectProvider* aObjectProvider);
+
+public:	// stylus pop-up menu abstraction
+    CAknFepUiInterfaceStylusPopUpMenu* NewStylusPopUpMenuL(MAknFepUiInterfaceMenuObserver* aObserver, const TPoint& aPoint);
+	
+public: // indicator abstraction
+	virtual CAknFepIndicator* NewIndicatorL();
+	
+public:	// use case abstraction
+	void LaunchConfirmationNoteL(TInt aResourceId);
+	void LaunchHelpTextQueryL(TInt aResourceId);
+	TInt LaunchCangJieOptionDlgL(TInt aResourceId, TInt& aLevel, MDesC16Array* aItems);
+	TInt LaunchListPopupL(TInt aResourceId, TInt& aIndex, TInt aInitialIndex, MDesC16Array* aItems, CArrayPtr<CGulIcon>* aIcons);
+	void UpdateSoftkeysL(TInt aResourceId, CAknEdwinState* aEditorState, MEikCommandObserver* aObserver, TInt aInputMode);
+	TBool SoftkeysExist();
+	TInt SoftkeyCommandId(TInt aPosition);
+	void DeleteSoftkeys();
+	void DrawSoftkeysNow();
+	void CreateSoftkeys(TInt aResourceId, MEikCommandObserver* aObserver);
+	TBool UpdateSoftkeyLabelL(TInt aPosition, TInt aCommandId, TInt aTextResId);
+	TInt CharMapDialogL(TInt aCharCase, TDes& aSpecialChars, TInt aCharSetResourceId, TBool aLockNumericKeys, TBool aShowPictographsFirst, TBool aShowNoPictographs, TBool aShowAnotherTable, TInt aAfterSctChars, TInt aResId, TBool aDisableRecentItemRow );
+	TInt TextQueryDialogL(TDes& aDataText, CAknEdwinState& aEditorState, TInt aEditorFlag, TInt aResId);
+	CPlainText* PlainText(CAknEdwinState* aEditorState);
+	void UpdateEditorContext(MAknEditingStateIndicator& aIndicator, MAknFepManagerInterface& aManager);
+
+    void TouchPaneSetFepPenSupportInterface(MAknFepPenSupportInterface* aFepPenSupportInterface);
+    void TouchPaneAllowInputMethodActivation(TBool aValue);
+    void TouchPaneRefreshL();
+    void TouchPaneSetInputMethodIconActivated(TBool aActivated);
+
+	TBool IsDisplayDataQuery(TBool aIsFepAwareTextEditor);
+
+public:	// APAC abstraction
+	MAknFepUICtrlContainerChinese* NewAknFepUICtrlContainerChineseL();
+	MAknFepUICtrlContainerJapanese* NewAknFepUICtrlContainerJapaneseL(CAknFepUIManagerJapanese* aUiMng);
+	void JapaneseKutenQueryDialogL(TInt aResId, TInt& aCharCode, TInt aTone);
+	
+#ifdef RD_INTELLIGENT_TEXT_INPUT
+// Predictive QWERTY (XT9) changes ---->
+public:	// candidate words pop-up abstraction
+	MAknFepCandidatePopup* NewCandidatePopupL(MAknFepCandidatePopupCallback& aOwner);
+
+public:	//bubble implmentation
+	MAknFepUiWordPopupContent* CreateWordPopupContentL();
+	
+public: // for predictive setting dialog
+	void LaunchPredictiveSettingDialogL(TInt aDialogResId, 
+										TInt aMenuResId, 
+										TInt aConfirmationQueryResId,
+										TInt aTitlePaneResId );
+#ifdef FF_DUAL_LANGUAGE_SUPPORT
+	void LaunchWritingLanguageSettingDialogL(TInt aDialogResId, TInt aMenuResId, TInt aTitlePaneResId);
+#endif //FF_DUAL_LANGUAGE_SUPPORT
+
+#ifdef __USER_DICTIONARY_EDITING__
+	//for editing user dictionary
+	void LaunchUserDictEditDialogL();
+#endif //__USER_DICTIONARY_EDITING__
+
+// Predictive QWERTY (XT9) changes <----	
+#endif //RD_INTELLIGENT_TEXT_INPUT
+	void DeleteDialogs();
+	
+private:	// from MEikMenuObserver
+	void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane);
+	void DynInitMenuBarL(TInt aResourceId,CEikMenuBar* aMenuBar);
+	void SetEmphasis(CCoeControl* aMenuControl,TBool aEmphasis);
+
+private:	// from MEikCommandObserver
+	void ProcessCommandL(TInt aCommandId);
+
+private:
+    /**
+     *  Show cba of aResourceId using owns cba object(iCba)
+     *
+     *  @since 3.2
+     *  @param aResourceId softkeys resource id.
+     *  @return None
+     */
+    void ShowOwnsSoftkeysL(const TInt aResourceId, MEikCommandObserver* aObserver);
+
+    /**
+    * This method is that empty softkeys is shown in case aShown is ETrue.
+    * If aShown is EFalse, empty softkeys is erased.
+    * @param aShown    If ETrue, empty softkeys is shown.
+    */
+	void ShowEmptySoftkeysL(TBool aShown, MEikCommandObserver* aObserver, TInt aInputMode);
+	
+#ifdef RD_INTELLIGENT_TEXT_INPUT	
+#ifdef __ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__
+        class CSubscriber : public CActive
+            {
+        public:
+            CSubscriber(TCallBack aCallBack, RProperty& aProperty);
+            ~CSubscriber();
+
+        public: // New functions
+            void SubscribeL();
+            void StopSubscribe();
+
+        private: // from CActive
+            void RunL();
+            void DoCancel();
+
+        private:
+            TCallBack   iCallBack;
+            RProperty&  iProperty;
+            };
+        /**
+         * Call back function to handle a change in keyboard layout.
+         */ 
+        static TInt HandleKeyboardLayoutChangeNotification(TAny* aObj);
+        
+        void HandleKeyboardLayoutChange();
+        
+        CSubscriber*    iKeyboardLayoutStatusSubscriber;
+        RProperty       iKeyboardLayoutStatusProperty;    
+        
+        friend class CSubscriber;
+#endif //__ITI_VIRTUAL_TOUCH_FIRST_GENERATION_SUPPORT__        
+#endif
+        
+private:
+    CEikButtonGroupContainer* iCba;         // own
+    CAknFepUIAvkonMenuPaneImpl iTempMenuPane;
+    CAknFepUIAvkonMenuBarImpl iTempMenuBar;
+    CAknFepUIAvkonMenuBarImpl iEditorMenuBar;
+    CAknFepUIAvkonMenuBarImpl iObjectProviderMenuBar;
+    MAknFepUiInterfaceMenuObserver* iFepMenuObserver;
+    CAknCharMapDialog* iCharMapDialog;
+    CEikDialog* iDialog;
+    CAknFepPredictiveSettingDialog* iPredictiveSettingDialog;
+    CAknListQueryDialog* iListQueryDialog;
+    CAknFepTextQueryDialog* iTextQueryDialog;
+	};
+
+
+#endif