diff -r 000000000000 -r 9a3a17bfeb67 userdict/inc/UdictContainer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/userdict/inc/UdictContainer.h Mon Jan 18 20:09:32 2010 +0200 @@ -0,0 +1,184 @@ +/* +* Copyright (c) 2002-2004 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: Japanese user dictionary View container control. It contains +* a single style list box to show the registered words. +* +*/ + + + + + + +#ifndef UDICTCONTAINER_H +#define UDICTCONTAINER_H + +// INCLUDES +#include +#include + +// FORWARD DECLARATIONS +class CAknSingleStyleListBox; +class CEikListBox; +class CGulIcon; +class CAknView; +class CUserDictModel; + +// CLASS DECLARATION +/** +* Japanese user dictionary Container class. +* It contains a single style list box to show the registered words. +* CUserDictView controls this class. +* @since 2.6 +*/ +class CUserDictContainer : public CCoeControl, public MAknBackgroundProcess + { + public: // Constructors and destructor + + /** + * C++ default constructor. + * @param aModel + * @param aView + */ + CUserDictContainer(CUserDictModel& aModel, CAknView& aView); + + /** + * 2nd phase constructor. + */ + void ConstructL(); + + /** + * Destructor. + */ + virtual ~CUserDictContainer(); + + public: // New functions + + /** + * It sets the focus to the item which is located at aIndex and redraws + * the Listbox. + * @param aIndex is set to the Listbox's current item. + */ + void SetFocusL(TInt aIndex) const; + + /** + * Deletes the selected items in the Listbox. + * If the Listbox has marked items, it deletes the all marked items. + * If it doesn't have any marked item, it deletes the focused item. + */ + void DeleteItemL(); + + /** + * Gets the Listbox object. + * @return the Listbox object. + */ + inline CEikListBox* ListBox() const; + + private: // New functions + + /** + * Sets a marking icon array to the Listbox. + */ + void SetGraphicIconL(); + + /** + * It shows a Wait Note during deleting the marked items. + */ + void ShowWaitNoteL(); + + /** + * Creates the icon and adds it to the array if it was successful + * @since 2.8 + */ + void CUserDictContainer::CreateIconAndAddToArrayL( + CArrayPtr*& aIconsArray, + const TDesC& aIconFile, + TInt aBitmap, TInt aMask = -1); + + + private: // Functions from base classes + + /** + * From CCoeControl + * Handles size changed. + */ + void SizeChanged(); + + /** + * From CCoeControl + * Gets a number of the component controls. + * @return a number of the component control. + */ + TInt CountComponentControls() const; + + /** + * From CCoeControl + * Gets the component control. + * @param aIndex is index of the component control + * @return the component control + */ + CCoeControl* ComponentControl(TInt aIndex) const; + + /** + * From CCoeControl + * Handles key events. + * @param aKeyEvent + * @param aType + * @return EKeyWasConsumed, when it handles the event. + */ + TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, + TEventCode aType); + + /** + * From CCoeContro, gets help context. + * @param aContext + */ + void GetHelpContext(TCoeHelpContext& aContext) const; + + /** + * From MAknBackgroundProcess, + * It has the actual process in the wait note's loop. + * It deletes the selected words by descending order of list index. + * This function is called repeatedly until all selected words are + * deleted. + */ + void StepL(); + + /** + * From MAknBackgroundProcess, tests whether Wait Note process is done. + * When iWaitNoteCounter is under zero, it finishes the process. + * @return ETrue, when the process is done. + */ + TBool IsProcessDone() const; + + private: // Data + + // The ListBox showing registered words + CAknSingleStyleListBox* iListBox; // own + + // Japanese user dictionary Model + CUserDictModel& iModel; + + // View, the controller of this class + CAknView& iView; + + // The counter for the Wait Note process. + // It's used for count of deleting words + TInt iWaitNoteCounter; + + }; + +#endif // UDICTCONTAINER_H + +// End of File