--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/peninputarc/gsplugin/gspeninputplugin/inc/gspeninputcontainer.h Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,466 @@
+/*
+* Copyright (c) 2002-2005 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: Container for gspeninputplugin.
+*
+*/
+
+
+#ifndef C_GSPENINPUTCONTAINER_H
+#define C_GSPENINPUTCONTAINER_H
+
+// INCLUDES
+#include <gsbasecontainer.h>
+#include <gscommon.hrh>
+
+#include "gscenrepnotifyhandlercallback.h"
+
+// FORWARD DECLARATION
+class CGSListBoxItemTextArray;
+class CGSPenInputModel;
+class CGulIcon;
+class CAknNullService;
+
+/**
+ * GSPenInputPlugin container class
+ *
+ * This class is GSPenInputPlugin container class. It offers not only CCoeControl
+ * but also CGSBaseContainer behavior. General settings framework will use the class
+ * to handle list box.
+ *
+ * @lib gspeninputplugin.dll
+ * @since S60 v3.2
+ */
+class CGSPenInputContainer : public CGSBaseContainer,
+ public MGsCenRepNotifyHandlerCallback
+ {
+
+public:
+
+ /**
+ * C++ default constructor
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ CGSPenInputContainer();
+
+ /**
+ * Symbian second-phase constructor
+ *
+ * @since S60 v3.2
+ * @param aRect Listbox's rect.
+ * @return None
+ */
+ void ConstructL(const TRect& aRect);
+
+ /**
+ * Destructor
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ virtual ~CGSPenInputContainer();
+
+ /**
+ * Updates listbox item's value.
+ *
+ * @since S60 v3.2
+ * @param aItemId Item id which is updated.
+ * @return None
+ */
+ void UpdateListBoxL(TInt aItemId);
+
+ /**
+ * Retrieves the currently selected listbox id
+ *
+ * @since S60 v3.2
+ * @return Selected list box item id.
+ */
+ TInt CurrentSelectedId() const;
+
+ /**
+ * Display input language setting page
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void ShowInputLanguagePageL();
+
+ /**
+ * Display input mode setting page
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void ShowInputModePageL();
+
+ /**
+ * Display writing speed setting page
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void ShowWritingSpeedPageL();
+
+ /**
+ * Display guide line setting page
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void ShowGuideLinePageL();
+ void ShowRecognitionWithDictionaryL();
+
+ /**
+ * Display pen trail width setting page
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void ShowTrailWidthPageL();
+
+ /**
+ * Display pen trail colour setting page
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void ShowTrailColourPageL();
+
+ /**
+ * Display "Touch screen calibration" setting page
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void StartTouchScreenCalibL();
+
+ /**
+ * Display "Input method for find" setting page
+ *
+ * @since S60 v5.0
+ * @return None
+ */
+ void ShowInputMethodForFindPageL();
+
+ /**
+ * Display "Chinese input method" setting page
+ *
+ * @since S60 v5.0
+ * @return None
+ */
+ void ShowChineseFindMethodPageL();
+
+ /**
+ * Get model instance
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ CGSPenInputModel* Model();
+
+ /**
+ * Re-Construct List box
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void ReConstructListBoxL();
+
+ /**
+ * Launch other application
+ *
+ * @aAppUid: The application's uid
+ */
+ void LaunchAppL( TUid aAppUid );
+
+// From MGsCenRepNotifyHandlerCallback
+
+ /**
+ * From MGsCenRepNotifyHandlerCallback
+ * This callback method is used to notify the client about
+ * key changing
+ *
+ * @since S60 v3.2
+ * @param aId Key id
+ * @param aNewValue New value
+ * @return None
+ */
+ void HandleNotifyInt(TUint32 aId, TInt aNewValue);
+ void MakeRecognitionWithDictionaryL();
+
+ /**
+ * From MGsCenRepNotifyHandlerCallback
+ * This callback method is used to notify the client about
+ * key changing
+ *
+ * @param aRepositoryUid The repository uid for each key
+ * @param aId Key id
+ * @param aNewValue New value
+ * @return None
+ */
+ void HandleNotifyInt(TUid aRepositoryUid, TUint32 aId, TInt aNewValue);
+
+protected:
+
+ /**
+ * From CGSBaseContainer
+ * Constructs listbox
+ *
+ * @since S60 v3.2
+ * @param aResLbxId Listbox source id
+ * @return None
+ */
+ void ConstructListBoxL(TInt aResLbxId);
+
+private:
+
+ /**
+ * Constructs listbox items
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void CreateListBoxItemsL();
+
+ /**
+ * Create listbox hwr trui item
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void MakeHwrTruiItemL();
+
+ /**
+ * Create listbox input language item
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void MakeInputLanguageL();
+
+ /**
+ * Create input mode item
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+
+ void MakeInputModeL();
+
+ /**
+ * Create listbox guide line item
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void MakeGuideItemL();
+
+ /**
+ * Create listbox writing speed item
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void MakeSpeedItemL();
+
+ /**
+ * Create listbox pen trail width item
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void MakeTrailWidthItemL();
+
+ /**
+ * Create listbox pen trail colour item
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void MakeTrailColourItemL();
+
+ /**
+ * Create listbox touch screen calibration item
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void MakeTouchScrCalibItemL();
+
+ /**
+ * Create listbox input method for find item
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void MakeInputMethodForFindItemL();
+
+ /**
+ * Create listbox chinese find method item
+ * Uses appropriate method to create listbox item.
+ *
+ * @since S60 v5.0
+ * @return None
+ */
+ void MakeChineseFindMethodItemL();
+
+ /**
+ * Display "Chinese hongkong input method" setting page
+ *
+ * @since S60 v5.0
+ * @return None
+ */
+ void MakeChineseFindMethodHongkongItemL();
+
+ /**
+ * Display "Chinese hongkong input method" setting page
+ *
+ * @since S60 v5.0
+ * @return None
+ */
+ void ShowChineseFindMethodHongkongPageL();
+
+ /**
+ * Create a new icon
+ *
+ * @since S60 v3.2
+ * @return Pointer to create new icom
+ */
+ CGulIcon* CreateNewIconL();
+
+ /**
+ * Draw icon bitmap
+ *
+ * @since S60 v3.2
+ * @param aRect Reference to main rect
+ * @param aIcon Pointer to icon
+ * @return None
+ */
+ void DrawIconL(const TRect& aRect, CGulIcon* aIcon);
+
+ /**
+ * Create a icon for pen trail colour item
+ *
+ * @since S60 v3.2
+ * @return None
+ */
+ void CreateIconL();
+ /**
+ * From CCoeControl
+ * Identify the help context so that the framework can look up
+ * the corresponding help topic
+ * @param aContext Returns the help context
+ */
+ void GetHelpContext( TCoeHelpContext& aContext ) const;
+
+ /**
+ * Handle notifier from KCRUidPersonalizationSettings in CRepository
+ *
+ * @param aId Key id
+ * @param aNewValue New value
+ */
+ void HandleNotifyIntFromPersonalizationL( TUint32 aId, TInt aNewValue );
+
+ /**
+ * Handle notifier from KCRUidAknFep in CRepository
+ *
+ * @param aId Key id
+ * @param aNewValue New value
+ */
+ void HandleNotifyIntFromAknFepL( TUint32 aId, TInt aNewValue );
+
+ /**
+ * Handle notifier from KCRUidAvkon in CRepository
+ *
+ * @param aId Key id
+ * @param aNewValue New value
+ */
+ void HandleNotifyIntFromAvkonL( TUint32 aId, TInt aNewValue );
+
+private:// data
+
+ /**
+ * The icon array of list box item (Not own)
+ */
+ CArrayPtr<CGulIcon>* iIconArray;
+
+ /**
+ * The model (Own)
+ */
+ CGSPenInputModel* iModel;
+
+ /**
+ * The string array of list box item (Own)
+ */
+ CGSListBoxItemTextArray* iListboxItemArray;
+
+ /**
+ * The string array of writing speed items (Own)
+ */
+ CDesCArrayFlat* iWritingSpeedItems;
+
+ /**
+ * The string array of guide line items (Own)
+ */
+ CDesCArrayFlat* iGuideLineItems;
+ /**
+ * The string array of guide line items (Own)
+ */
+ CDesCArrayFlat* iRecognitionWithDictionaryItems;
+
+ /**
+ * The string array of pen trail width items (Own)
+ */
+ CDesCArrayFlat* iPenTrailWidthItems;
+
+ /**
+ * The string array of input mode items (Own)
+ */
+ CDesCArrayFlat* iInputModeItems;
+
+ /**
+ * The string array of method for find items (Own)
+ */
+ CDesCArrayFlat* iInputMethodForFindItems;
+
+ /**
+ * Resource id of chinese find method item array
+ */
+ TInt iChineseFindMethodResourceID;
+
+ /**
+ * The string array of chinese find method items (Own)
+ */
+ CDesCArrayFlat* iChineseFindMethodItems;
+
+ /**
+ * Current language is Chinese
+ */
+ TBool iChinese;
+
+ /**
+ * Current language is Japanese
+ */
+ TBool iJapanese;
+
+ /**
+ * Launch application;
+ */
+ CAknNullService* iNullService;
+ };
+
+#endif // C_GSPENINPUTCONTAINER_H
+
+// End Of File