--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/photosgallery/viewframework/dataprovider/src/glxmulbindingsetfactory.cpp Thu Dec 17 08:45:44 2009 +0200
@@ -0,0 +1,143 @@
+/*
+* Copyright (c) 2008-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: Binding Set Factory ;Base for all Binding Set
+*
+*/
+
+
+
+
+#include <glxlog.h> // Logging
+#include <glxtracer.h>
+#include "glxmulbindingsetfactory.h" // CreateBindingSetL creates instance of Binding set
+#include "glxbindingset.h" // This basically holds the bindings required to populate the visual item
+#include "glxpreviewthumbnailbinding.h" // Implementation of preview thumbnail binding for the list view
+#include "glxcontainerlistbinding.h" // This class holds the list of tags/albums associated with a media item
+
+/**
+ * Constructor
+ */
+EXPORT_C TGlxMulBindingSetFactory::TGlxMulBindingSetFactory()
+ : iBindingSet( NULL )
+ {
+ }
+
+/**
+ * Destructor
+ */
+EXPORT_C TGlxMulBindingSetFactory::~TGlxMulBindingSetFactory()
+ {
+ }
+
+/**
+ * CreateBindingSetL
+ */
+CGlxBindingSet* TGlxMulBindingSetFactory::CreateBindingSetL(
+ MGlxBindingObserver& aObserver ) const
+ {
+ TRACER("TGlxMulBindingSetFactory::CreateBindingSetL");
+ CGlxBindingSet* set = CGlxBindingSet::NewLC( aObserver );
+ iBindingSet = set; // does not take ownershop
+ // allow deriving class to add the bindings to the set
+ AddBindingsL();
+ iBindingSet = NULL; // not necessary, but clear for maintenance safety
+ CleanupStack::Pop( set );
+ return set;
+ }
+
+/**
+ * AddStringBindingL
+ */
+EXPORT_C void TGlxMulBindingSetFactory::AddStringBindingL( const Alf::mulvisualitem::TVisualAttribute& aMulTag /*const char* const aMulTag*/,
+ TInt aStringId ) const
+ {
+ TRACER("TGlxMulBindingSetFactory::AddStringBindingL");
+ iBindingSet->AddBindingL( CGlxStringBinding::NewL( aMulTag, aStringId ) );
+ }
+
+/**
+ * AddMpxAttributeBindingL
+ */
+EXPORT_C void TGlxMulBindingSetFactory::AddMpxAttributeBindingL( const Alf::mulvisualitem::TVisualAttribute& aMulTag /*const char* const aMulTag*/,
+ const TMPXAttribute& aAttribute, TInt aFormatStringId ) const
+ {
+ TRACER("TGlxMulBindingSetFactory::AddMpxAttributeBindingL");
+ iBindingSet->AddBindingL( CGlxMpxAttributeBinding::NewL( aMulTag, aAttribute, aFormatStringId ) );
+ }
+
+/**
+ * AddThumbnailBindingL
+ */
+EXPORT_C void TGlxMulBindingSetFactory::AddThumbnailBindingL( const Alf::mulvisualitem::TVisualAttribute& aMulTag /*const char* const aMulTag*/,
+ const TSize& aSize ) const
+ {
+ TRACER("TGlxMulBindingSetFactory::AddThumbnailBindingL");
+ iBindingSet->AddBindingL( CGlxThumbnailBinding::NewL( aMulTag, aSize ) );
+ }
+/**
+ * AddFullScreenThumbnailBindingL
+ */
+EXPORT_C void TGlxMulBindingSetFactory::AddFullScreenThumbnailBindingL(const Alf::mulvisualitem::TVisualAttribute& aMulTag /*const char* const aMulTag*/)const
+ {
+ TRACER("TGlxMulBindingSetFactory::AddFullScreenThumbnailBindingL");
+ iBindingSet->AddBindingL( CGlxFullScreenThumbnailBinding::NewL( aMulTag ) );
+ }
+/**
+ * AddIconBindingL
+ */
+EXPORT_C void TGlxMulBindingSetFactory::AddIconBindingL( const Alf::mulvisualitem::TVisualAttribute& aMulTag /*const char* const aMulTag*/,
+ const CGlxMulIconProvider* aMulIcon, const TSize& aSize ) const
+ {
+ TRACER("TGlxMulBindingSetFactory::AddIconBindingL");
+ iBindingSet->AddBindingL( CGlxIconBinding::NewL( aMulTag, aMulIcon, aSize ) );
+ }
+/**
+ * AddContainerListBindingL
+ */
+EXPORT_C void TGlxMulBindingSetFactory::AddContainerListBindingL( const Alf::mulvisualitem::TVisualAttribute& aMulTag /*const char* const aMulTag*/,
+ const CMPXCollectionPath& aPath ) const
+ {
+ TRACER("TGlxMulBindingSetFactory::AddContainerListBindingL");
+ iBindingSet->AddBindingL( CGlxContainerListBinding::NewL( aMulTag, aPath ) );
+ }
+
+/**
+ * AddCommandBindingL
+ */
+EXPORT_C void TGlxMulBindingSetFactory::AddCommandBindingL( MGlxBoundCommand* aCommand ) const
+ {
+ TRACER("TGlxMulBindingSetFactory::AddCommandBindingL");
+ iBindingSet->AddBindingL( CGlxCommandBinding::NewL( aCommand ) );
+ }
+
+/**
+ * AddTemplateBindingL
+ */
+EXPORT_C void TGlxMulBindingSetFactory::AddTemplateBindingL(
+ Alf::mulwidget::TLogicalTemplate aTemplate,
+ Alf::mulwidget::TLogicalTemplate aTemplateWhenFocused) const
+ {
+ TRACER("TGlxMulBindingSetFactory::AddTemplateBindingL");
+ iBindingSet->AddBindingL( CGlxTemplateBinding::NewL( aTemplate, aTemplateWhenFocused ) );
+ }
+
+ /**
+ * AddPreviewThumbnailBindingL
+ */
+EXPORT_C void TGlxMulBindingSetFactory::AddPreviewThumbnailBindingL() const
+ {
+ TRACER("TGlxMulBindingSetFactory::AddPreviewThumbnailBindingL");
+ iBindingSet->AddBindingL( CGlxPreviewThumbnailBinding::NewL() );//@todo
+ }
+