browserui/browser/FeedsInc/FeedsEditFolderDialog.h
changeset 0 84ad3b177aa3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/browserui/browser/FeedsInc/FeedsEditFolderDialog.h	Mon Mar 30 12:49:49 2009 +0300
@@ -0,0 +1,172 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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:  Encapsulates a edit folder dialog.
+*
+*/
+
+
+#ifndef FEEDS_EDIT_FOLDER_DIALOG_H
+#define FEEDS_EDIT_FOLDER_DIALOG_H
+
+
+// INCLUDES
+#include <aknform.h>
+
+// CONSTANTS
+
+// MACROS
+
+// DATA TYPES
+
+// FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+class CAknViewAppUi;
+
+// CLASS DECLARATION
+
+
+/**
+*  The observer interface for the edit folder dialog.
+*  @lib FeedsEngine.lib
+*  @since 3.0
+*/
+class MFeedsEditFolderDialogObserver
+    {
+    public:
+        /**
+        * Called when a folder's name is changed -- this is called 
+        * after IsValidFolderName is called.
+        *
+        * @since 3.0
+        * @param aName The folder's new name.
+        * @return void.
+        */
+        virtual void UpdateFolderL(const TDesC& aName) = 0;
+
+        /**
+        * Called when a new folder is created -- this is called 
+        * after IsValidFolderName is called.
+        *
+        * @since 3.0
+        * @param aName The folder's new name.
+        * @return void.
+        */
+        virtual void NewFolderL(const TDesC& aName) = 0;
+
+        /**
+        * Validates the folder's updated name.
+        *
+        * @since 3.0
+        * @param aName The folder's new name.
+        * @param aIsEditing True if the edit dialog was opened to edit a folder.        
+        * @return ETrue if the value is valid.
+        */
+        virtual TBool IsFolderNameValidL(const TDesC* aName, TBool aIsEditing) = 0;
+    };
+
+
+/**
+*  Encapsulates a edit folder dialog.
+*  @lib FeedsEngine.lib
+*  @since 3.0
+*/
+class CFeedsEditFolderDialog: public CAknForm
+	{
+	public:
+        /**
+        * Two-phased constructor.
+        */
+		static CFeedsEditFolderDialog* NewL(MFeedsEditFolderDialogObserver& aObserver,
+        		CAknViewAppUi* aAppUi,
+                const TDesC& aName);
+
+        /**
+        * Two-phased constructor.
+        */
+		static CFeedsEditFolderDialog* NewL(MFeedsEditFolderDialogObserver& aObserver,
+            CAknViewAppUi* aAppUi);
+
+        /**
+        * Destructor.
+        */        
+        virtual ~CFeedsEditFolderDialog();
+
+
+	public:  // From CAknForm
+        /**
+        * Called to setup the options menu with the dialog is active.
+        *
+        * @since ?
+        * @param aResourceId  The resource id of the menu.
+        * @param aMenuPane The menu.
+        * @return void.
+        */
+		virtual void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane);
+
+        /**
+        * Called by the framework whenver the 'Save' menu item is selected.
+        *
+        * @since ?
+		* @return ETrue if the form data has been saved, otherwise EFalse.
+        */
+		virtual TBool SaveFormDataL(); 
+
+        /**
+        * Called by the framework before the form is initialised.
+        *
+        * @since ?
+		* @return void.
+        */
+		virtual void PreLayoutDynInitL();
+
+        /**
+        * Called by the framework to process the options menu.
+        *
+        * @since ?
+        * @param aCommandId  The command.
+		* @return void.
+        */
+        virtual void ProcessCommandL(TInt aCommandId);
+
+
+	private:  // New methods
+        /**
+        * C++ default constructor.
+        */
+		CFeedsEditFolderDialog(MFeedsEditFolderDialogObserver& aObserver,
+                CAknViewAppUi* aAppUi,
+                const TDesC& aName);
+
+		/**
+		* Loads the form data before the form is displayed.
+        *
+        * @since ?
+		* @return ETrue if the form data has been saved, otherwise EFalse.
+        */
+		void LoadFormValuesFromDataL();
+
+
+	private:
+        MFeedsEditFolderDialogObserver&  iObserver;
+        CAknViewAppUi*              iAppUi;   // not owned
+        TBool                       iIsNewFolder;
+        TBool                       iExitDialog;
+
+        const TDesC&                iName;
+	};
+
+#endif      // FEEDS_EDIT_FOLDER_DIALOG_H
+            
+// End of File
\ No newline at end of file