messagingapp/msgutils/unidatamodel/unimmsdataplugin/src/UniSmilSlide.cpp
changeset 25 84d9eb65b26f
parent 23 238255e8b033
child 27 e4592d119491
child 37 518b245aa84c
child 79 2981cb3aa489
--- a/messagingapp/msgutils/unidatamodel/unimmsdataplugin/src/UniSmilSlide.cpp	Fri Apr 16 14:56:15 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,319 +0,0 @@
-/*
-* 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 "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: 
-*       Provides MMS SMIL Slide methods.
-*
-*
-*/
-
-
-// ========== INCLUDE FILES ================================
-
-#include <e32def.h>
-#include <eikenv.h>
-#include <msvids.h>
-#include <msvstd.h>
-
-#include <MsgMedia.hrh>
-#include <MsgMediaInfo.h>
-
-#include "UniModelConst.h"
-#include "UniObject.h"    
-#include "UniSmilSlide.h"
-
-// ========== LOCAL CONSTANTS AND MACROS ===================
-
-const TUint KMaxObjectPerSlide( 3 );
-
-// ========== MEMBER FUNCTIONS =============================
-
-CUniSmilSlide* CUniSmilSlide::NewLC( TUniLayout aLayout )
-    {
-    CUniSmilSlide* self = new ( ELeave ) CUniSmilSlide( aLayout );
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CUniSmilSlide::NewL
-//
-// Factory method.
-// ---------------------------------------------------------
-//
-CUniSmilSlide* CUniSmilSlide::NewL( TUniLayout aLayout )
-    {
-    CUniSmilSlide* self = NewLC( aLayout );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------
-// CUniSmilSlide::CUniSmilSlide
-//
-// Constructor.
-// ---------------------------------------------------------
-//
-CUniSmilSlide::CUniSmilSlide( TUniLayout aLayout ) :
-    iLayout( aLayout )
-    {
-    }
-
-// ---------------------------------------------------------
-// CUniSmilSlide::CUniSmilSlide
-//
-// Destructor.
-// ---------------------------------------------------------
-//
- CUniSmilSlide::~CUniSmilSlide()
-    {
-    //Objects not owned by slide!!
-    //->ResetAndDestroy() not called.
-    delete iObjectArray;
-    }
-
-
-// ---------------------------------------------------------
-// CUniSmilSlide::AddObjectL
-//
-// Object should be valid for addition at this point ie 
-// should be checked that it can be added to slide.
-// Takes ownership of the aObject.
-// ---------------------------------------------------------
-//  
-void CUniSmilSlide::AddObjectL( CUniObject* aObject )
-    {
-    TUniRegion region = EUniRegionUnresolved;
-    switch ( aObject->MediaType() )
-        {
-        case EMsgMediaText:
-        case EMsgMediaXhtml:
-            {
-            region = EUniRegionText;
-            }
-            break;
-        case EMsgMediaAudio:
-            {
-            region = EUniRegionAudio;
-            }
-            break;
-#ifdef RD_SVGT_IN_MESSAGING
-        case EMsgMediaSvg:
-#endif
-        case EMsgMediaImage:
-        case EMsgMediaVideo:
-            {
-            region = EUniRegionImage;
-            }
-            break;
-        default:
-            {
-            User::Leave( KErrNotSupported );
-            }
-        }
-    AddObjectL( aObject, region );
-    }
-
-
-// ---------------------------------------------------------
-// CUniSmilSlide::AddObjectL
-//
-// Object should be valid for addition at this point ie 
-// should be checked that it can be added to slide.
-// Takes ownership of the aObject.
-// ---------------------------------------------------------
-//  
-void CUniSmilSlide::AddObjectL( CUniObject* aObject, TUniRegion aRegion )
-    {
-    for ( TInt i = 0; i < iObjectArray->Count(); i++)
-        {
-        if ( iObjectArray->At( i )->Region() == aRegion )
-            {
-            User::Leave( KErrAlreadyExists );
-            }
-        }
-    aObject->SetReferenceCount( aObject->ReferenceCount() + 1 );
-    aObject->SetRegion( aRegion );
-    if ( aRegion == EUniRegionAudio )
-        {
-        //always put audio region last...
-        iObjectArray->AppendL( aObject );
-        }
-    else
-        {
-        //...and other regions first...
-        iObjectArray->InsertL( 0, aObject );
-        //...and update layout when needed
-        UpdateLayoutL(); // does not leave, really.
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CUniSmilSlide::RemoveObject
-//
-// 
-// ---------------------------------------------------------
-//
-void CUniSmilSlide::RemoveObject( CUniObject* aObject )
-    {
-    TInt index( -1 );  // Initialize to impossible index.
-
-    for ( TInt i = 0; i < iObjectArray->Count(); i++ )
-        {
-        if ( iObjectArray->At( i ) == aObject )
-            {
-            index = i;
-            }
-        }
-    if ( index != -1 )
-        {
-        // Found
-        iObjectArray->Delete( index );
-        aObject->SetReferenceCount( aObject->ReferenceCount() - 1 );
-        }
-    }
-
-// ---------------------------------------------------------
-// CUniSmilSlide::GetObject
-//
-// Accessor. 
-// ---------------------------------------------------------
-//
-CUniObject* CUniSmilSlide::GetObject( TUniRegion aRegion ) const 
-    {
-    TInt cnt = iObjectArray->Count();
-
-    for ( TInt i = 0; i < cnt; i++ )
-        {
-        if ( iObjectArray->At( i )->Region() == aRegion )
-            {
-            return iObjectArray->At( i );
-            }
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------
-// CUniSmilSlide::GetObject
-//
-// Accessor. 
-// ---------------------------------------------------------
-//
-CUniObject* CUniSmilSlide::GetObjectByIndex( TInt aObjNum ) const 
-    {
-    if ( aObjNum >= 0 &&
-        aObjNum < iObjectArray->Count() )
-        {
-        return iObjectArray->At( aObjNum );
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------
-// CUniSmilSlide::IsObject
-//
-//  
-// ---------------------------------------------------------
-//
-TBool CUniSmilSlide::IsObject( CUniObject* aObject ) const
-    {
-    TInt cnt = iObjectArray->Count();
-
-    for ( TInt i = 0; i < cnt; i++ )
-        {
-        if ( iObjectArray->At( i ) == aObject )
-            {
-            return ETrue;
-            }
-        }
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// CUniSmilSlide::ObjectCount
-//
-// Accessor
-// ---------------------------------------------------------
-//
-TInt CUniSmilSlide::ObjectCount() const
-    {
-    return iObjectArray->Count();
-    }
-
-
-// ---------------------------------------------------------
-// CUniSmilSlide::UpdateLayoutL
-//
-// 
-// ---------------------------------------------------------
-// 
-void CUniSmilSlide::UpdateLayoutL( TUniLayout aNewLayout )
-    {
-    // Only need to do something if slide has text & image.
-    // If only other or neither -> do nothing.
-    iLayout = aNewLayout;
-    UpdateLayoutL();
-    }
-
-// ---------------------------------------------------------
-// CUniSmilSlide::UpdateLayoutL
-//
-// 
-// ---------------------------------------------------------
-// 
-void CUniSmilSlide::UpdateLayoutL()
-    {
-    if ( iLayout == EUniImageFirst ||
-        iLayout == EUniTextFirst )
-        {
-        CUniObject* image = GetObject( EUniRegionImage );
-        CUniObject* text = GetObject( EUniRegionText );
-        if ( image && text )
-            {
-            TInt imageRef = image->ReferenceCount();
-            TInt textRef = text->ReferenceCount();
-            RemoveObject( image );
-            RemoveObject( text );
-            if ( iLayout == EUniImageFirst )
-                {
-                iObjectArray->InsertL( 0, text );
-                iObjectArray->InsertL( 0, image );
-                }
-            else
-                {
-                iObjectArray->InsertL( 0, image );
-                iObjectArray->InsertL( 0, text );
-                }
-            image->SetReferenceCount( imageRef );
-            text->SetReferenceCount( textRef );
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CUniSmilSlide::ConstructL
-//
-// 2nd phase Constructor.
-// ---------------------------------------------------------
-//
-void CUniSmilSlide::ConstructL()
-    {
-    iObjectArray = new ( ELeave ) CSmilObjectArray( KMaxObjectPerSlide );
-    }
-
-// End of file