diff -r fc42a86c98e3 -r 694fa80c203c textinput/peninputhwrtrui/inc/truishortcutscontainer.h --- a/textinput/peninputhwrtrui/inc/truishortcutscontainer.h Wed Jun 23 04:57:58 2010 +0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,319 +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: CTruiShortcutsContainer class of TrainingUI -* -*/ - - -#ifndef C_TRUISHORTCUTSCONTAINER_H -#define C_TRUISHORTCUTSCONTAINER_H - -#include -#include -#include "truicontainerbase.h" - -class CEikButtonGroupContainer; -class CAknSingleGraphicStyleListBox; -class CTruiHwrBox; -class CAknPreviewPopUpController; - -/** - * CTruiShortcutsContainer container control - * Used as the component to shortcut main view - * - * @code - * iContainer = CTruiShortcutsContainer::NewL( ClientRect() ); - * iContainer->SetMopParent( this ); - * AppUi()->AddToStackL( *this, iContainer ); - * @endcode - * - */ -class CTruiShortcutsContainer : public CTruiContainerBase, - public MEikListBoxObserver, - public MAknPreviewPopUpObserver - { -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 CTruiShortcutsContainer* 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 CTruiShortcutsContainer* NewLC( const TRect& aRect ); - - /** - * Destructor. - */ - virtual ~CTruiShortcutsContainer(); - - /** - * Popup the TextSettingPage and added the new shortcut to ListBox. - */ - void AddShortcutL(); - - /** - * Delete shortcut. - */ - void DeleteShortcutL(); - - /** - * Mark shortcut. - */ - void MarkShortcutL(); - - /** - * Unmark shortcut. - */ - void UnmarkShortcutL(); - - /** - * Return currently selected item's index. - * - * @return Currently selected item's index. - */ - TInt CurrentItemIndex(); - - /** - * Test if the currently selected index is marked. - * - * @param aSelectedIndex: Current selected item's index - * @return ETrue if the item is marked. EFalse if it is not marked. - */ - TBool IsMarked( TInt aSelectedIndex ); - - /** - * Return the count of being marked currently. - * - * @return The count of being marked. - */ - TInt MarkCount(); - - /** - * Edit shortcut - * @param aOnlyEditText ETrue : Only edit shortcut text. - * EFalse : Only edit shortcut model. - */ - void EditShortcutL( TBool aOnlyEditText = EFalse ); - - - /** - * Check if reset introduction - * - * @return ETrue: Reset introcudtion - * EFalse: Do not. - */ - TBool IsResetIntroduction(); - - /** - * Reset introduction - * - */ - void ResetIntroductionL(); - - /** - * Set flag to indicate popup window being displayed. - * - * @param aDisplayPopupWindow ETrue : Displaying. - * EFalse : Not displaying. - */ - inline void SetDisplayPopupWindow( TBool aDisplayPopupWindow ) - { - iDisplayPopupWindow = aDisplayPopupWindow; - }; - -// from MEikListBoxObserver - /** - * Observer callback from the listbox - * @param aListBox ptr to listbox that is calling the method - * @param aEventType type of event; defined by MEikListBoxObserver - */ - void HandleListBoxEventL( CEikListBox* aListBox, TListBoxEvent aEventType ); - -// from CCoeControl - /** - * Handles key event. - * - * @param aKeyEvent The key event. - * @param aType The type of key event: EEventKey, EEventKeyUp or EEventKeyDown. - * - * @return Indicates whether or not the key event was used by this control. - */ - TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, - TEventCode aType ); - - /** - * GetHelpContext() - * 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; - -private: - - /** - * Constructor. - */ - CTruiShortcutsContainer(); - - /** - * Perform the second phase construction of a CTruiMainViewContainer object. - * - * @param aRect: The rectangle that defines the control's extent. - */ - void ConstructL( const TRect& aRect ); - - /** - * Create controls to be displayed in this container. - */ - void InitializeControlsL(); - - /** - * Delete shortcut from ListBox. - */ - void DeleteItemsL(); - - /** - * Create preview popup controller to show popup hwrbox. - */ - CAknPreviewPopUpController* CreatePopupHwrBoxL(); - - /** - * Popup HWR box - * @param aPosition The position to display HWR box - * @param aShowDelay The delay time interval before being shown. - * @param aHideDelay The delay time interval after which to hide tooltip. - */ - void PopupHwrBoxL( const TPoint& aPosition, - const TTimeIntervalMicroSeconds32& aShowDelay, - const TTimeIntervalMicroSeconds32& aHideDelay ); - /** - * Preview shortcut model in popup hwrbox. - * @param aShortcutText The shortcut to be previewed - */ - void PreviewShortcutModelL( const TDesC& aShortcutText, TInt aIndex ); - - /** - * Check if need to preview shortcut and perform previewing necessarily. - * - * @param aIndex To stand for which item of the listbox - * @return ETrue : Preview shortcut model. EFalse : Don't preview it. - */ - TBool CheckAndPreviewShortcutModelL( TInt aIndex ); - - /** - * Update buttons' status in toolbar. - * - * @param aIndex To stand for which item of the listbox. - */ - void UpdateToolbarButtonStatus( TInt aIndex ); - - /** - * Create ListBox - */ - void CreateListBoxL(); - - /** - * Setup text data for listbox - */ - void LoadTextArrayL( const CDesCArray* aTextArray ); - - /** - * Handle event when listbox change to another focused item. - */ - void HandleListBoxFocusChangedL( TInt aIndex ); - - /** - * Popup context menu. - * @param aResourceId The resource Id of the context menu. - */ - void PopupContextMenuL( TInt aResourceId ); - - /** - * Get position relative to screen origin for popup window. - * @param aIndex The index of item from which pop up. - */ - TPoint PopupWindowPosition( TInt aIndex ); - -// from MAknPreviewPopUpObserver - /** - * Called by the preview popup when an appropriate event takes place. - * @param aController Pointer to the sender of the event. - * @param aEvent Event type. - */ - void HandlePreviewPopUpEventL( - CAknPreviewPopUpController* aController, TPreviewPopUpEvent aEvent ); - -// from CoeControl. - /** - * Responds to changes to the size and position of the contents of this control. - */ - void SizeChanged(); - - /** - * Responds to a change in focus. - * @param aDrawNow Contains the value that was passed to it by SetFocus(). - */ - void FocusChanged( TDrawNow aDrawNow ); - - /** - * Handles pointer events. - * @param aPointerEvent The pointer event. - */ - void HandlePointerEventL( const TPointerEvent& aPointerEvent ); - -private: // data - - /** - * list box to display all shortcut - * Not own - */ - CAknSingleGraphicStyleListBox* iListBox; - - /** - * Pointer to HWR box displayed in popup controller - * Own - */ - CTruiHwrBox* iHwrBox; - - /** - * Pointer to preview popup used to show tooltip - * Own - */ - CAknPreviewPopUpController* iPopupController; - - /** - * Check if popup preview when focus changed - */ - TBool iDisplayPopupWindow; - - TUint iShortcutUnicode; - - /** - * Point of pen down on item. - */ - TPoint iPenDownPoint; - }; - -#endif // C_TRUISHORTCUTSCONTAINER_H -