photosgallery/viewframework/dataprovider/src/glxmulbindingsetfactory.cpp
changeset 0 4e91876724a2
equal deleted inserted replaced
-1:000000000000 0:4e91876724a2
       
     1 /*
       
     2 * Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:    Binding Set Factory ;Base for all Binding Set
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 
       
    21 #include <glxlog.h>                      // Logging
       
    22 #include <glxtracer.h>
       
    23 #include "glxmulbindingsetfactory.h"     // CreateBindingSetL creates instance of Binding set
       
    24 #include "glxbindingset.h"               // This basically holds the bindings required to populate the visual item
       
    25 #include "glxpreviewthumbnailbinding.h"  // Implementation of preview thumbnail binding for the list view
       
    26 #include "glxcontainerlistbinding.h"     // This class holds the list of tags/albums associated with a media item
       
    27 
       
    28 /**
       
    29  * Constructor
       
    30   */
       
    31 EXPORT_C TGlxMulBindingSetFactory::TGlxMulBindingSetFactory()
       
    32         : iBindingSet( NULL )
       
    33     {
       
    34     }
       
    35 
       
    36 /**
       
    37  * Destructor
       
    38   */
       
    39 EXPORT_C TGlxMulBindingSetFactory::~TGlxMulBindingSetFactory()
       
    40     {
       
    41     }
       
    42 
       
    43 /**
       
    44  * CreateBindingSetL
       
    45   */
       
    46 CGlxBindingSet* TGlxMulBindingSetFactory::CreateBindingSetL( 
       
    47         MGlxBindingObserver& aObserver ) const
       
    48     {
       
    49     TRACER("TGlxMulBindingSetFactory::CreateBindingSetL");
       
    50     CGlxBindingSet* set = CGlxBindingSet::NewLC( aObserver );
       
    51     iBindingSet = set; // does not take ownershop
       
    52     // allow deriving class to add the bindings to the set
       
    53     AddBindingsL();
       
    54     iBindingSet = NULL; // not necessary, but clear for maintenance safety
       
    55     CleanupStack::Pop( set );
       
    56     return set;
       
    57     }
       
    58 
       
    59 /**
       
    60  * AddStringBindingL
       
    61   */
       
    62 EXPORT_C void TGlxMulBindingSetFactory::AddStringBindingL( const Alf::mulvisualitem::TVisualAttribute& aMulTag /*const char* const aMulTag*/, 
       
    63         TInt aStringId ) const
       
    64     {
       
    65     TRACER("TGlxMulBindingSetFactory::AddStringBindingL");
       
    66     iBindingSet->AddBindingL( CGlxStringBinding::NewL( aMulTag, aStringId ) );
       
    67     }
       
    68 
       
    69 /**
       
    70  * AddMpxAttributeBindingL
       
    71   */
       
    72 EXPORT_C void TGlxMulBindingSetFactory::AddMpxAttributeBindingL( const Alf::mulvisualitem::TVisualAttribute& aMulTag /*const char* const aMulTag*/, 
       
    73         const TMPXAttribute& aAttribute, TInt aFormatStringId ) const
       
    74     {
       
    75     TRACER("TGlxMulBindingSetFactory::AddMpxAttributeBindingL");
       
    76     iBindingSet->AddBindingL( CGlxMpxAttributeBinding::NewL( aMulTag, aAttribute, aFormatStringId ) );
       
    77     }
       
    78 
       
    79 /**
       
    80  * AddThumbnailBindingL
       
    81   */    
       
    82 EXPORT_C void TGlxMulBindingSetFactory::AddThumbnailBindingL( const Alf::mulvisualitem::TVisualAttribute& aMulTag /*const char* const aMulTag*/, 
       
    83 	const TSize& aSize  ) const
       
    84     {
       
    85     TRACER("TGlxMulBindingSetFactory::AddThumbnailBindingL");
       
    86     iBindingSet->AddBindingL( CGlxThumbnailBinding::NewL( aMulTag, aSize ) );
       
    87     }
       
    88 /**
       
    89  * AddFullScreenThumbnailBindingL
       
    90   */     
       
    91 EXPORT_C void TGlxMulBindingSetFactory::AddFullScreenThumbnailBindingL(const Alf::mulvisualitem::TVisualAttribute& aMulTag /*const char* const aMulTag*/)const
       
    92     {
       
    93     TRACER("TGlxMulBindingSetFactory::AddFullScreenThumbnailBindingL"); 
       
    94      iBindingSet->AddBindingL( CGlxFullScreenThumbnailBinding::NewL( aMulTag ) );
       
    95     }
       
    96 /**
       
    97  * AddIconBindingL
       
    98  */    
       
    99 EXPORT_C void TGlxMulBindingSetFactory::AddIconBindingL( const Alf::mulvisualitem::TVisualAttribute& aMulTag /*const char* const aMulTag*/, 
       
   100     const CGlxMulIconProvider* aMulIcon, const TSize& aSize ) const
       
   101     {
       
   102     TRACER("TGlxMulBindingSetFactory::AddIconBindingL");
       
   103     iBindingSet->AddBindingL( CGlxIconBinding::NewL( aMulTag, aMulIcon, aSize ) );
       
   104     }
       
   105 /**
       
   106  * AddContainerListBindingL
       
   107   */    
       
   108 EXPORT_C void TGlxMulBindingSetFactory::AddContainerListBindingL( const Alf::mulvisualitem::TVisualAttribute& aMulTag /*const char* const aMulTag*/, 
       
   109         const CMPXCollectionPath& aPath ) const
       
   110     {
       
   111      TRACER("TGlxMulBindingSetFactory::AddContainerListBindingL");
       
   112     iBindingSet->AddBindingL( CGlxContainerListBinding::NewL( aMulTag, aPath ) );
       
   113     }
       
   114 
       
   115 /**
       
   116  * AddCommandBindingL
       
   117  */    
       
   118 EXPORT_C void TGlxMulBindingSetFactory::AddCommandBindingL( MGlxBoundCommand* aCommand ) const
       
   119     {
       
   120     TRACER("TGlxMulBindingSetFactory::AddCommandBindingL");
       
   121 	iBindingSet->AddBindingL( CGlxCommandBinding::NewL( aCommand ) );
       
   122     }
       
   123 
       
   124 /**
       
   125  * AddTemplateBindingL
       
   126  */    
       
   127 EXPORT_C void TGlxMulBindingSetFactory::AddTemplateBindingL(
       
   128     Alf::mulwidget::TLogicalTemplate aTemplate, 
       
   129 	Alf::mulwidget::TLogicalTemplate aTemplateWhenFocused) const
       
   130     {
       
   131     TRACER("TGlxMulBindingSetFactory::AddTemplateBindingL");
       
   132     iBindingSet->AddBindingL( CGlxTemplateBinding::NewL( aTemplate, aTemplateWhenFocused ) );
       
   133     }
       
   134 
       
   135  /**
       
   136  * AddPreviewThumbnailBindingL
       
   137  */   
       
   138 EXPORT_C void TGlxMulBindingSetFactory::AddPreviewThumbnailBindingL() const
       
   139     {
       
   140     TRACER("TGlxMulBindingSetFactory::AddPreviewThumbnailBindingL");
       
   141     iBindingSet->AddBindingL( CGlxPreviewThumbnailBinding::NewL() );//@todo
       
   142     }
       
   143