photosgallery/viewframework/views/metadatadialog/inc/glximgvwrmetadatacontainer.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/photosgallery/viewframework/views/metadatadialog/inc/glximgvwrmetadatacontainer.h Thu Dec 17 08:45:44 2009 +0200
@@ -0,0 +1,156 @@
+/*
+* Copyright (c) 2009 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:
+*
+*/
+/*
+ * glximgvwrmetadatacontainer.h
+ *
+ * Created on: Oct 22, 2009
+ * Author: sourbasu
+ */
+
+#ifndef GLXIMGVWRMETADATACONTAINER_H_
+#define GLXIMGVWRMETADATACONTAINER_H_
+
+
+#include <glxmedialist.h> //media list
+#include <alf/alfenv.h>
+#include <aknsettingitemlist.h> // for CAknSettingItem
+#include "mglxmedialistobserver.h"
+#include <glxattributecontext.h>
+
+
+//FORWARD DECLARATION
+class MGlxMediaList;
+class CGlxDetailsMulModelProvider;
+class CGlxCommandHandlerAddToContainer;
+
+#include "glxmedia.h"
+
+// CLASS DECLARATION
+/**
+ * CGlxImgVwrMetadataContainer
+ *
+ * Metadata Container implementation
+ */
+NONSHARABLE_CLASS( CGlxImgVwrMetadataContainer ) : public CAknSettingItemList,
+public MGlxMediaListObserver
+
+ {
+public: // Constructors and destructor
+ void ViewDynInitMenuPaneL(TInt aResourceId, CEikMenuPane *aMenuPane);
+ /**
+ * Symbian standard tow phase construction.Construct object of CGlxImgVwrMetadataContainer object.
+ *
+ * @param aRect rect for control
+ * @param aMediaList media list
+ * @return Metadata container object
+ */
+ static CGlxImgVwrMetadataContainer* NewL( const TRect& aRect,const TDesC& aUri);
+
+ /**
+ * Symbian standard tow phase construction.Construct object of CGlxImgVwrMetadataContainer object.
+ *
+ * @param aRect rect for control
+ * @param aMediaList media list
+ * @return Metadata container object
+ */
+ static CGlxImgVwrMetadataContainer* NewLC( const TRect& aRect,const TDesC& aUri);
+
+ /**
+ * Destructor
+ */
+ ~CGlxImgVwrMetadataContainer();
+
+public:
+
+ // @ref CAknSettingItemList::CreateSettingItemL
+ CAknSettingItem* CreateSettingItemL(TInt aIdentifier);
+
+ // @ref CAknSettingItemList::HandleListBoxEventL
+ void HandleListBoxEventL(CEikListBox* aListBox,
+ TListBoxEvent aEventType);
+ void HandleListboxChangesL();
+
+ //Enable disble the options based on the current selected item
+ TBool IsItemModifiable();
+ //Change MSK
+ void ChangeMskL();
+ //Enable marquee support
+ void EnableMarqueingL();
+
+
+
+
+public:
+ //MedialistObserver APIS
+ void HandleItemAddedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList* aList );
+ void HandleItemRemovedL( TInt aStartIndex, TInt aEndIndex, MGlxMediaList*/* aList */);
+ void HandleAttributesAvailableL( TInt aItemIndex,
+ const RArray<TMPXAttribute>& aAttributes, MGlxMediaList* aList );
+ void HandleFocusChangedL( NGlxListDefs::TFocusChangeType aType,
+ TInt aNewIndex, TInt aOldIndex, MGlxMediaList* aList );
+ void HandleItemSelectedL(TInt aIndex, TBool aSelected, MGlxMediaList* aList );
+ void HandleMessageL( const CMPXMessage& aMessage, MGlxMediaList* aList );
+ void HandleError( TInt aError );
+ void HandleCommandCompleteL( CMPXCommand* aCommandResult, TInt aError,
+ MGlxMediaList* aList );
+ void HandleMediaL( TInt aListIndex, MGlxMediaList* aList );
+ void HandleItemModifiedL( const RArray<TInt>& aItemIndexes, MGlxMediaList* aList );
+ void HandleErrorL();
+ MGlxMediaList& MediaList();
+ void HandleCommandCompleteL(TAny* aSessionId,
+ CMPXCommand* /*aCommandResult*/, TInt aError, MGlxMediaList* aList);
+
+private:
+
+ /**
+ * C++ constructor.
+ *
+ * @param aMediaList media list
+ */
+ CGlxImgVwrMetadataContainer(const TDesC& aUri);
+
+ /**
+ * Symbian 2nd phase constructor
+ * @param aRect rect for this control
+ */
+ void ConstructL( const TRect& aRect);
+ void CreateMediaListForSelectedItemL();
+ void SetAttributesL(TMPXAttribute attribute);
+ void EditItemL(TInt aIndex, TBool aCalledFromMenu);
+ void SetNameDescriptionL(TInt aItem);
+ void SetDurationLIicenseItemVisibilityL();
+ TBool IsLicenseItem();
+
+private: //data
+
+ //Flag to check if the item is a video.
+ TBool iVideo;
+ //To check if marquee is enabled.
+ TBool iMarquee;
+ //to set visible license items based on the Item.
+ TBool iSetVisible;
+ RBuf iTextSetter;
+ const TDesC& iUri ;
+ MGlxMediaList* iItemMediaList;
+ CGlxAttributeContext* iMainListAttributecontext;
+ TGlxSelectionIterator iSelectionIterator;
+
+ };
+
+
+
+#endif /* GLXIMGVWRMETADATACONTAINER_H_ */