diff -r 000000000000 -r 9a3a17bfeb67 userdict/inc/UdictView.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/userdict/inc/UdictView.h Mon Jan 18 20:09:32 2010 +0200 @@ -0,0 +1,204 @@ +/* +* 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 class. +* It owns CUserDictContainer object as container control. +* It handles the events and switches the view state to Word list +* view or to User dictionary editor. +* +*/ + + + + + +#ifndef UDICTVIEW_H +#define UDICTVIEW_H + +// INCLUDES +#include + +// FORWARD DECLARATIONS +class CUserDictContainer; +class CUserDictModel; +class TUDictElement; +class CIdle; + +// CLASS DECLARATION + +/** +* Japanese user dictionary View class. +* It owns CUserDictContainer object as container control. +* @since 2.6 +*/ +class CUserDictView : public CAknView + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + * @param aModel + */ + static CUserDictView* NewLC(CUserDictModel& aModel); + + /** + * Destructor. + */ + virtual ~CUserDictView(); + + public: // New functions + + /** + * Saves the changes of the element and updates ListBox. + * It calls the model's function to add or to modify the entry to + * the User dictionary. + * @param aNewItem is the element after changes. + * @param aOldItem is the element before changes. + */ + void SaveL(const TUDictElement& aNewItem, + const TUDictElement& aOldItem) const; + + /** + * Displays an information note with a message defined by aResourceId. + * @param aResourceId is the ID of the resource of the message string. + */ + void ShowInformationNoteL(TInt aResourceId) const; + + /** + * From CAknView + * Handles the client rectangle is changed. + */ + void HandleClientRectChange(); + + private: // Constructors + + /** + * C++ default constructor. + * @param aModel + */ + CUserDictView(CUserDictModel& aModel); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + private: // New functions + + /** + * Shows a delete confirmation query. + * @param aCount is the number of the deleting words. + * @return zero, if user cancels confirmation. + */ + TInt ShowDeleteConfQueryL(TInt aCount = 1) const; + + /** + * Shows the form of User dictionary editor. + * @param aItem is the reference to the entry item. + */ + void ShowEditorFormL(const TUDictElement& aItem); + + /** + * Re-initializes the registered word list and updates the ListBox. + */ + void UpdateListL(); + + /** + * The iIdle's callback function + * @param aView + * @return zero + */ + static TInt RegisterByAnotherApp(TAny* aView); + + /** + * This function is only called when the application is launched + * by another application. + * The function starts the User dictionary editor and closes + * this application after the editor is closed. + */ + void DoRegisterByAnotherApp(); + + /** + * In this function the correct softkey is shown. + */ + void ShowSoftkeyL(); + + private: // Functions from base classes + + /** + * From CAknView, returns this view Id. + * @return this view Id + */ + TUid Id() const; + + /** + * From CAknView + * Handles the commands. + * @param aCommand + */ + void HandleCommandL(TInt aCommand); + + /** + * From CAknView, activates the view. + * It creates and initializes CUserDictContainer object. + * If it is started by another application, this function creates + * the CIdle object to call RegisterByAnotherAppL(). + * @param aPrevViewId + * @param aCustomMessageId + * @param aCustomMessage + */ + void DoActivateL( + const TVwsViewId& aPrevViewId, + TUid aCustomMessageId, + const TDesC8& aCustomMessage); + + /** + * From CAknView + * Deactivates the view. + */ + void DoDeactivate(); + + /** + * From CAknView + */ + void HandleForegroundEventL(TBool aForeground); + + /** + * From MEikMenuObserver + * Initializes the menu pane. + * @param aResourceId is the Resource ID of the menu pane + * @param aMenuPane + */ + void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); + + private: // Data + + // View Container Control + CUserDictContainer* iContainer; // own + + // Japanese User Dictionary Model + // It provides the access to the User dictionary data. + CUserDictModel& iModel; + + // CIdle active object + CIdle* iIdle; // own + + // Flag to forbid the re-initializing of the list. + TBool iLockListUpdate; + // ETrue is embedded + TBool iEmbedded; + }; + +#endif // UDICTVIEW_H + +// End of File