diff -r fc42a86c98e3 -r 694fa80c203c textinput/peninputhwrtrui/inc/truishortcuteditcontainer.h --- a/textinput/peninputhwrtrui/inc/truishortcuteditcontainer.h Wed Jun 23 04:57:58 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,417 +0,0 @@ -/* -* 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: CTruiShortcutEditContainer class of TrainingUI -* -*/ - - -#ifndef C_TRUISHORTCUTEDITCONTAINER_H -#define C_TRUISHORTCUTEDITCONTAINER_H - -#include -#include "truicontainerbase.h" -#include "truihwrboxobserver.h" -#include "truiradiobuttonobserver.h" - -class CAknButton; -class CTruiHwrBox; -class CAknsBasicBackgroundControlContext; -class CTruiRadioButton; -class CAknCharMapDialog; - -/** - * CTruiShortcutEditContainer container control - * Used as the component to shortcut main view - * - * @code - * iContainer = CTruiShortcutEditContainer::NewL( ClientRect() ); - * iContainer->SetMopParent( this ); - * AppUi()->AddToStackL( *this, iContainer ); - * @endcode - * - */ -class CTruiShortcutEditContainer : public CTruiContainerBase, - public MCoeControlObserver, - public MTruiHwrBoxObserver, - public MTruiRadioButtonObserver - { -public: - - /** - * Two-phased constructor. - * @param aRect The rectangle that defines the control's extent. - * The rectangle's origin is relative to the origin - * of its associated window. - * @return Pointer to the component control - */ - static CTruiShortcutEditContainer* NewL( const TRect& aRect ); - - /** - * Two-phased constructor. - * @param aRect The rectangle that defines the control's extent. - * The rectangle's origin is relative to the origin - * of its associated window. - * @return Pointer to the component control - */ - static CTruiShortcutEditContainer* NewLC( const TRect& aRect ); - - /** - * Destructor. - */ - virtual ~CTruiShortcutEditContainer(); - - /** - * Switch app's active view to ShortcutView. - */ - void SwitchToShortcutViewL(); - - /** - * Go back to the previous view. - */ - void BackToPreviousViewL(); - - /** - * Query if shortcut model exist - */ - TBool HasShortcutModel(); - - /** - * Preview shortcut model - */ - void PreviewShortcutModel(); - - /** - * Before exit, do some necessary operation - * - * @retrun TBool if ready to exit, true will be return, - * otherwise it will return false - */ - TBool PrepareToExitL(); - - /** - * Clear current model - * - */ - void ClearCurrentModelL(); - - /** - * Return the currently selected index, which will be set in Shortcuts view. - * - * @param aItemList The shortcut list array in which will locate the aTex. - * @param aText The shortcut item which will be located in aItemList - * @return The index of aText in aItemList. - * If it doesn't exist, it will return KErrNotFound. - */ - TInt DefaultSelectedIndex( const CDesCArray* aItemList, - const TDesC& aText ); - - /** - * Popup SCT dialog. - * - */ - void PopupSctDialogL(); - -private: - - /** - * Constructor. - */ - CTruiShortcutEditContainer(); - - /** - * Two-phased constructor. Second phase - * @param aRect The rectangle that defines the control's extent. - * The rectangle's origin is relative to the origin - * of its associated window. - */ - void ConstructL( const TRect& aRect ); - - /** - * Create controls to be displayed in this container. - */ - void InitializeControlsL(); - - /** - * Create radio button. - */ - void CreateRadioButtonL(); - - /** - * Create HWRBox - */ - void CreateHwrBoxL(); - - /** - * Create buttons - */ - void CcnstructButtonL(); - - /** - * Create Label - */ - void CreateLabelL(); - - /** - * Popup tooltip - * - * @param aResourceID The numeric ID of the resource string to be read. - */ - void PopupTooltipL( TInt aResourceID ); - - /** - * Layout under landscape condition - */ - void DoLayoutLandscape(); - - /** - * Layout under portait condition - */ - void DoLayoutPortait(); - - /** - * Save own shortcut. - * - * @param aShortcut The shortcut text which to be stored. - * @param aModel The points array assigned to the shortcut. - * @param aErrMsg The error message for too similar. - * Leave with code KErrAlreadyInUse - */ - void SaveOwnShortcutL( const TDesC& aShortcut, - RArray& aModel, - TDes& aErrMsg ); - - /** - * Save preset shortcut - * - * @param aShortcut The shortcut text which to be stored. - * @param aUnicode The unicode of preset symbol assigned to the shortcut. - * Leave with code KErrAlreadyInUse - */ - void SavePresetShortcutL( const TDesC& aShortcut, TUint aUnicode ); - - /** - * Backup shortcut model. It is probably to be restored when press Back to exit. - * - * @param aOriginalModel The shortcut model which to be backuped. - * @param aOriginalUnicode The unicode of preset symbol which to be backuped. - */ - void BackupShortcutModel( const RArray& aOriginalModel, - TUint aOriginalUnicode ); - - /** - * Set active char. - * - * @param aUnicode The unicode which to be displayed. - */ - void SetActiveCharL( TUint aUnicode ); - - /** - * Find the first available preset symbol. - * - * @param aStartPos The position from which to search - * @param aDirection The direction of how to search in preset arrays, - * Toward left or toward right - * @param aUnicode The unicode of the first available preset symbol. - * @return ETrue: search successfully; EFalse: Fail to seach, meaning all in use - */ - TBool FindFirstAvailableCharL( TInt aStartPos, TInt aEndPos, - TInt aDirection, TUint& aUnicode ); - - /** - * Return if the preset is in use - * - * @param aUnicode The preset's unicode - * @return ETrue: in use - */ - TBool CheckPresetSymbolInUseL( TUint aUnicode ); - - /** - * Do something to response to size changed - * - * @param aVarity Varity to decide which option will be retrieved from LAF data - */ - void DoSizeChanged( TInt aVarity ); - -// from base class CCoeControl - /** - * Draw the screen. - * @param aRect the rectangle of this view that needs updating - */ - void Draw( const TRect& aRect ) const; - - /** - * From CoeControl. - * Responds to changes to the size and position of the contents of this control. - */ - void SizeChanged(); - - /** - * From CoeControl. - * Responds to a change in focus. - * - * @param aRect Contains the value that was passed to it by SetFocus(). - */ - void FocusChanged( TDrawNow aDrawNow ); - - /** - * Handles a change to the control's resources. - * - * @param aType A message UID value. - */ - void HandleResourceChange( TInt aType ); - -// from MCoeControlObserver - /** - * Handles an event from an observed control. - * This function is called when a control for which this control is the - * observer calls CCoeControl::ReportEventL(). It should be implemented - * by the observer control, and should handle all events sent by controls - * it observes. - * - *@param aControl The control that sent the event. - *@param aEventType The event type. - */ - void HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType ); - -// From MTruiHWRBoxObserver - /** - * From MTruiHWRBoxObserver. - * Input times out - * Handle the save model event - */ - void SaveNewModelL(); - - /** - * From MTruiHWRBoxObserver. - * HandleEventL - * Handle the message event from the HWRBox - * @param aMessage According to the aMessage to handle the event - */ - void HandleEventL( TMessageType aMessage ); - -// from MTruiRadioButtonObserver - /** - * Notify that which radio button is selected. - * @param aIndex The index of currently selected index. - */ - void SelectChangedL( TInt aIndex ); - -private: // data - /** - * The Writing Box is used for drawing a character model. - * Not own - */ - CTruiHwrBox* iHwrBox; - - /** - * Pointer to background - * Own - */ - CAknsBasicBackgroundControlContext* iBackGround; - - /** - * Pointer to radio button - * Not own - */ - CTruiRadioButton* iRadioButtonContainer; - - /** - * Pointer to the tip label - * Not own - */ - CEikLabel* iLabelTip; - - /** - * The current tip of training shortcut - * Own - */ - HBufC* iLabeltext; - - /** - * Store the wrapped text to give tips about own or preset. - * Own - */ - HBufC* iWrappedLabelText; - - /** - * Left button. - * Not own - */ - CAknButton* iLeftBtn; - - /** - * Right button. - * Not own - */ - CAknButton* iRightBtn; - - /** - * Active indicator. - * Not own - */ - CEikLabel* iIndicator; - - /** - * Current preset symbol. - */ - TUint iUnicode; - - /** - * Current shortcut type. - */ - TInt iShortcutType; - - /** - * Store the old points of the current shortcut. - * own - */ - RArray iModelBak; - - /** - * Store the old unicode of the current preset shortcut. - */ - TUint iUnicodeBak; - - /** - * Check if need to restore old shortcut. - */ - TBool iIsRestored; - - /** - * Check if the hwrbox is empty. - */ - TBool iIsEmptyHwrBox; - - /** - * Store all presets from Engine. - * Own - */ - RArray iPresets; - - /** - * Which char is active in preset array. - */ - TInt iActiveCharPos; - - TAknMultiLineTextLayout iMultilineLayout; - - /** - * Line array. - * Own - */ - RArray iLineWidthArray; - }; - -#endif // C_TRUISHORTCUTEDITCONTAINER_H -