userdict/inc/UdictFrm.h
branchRCL_3
changeset 13 261ff9819be3
parent 0 9a3a17bfeb67
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/userdict/inc/UdictFrm.h	Wed Sep 01 12:31:56 2010 +0100
@@ -0,0 +1,154 @@
+/*
+* 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 editor form.
+*
+*/
+
+
+
+
+
+
+#ifndef UDICTFRM_H
+#define UDICTFRM_H
+
+//  INCLUDES
+#include <AknForm.h>
+
+// FORWARD DECLARATIONS
+class CUserDictView;
+class TUDictElement;
+
+// CLASS DECLARATION
+
+/**
+*  This class defines the form of Japanese user dictionary editor.
+*  Edits an entry of Japanese user dictionary, which has a word and
+*  the reading.
+*  @since 2.6
+*/
+class CUserDictForm : public CAknForm
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        * @param aItem is a reference to the entry item
+        * @param aView
+        */
+        static CUserDictForm* NewL(const TUDictElement& aItem,
+                                   CUserDictView& aView);
+
+    private:
+
+        /**
+        * Destructor.
+        */
+        ~CUserDictForm();
+
+    private:
+
+        /**
+        * C++ default constructor.
+        * @param aItem is a reference to the entry item
+        * @param aView
+        */
+        CUserDictForm(const TUDictElement& aItem, CUserDictView& aView);
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+    private: // New functions
+
+        /**
+        * Gets the edited data, and sets the data to aEntry.
+        * @param aEntry is set the edited data.
+        */
+        void GetData(TUDictElement& aEntry) const;
+
+        /**
+        * Sets the entry data to the controls which the form has.
+        */
+        void SetDataL() const;
+
+        /**
+        * Saves the entry, and if an error has occurred at the saving time,
+        * it shows an error note.
+        * @return EFalse, if it needs to fix the entry.
+        */
+        TBool SaveL();
+
+        /**
+        * Tests if the entry fields are blank.
+        * @return EFalse, if the word and the reading are not empty.
+        */
+        TBool IsBlank() const;
+
+        /**
+        * Tests if the characters of the reading entry is valid.
+        * @return EFalse, the reading entry has invalid characters.
+        */
+        TBool IsValidReadingL(const TUDictElement& aItem) const;
+
+    private: // Functions from base classes
+
+        /**
+        * From CEikDialog
+        * Initializes the form.
+        */
+        void PreLayoutDynInitL();
+
+        /**
+        * From CEikDialog, handles exit event of the form.
+        * It calls SaveL(). If the saving finishes with EFalse,
+        * this function returns EFalse.
+        * @param aKeycode
+        * @return ETrue, when exits the form.
+        */
+        TBool OkToExitL(TInt aKeycode);
+
+        /**
+        * From MCoeControlObserver, handles event of the form state changes.
+        * It switches the "Done" softkey visible or hidden.
+        * @param aControlId
+        */
+        void HandleControlStateChangeL(TInt aControlId);
+
+        /**
+        * From CCoeControl
+        * Handles key events.
+        * @param aKeyEvent
+        * @param aType
+        */
+        TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
+                                    TEventCode aType);
+
+    private:    // Data
+
+        // The Entry keeping the initial state
+        const TUDictElement& iInitEntry;
+
+        // The reference of View
+        // It's used for calling the saving function.
+        CUserDictView& iView;
+
+        // The resource id for displaying softkey
+        TUint iSoftkeyResource;
+    };
+
+#endif      //  UDICTFRM_H
+
+// End of File