widgetmanager/src/wmlistbox.cpp
changeset 1 5315654608de
parent 0 f72a12da539e
child 2 08c6ee43b396
--- a/widgetmanager/src/wmlistbox.cpp	Thu Dec 17 08:40:49 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,678 +0,0 @@
-/*
-* 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:
-* Implementation of the widget listbox for WidgetManager
-*
-*/
-
-// INCLUDE FILES
-#include <coemain.h>
-#include <StringLoader.h>
-#include <aknstyluspopupmenu.h> 
-#include <AknsDrawUtils.h>
-#include <AknsFrameBackgroundControlContext.h>
-#include <AknsListBoxBackgroundControlContext.h>
-
-#include <widgetmanagerview.rsg>
-#include <widgetmanager.mbg>
-#include "wmcommon.h"
-#include "wmplugin.h"
-#include "wmresourceloader.h"
-#include "wmlistbox.h"
-#include "wmwidgetdata.h"
-
-// CONSTANTS
-const TInt KFrameRoundRadius = 4;
-const TInt KFocusFrameWidth = 2;
-const TInt KLeftMarginBig = 5;
-const TInt KRightMargin = 1;
-const TInt KTopTextMargin = 2;
-const TInt KRightTextMargin = 3;
-const TInt KRightMarginBig = 5;
-const TInt KTopMargin = 1;
-const TInt KTopMarginBig = 5;
-const TInt KBottomMargin = 1;
-const TInt KBottomMarginBig = 5;
-const TInt KLogoWidth = 55;
-const TInt KLogoHeight = 55;
-
-// MEMBER FUNCTIONS
-
-// ---------------------------------------------------------
-// CWmListItemDrawer::NewL
-// ---------------------------------------------------------
-//
-CWmListItemDrawer* CWmListItemDrawer::NewL(
-        CWmPlugin& aWmPlugin,
-        MTextListBoxModel* aTextListBoxModel,  
-        const CFont* aFont,  
-        CFormattedCellListBoxData* aFormattedCellData,
-        CWmListBox* aListBox  )
-    {
-    CWmListItemDrawer* self = new ( ELeave ) CWmListItemDrawer(
-            aWmPlugin,
-            aTextListBoxModel,
-            aFont,
-            aFormattedCellData,
-            aListBox );
-    CleanupStack::PushL(self);   
-    self->ConstructL();
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWmListItemDrawer::CWmListItemDrawer
-// ---------------------------------------------------------
-//
-CWmListItemDrawer::CWmListItemDrawer(
-        CWmPlugin& aWmPlugin,
-        MTextListBoxModel* aTextListBoxModel,  
-        const CFont* aFont,  
-        CFormattedCellListBoxData* aFormattedCellData,
-        CWmListBox* aListBox )
-    : CFormattedCellListBoxItemDrawer( aTextListBoxModel,aFont,aFormattedCellData ),
-    iWmPlugin( aWmPlugin )
-	{    
-    iCellData = aFormattedCellData;
-    iListBox = aListBox;
-    iFont = aFont;
-	}
-
-// ---------------------------------------------------------
-// CWmListItemDrawer::ConstructL
-// ---------------------------------------------------------
-//
-void CWmListItemDrawer::ConstructL()
-    {
-    SetSkinEnabledL( ETrue );
-    
-    AknsUtils::CreateIconL(
-            AknsUtils::SkinInstance(),
-            KAknsIIDQgnMenuHswidget,
-            iDefaultLogoImage,
-            iDefaultLogoImageMask,
-            iWmPlugin.ResourceLoader().IconFilePath(),
-            EMbmWidgetmanagerQgn_menu_hswidget,
-            EMbmWidgetmanagerQgn_menu_hswidget_mask
-            );
-	
-    AknsUtils::CreateIconL(
-            AknsUtils::SkinInstance(),
-            KAknsIIDQgnIndiWmAdd,
-            iAddWidgetBtnImage,
-            iAddWidgetBtnMask,
-            iWmPlugin.ResourceLoader().IconFilePath(),
-            EMbmWidgetmanagerAdd_widget_button,
-            EMbmWidgetmanagerAdd_widget_button_mask
-            );	
-    }
-
-// ---------------------------------------------------------
-// CWmListItemDrawer::~CWmListItemDrawer
-// ---------------------------------------------------------
-//
-CWmListItemDrawer::~CWmListItemDrawer()
-	{
-    iCellData = NULL;
-    iListBox = NULL;
-
-    // dispose icons
-    delete iDefaultLogoImage;
-    delete iDefaultLogoImageMask;
-    delete iAddWidgetBtnImage;
-    delete iAddWidgetBtnMask;
-	}
-
-// ---------------------------------------------------------
-// CWmListItemDrawer::CalculateRectangles
-// ---------------------------------------------------------
-//
-void CWmListItemDrawer::CalculateRectangles( const TSize& aSize )
-    {
-	iCurrentSize = aSize;
-	
-    // LOGO RECT
-    TSize logoSize = iListBox->LogoSize();
-    TInt val = ( aSize.iHeight - KBottomMarginBig * 4 );
-	TSize newSize( val, val );
-    if ( logoSize != newSize ||
-        logoSize.iHeight >= aSize.iHeight )
-        {        
-        logoSize = newSize;
-        }
-    iRelativeLogoRect.SetRect(
-            TPoint( KLeftMarginBig, KTopMarginBig ),
-            TSize( logoSize ) );
-
-    // ADD BUTTON RECT
-    TInt btnWidth = ( aSize.iWidth / 7 );
-    TInt btnHeight = ( aSize.iHeight / 3 );
-    TPoint btnLocation(
-            ( aSize.iWidth - KRightMarginBig - btnWidth ),
-            ( aSize.iHeight / 2  - btnHeight / 2 ) );
-    iRelativeAddButtonRect.SetRect( btnLocation, TSize( btnWidth, btnHeight ) );
-
-    // TEXT RECT
-    iRelativeTitleRect.SetRect(
-            KLeftMarginBig + logoSize.iWidth + KRightMarginBig,
-            KTopMargin,
-            aSize.iWidth - KRightMargin - btnWidth - KRightMargin,
-            aSize.iHeight - KBottomMargin - KBottomMargin );
-
-    // RESIZE BITMAPS
-    AknIconUtils::SetSize( 
-        iDefaultLogoImage, iRelativeLogoRect.Size(), EAspectRatioNotPreserved );
-    AknIconUtils::SetSize( 
-        iDefaultLogoImageMask, iRelativeLogoRect.Size(), EAspectRatioNotPreserved );
-    AknIconUtils::SetSize( 
-        iAddWidgetBtnImage, iRelativeAddButtonRect.Size(), EAspectRatioNotPreserved );
-    AknIconUtils::SetSize( 
-        iAddWidgetBtnMask, iRelativeAddButtonRect.Size(), EAspectRatioNotPreserved );
-    }
-
-// ---------------------------------------------------------
-// CWmListItemDrawer::DrawFrame
-// ---------------------------------------------------------
-//
-void CWmListItemDrawer::DrawFrame( 
-							const TRect& aOutterRect,
-							const TRect& aInnerRect,
-							const TAknsItemID& aID,
-							const TAknsItemID& aCenterID ) const
-	{	
-    CWindowGc& gc = *Gc();
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    AknsDrawUtils::DrawFrame( skin, gc, aOutterRect, aInnerRect, 
-                              aID, aCenterID );
-	}
-
-// ---------------------------------------------------------
-// CWmListItemDrawer::DrawItemRect
-// ---------------------------------------------------------
-//
-void CWmListItemDrawer::DrawItemRect( 
-							const TRect& aActualItemRect ) const
-    {
-	CWindowGc& gc = *Gc();
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();    
-    MAknsControlContext *cc = AknsDrawUtils::ControlContext( iListBox ); 
-    AknsDrawUtils::Background( skin, cc, iListBox, gc, aActualItemRect );
-    }
-	
-// ---------------------------------------------------------
-// CWmListItemDrawer::DrawItem
-// ---------------------------------------------------------
-//
-void CWmListItemDrawer::DrawItem( TInt aItemIndex, TPoint aItemRectPos, 
-                            TBool /*aItemIsSelected*/, TBool /*aItemIsCurrent*/, 
-                            TBool /*aViewIsEmphasized*/, TBool /*aViewIsDimmed*/ ) const
-    {
-    TInt w = ItemWidthInPixels( aItemIndex );
-    TInt h = iListBox->ItemHeight();
-    CWmWidgetData& wData = iListBox->WidgetData( aItemIndex );
-    if ( iCurrentSize != TSize(w,h) )
-        {
-        // re-calculate all rects
-        // note: members are manipulated here, although this method is const!
-        const_cast<CWmListItemDrawer&>(*this).CalculateRectangles( TSize(w,h) );
-        wData.SetLogoSize( iRelativeLogoRect.Size() );
-        }
-            
-    TInt selectedIndex = iListBox->CurrentItemIndex();
-    TBool isInFocus = ( selectedIndex == aItemIndex );
-    TBool listFocused = iListBox->IsFocused();
-    TRect itemRect = TRect( aItemRectPos, TSize( w, h ) );
-    TRect fullRect = TRect( aItemRectPos, 
-            TSize( iListBox->Rect().Width(), h ) );
-    
-	DrawItemRect( fullRect );
-
-    TRect logoRect( iRelativeLogoRect );
-    logoRect.Move( aItemRectPos );
-    TRect addBtnRect( iRelativeAddButtonRect );
-    addBtnRect.Move( aItemRectPos );
-    TRect textRect( iRelativeTitleRect );
-    textRect.Move( aItemRectPos );
-    
-    if ( isInFocus && listFocused )
-        {
-        TRect innerRect( itemRect );
-        const TInt highlightOffset = 5;
-        innerRect.Shrink( highlightOffset, highlightOffset );		
-		DrawFrame( itemRect, innerRect, 
-				iListBox->PressedDown() ? 
-				KAknsIIDQsnFrListPressed : KAknsIIDQsnFrList,
-				KAknsIIDQsnFrListCenter );
-        }
-    
-    // Get graphics context which is used for drawing.
-    CWindowGc& gc = *Gc();
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    
-    // DRAW LOGO
-    CFbsBitmap* bitmap = const_cast<CFbsBitmap*>(wData.LogoImage());
-    CFbsBitmap* mask = const_cast<CFbsBitmap*>(wData.LogoImageMask());
-    if ( !bitmap )
-        {
-        TRect bmpRect( TPoint(0,0), TSize( iDefaultLogoImage->SizeInPixels() ) );
-        gc.BitBltMasked( logoRect.iTl, iDefaultLogoImage, 
-                         bmpRect, iDefaultLogoImageMask, ETrue );        
-        }
-    else
-        {
-        TRect bmpRect( TPoint(0,0), TSize( bitmap->SizeInPixels() ) );        
-        if ( bitmap && mask )
-            {
-            gc.BitBltMasked( logoRect.iTl, bitmap, 
-                                bmpRect, mask, ETrue );            
-            }
-        else
-            {
-            gc.BitBlt( logoRect.iTl, bitmap, bmpRect );
-            }
-        }
-
-    TRgb textColor;
-    TAknsQsnTextColorsIndex index = ( isInFocus && listFocused )? 
-                EAknsCIQsnTextColorsCG10 : EAknsCIQsnTextColorsCG6;
-
-    AknsUtils::GetCachedColor( 
-                    skin, textColor, KAknsIIDQsnTextColors, index );
-
-    // DRAW TEXT
-    gc.UseFont( iFont );
-    gc.SetPenColor( textColor );
-    gc.SetPenSize( TSize(2,2) );
-    
-    gc.DrawText( wData.Name(), textRect, 
-           ( KTopTextMargin + iFont->FontMaxHeight() ), 
-           CGraphicsContext::ELeft, KRightTextMargin );
-
-    if ( wData.HsContentInfo().CanBeAdded() )
-        {
-        // DRAW ADD BUTTON
-        gc.BitBltMasked( addBtnRect.iTl, iAddWidgetBtnImage,
-                        TRect( TPoint(0,0), iAddWidgetBtnImage->SizeInPixels() ),
-                        iAddWidgetBtnMask, ETrue );
-
-        // DRAW BUTTON FOCUS
-        if ( isInFocus && listFocused )
-            {
-            // draw focused frame around button if item is selected
-            gc.SetPenStyle( CGraphicsContext::ESolidPen );
-            gc.SetPenSize( TSize( KFocusFrameWidth, KFocusFrameWidth ) );
-            //Draw the rounded rectangle
-            gc.DrawRoundRect( addBtnRect, TSize( KFrameRoundRadius, KFrameRoundRadius ) );
-            gc.SetBrushStyle( CGraphicsContext::ENullBrush );
-            gc.SetPenStyle( CGraphicsContext::ENullPen );
-            }
-        }
-
-    gc.SetPenSize(TSize(1,1));
-
-    // DRAW DESCRIPTION TEXT
-    HBufC* buf = wData.Description().Alloc();
-    if ( buf )
-        {
-        TPtr bufPtr = buf->Des();
-        bufPtr.Copy( wData.Description() );    
-        TextUtils::ClipToFit( bufPtr, *iFont, textRect.Width() );
-        gc.DrawText( bufPtr, textRect,
-                    ( iFont->HeightInPixels() + textRect.Height()/2 ),
-                    CGraphicsContext::ELeft, KRightTextMargin );    
-        delete buf;
-        }
-
-    gc.DiscardFont();
-    }
-
-// ---------------------------------------------------------
-// CWmListItemDrawer::DefaultLogoImage()
-// ---------------------------------------------------------
-//
-const CFbsBitmap* CWmListItemDrawer::DefaultLogoImage()
-    {
-    return iDefaultLogoImage;
-    }
-
-// ---------------------------------------------------------
-// CWmListItemDrawer::DefaultLogoMask()
-// ---------------------------------------------------------
-//
-const CFbsBitmap* CWmListItemDrawer::DefaultLogoMask()
-    {
-    return iDefaultLogoImageMask;
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::NewL
-// ---------------------------------------------------------
-//
-CWmListBox* CWmListBox::NewL(
-        CWmPlugin& aWmPlugin,
-        const TRect& aRect,
-        const CCoeControl* aParent,
-        TInt aFlags )
-    {
-    CWmListBox* self = new ( ELeave ) CWmListBox( aWmPlugin);
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect, aParent, aFlags );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::CWmListBox
-// ---------------------------------------------------------
-//
-CWmListBox::CWmListBox( CWmPlugin& aWmPlugin ):
-    CAknDouble2LargeStyleListBox(),
-    iWmPlugin( aWmPlugin )
-    {
-    iFindPaneIsVisible = EFalse;
-	iPressedDown = EFalse;
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::~CWmListBox
-// ---------------------------------------------------------
-//
-CWmListBox::~CWmListBox()
-    {
-    iWidgetDatas.ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::ConstructL
-// ---------------------------------------------------------
-//
-void CWmListBox::ConstructL(
-        const TRect& aRect,
-        const CCoeControl* aParent,
-        TInt aFlags )
-    {
-    CEikFormattedCellListBox::ConstructL( aParent, aFlags );
-    SetContainerWindowL( *aParent );    
-
-    // set model point to the widgets array
-    Model()->SetItemTextArray( &iWidgetDatas );
-    Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
-
-    SetRect( aRect );
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::WidgetData
-// ---------------------------------------------------------
-//
-CWmWidgetData* CWmListBox::WidgetData()
-    {
-    TInt index = CurrentListBoxItemIndex();
-    return (index>=0 ? iWidgetDatas[index] : NULL);
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::WidgetData
-// ---------------------------------------------------------
-//
-CWmWidgetData& CWmListBox::WidgetData( TInt aItemIndex )
-    {
-    return *iWidgetDatas[ RealIndex( aItemIndex ) ];
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::AddWidgetDataL
-// ---------------------------------------------------------
-//
-void CWmListBox::AddWidgetDataL( CWmWidgetData* aWidgetData )
-    {
-    aWidgetData->SetObserver( this );
-    aWidgetData->SetLogoSize( LogoSize() );
-    iWidgetDatas.InsertInOrderAllowRepeatsL( aWidgetData,
-            SortOrder(EStoredOrder) );
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::RemoveWidgetData
-// ---------------------------------------------------------
-//
-void CWmListBox::RemoveWidgetData( TInt aItemIndex )
-    {
-    TInt realIndex = RealIndex( aItemIndex );
-    TBool current = ( aItemIndex == CurrentItemIndex() );
-    // remove widget data
-    CWmWidgetData* data = iWidgetDatas[realIndex];
-    iWidgetDatas.Remove( realIndex );
-    delete data;
-
-    // reorganise
-    TRAP_IGNORE(
-        AknListBoxUtils::HandleItemRemovalAndPositionHighlightL(
-            this, realIndex, current ) );
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::RedrawItem
-// ---------------------------------------------------------
-//
-void CWmListBox::RedrawItem( TInt aItemIndex )
-    {
-    View()->DrawItem( aItemIndex );
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::SetSortOrderL
-// ---------------------------------------------------------
-//
-void CWmListBox::SetSortOrderL( TSortOrder aOrder )
-    {
-    // now sort the existing data
-    iWidgetDatas.Sort( SortOrder( aOrder ) );
-    DrawNow();
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::CreateItemDrawerL
-// ---------------------------------------------------------
-//
-void CWmListBox::CreateItemDrawerL()
-    {
-    CFormattedCellListBoxData* cellData = CFormattedCellListBoxData::NewL();
-    CleanupStack::PushL( cellData );
-    iItemDrawer = CWmListItemDrawer::NewL(
-            iWmPlugin,
-            Model(),
-            iEikonEnv->DenseFont(),
-            cellData,
-            this );
-    CleanupStack::Pop(); // cellData
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::HandleLayoutChanged
-// ---------------------------------------------------------
-//
-void CWmListBox::HandleLayoutChanged()
-    {
-	TSize ls = LogoSize();
-    for ( TInt i=0; i<iWidgetDatas.Count(); i++)
-        {
-        iWidgetDatas[i]->ReCreateLogo( ls );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::HandleWidgetDataChanged
-// ---------------------------------------------------------
-//
-void CWmListBox::HandleWidgetDataChanged( CWmWidgetData* aWidgetData )
-    {
-    if ( !iFindPaneIsVisible )
-        {
-        // spontaneous change in the model. Cause table to redraw
-        TInt index = iWidgetDatas.Find( aWidgetData );
-        if ( index >= 0 )
-            {
-            // redraw item.
-            RedrawItem( RealIndex( index ) );			
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::SortOrder
-// ---------------------------------------------------------
-//
-TLinearOrder<CWmWidgetData> CWmListBox::SortOrder( TSortOrder aOrder )
-    {
-    if ( aOrder == EStoredOrder )
-        {
-        return TLinearOrder<CWmWidgetData>(
-                CWmWidgetData::CompareByPersistentWidgetOrder );
-        }
-    else
-        {
-        return TLinearOrder<CWmWidgetData>(
-                CWmWidgetData::CompareByName );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::CurrentListBoxItemIndex
-// ---------------------------------------------------------
-//
-TInt CWmListBox::CurrentListBoxItemIndex()
-    {
-    TInt index( KErrNotFound );
-    if ( Model()->NumberOfItems() > 0 )
-        {
-        index = CurrentItemIndex();
-        }
-    return RealIndex( index );
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::RealIndex
-// ---------------------------------------------------------
-//
-TInt CWmListBox::RealIndex( TInt aIndex )
-    {
-    TInt realIndex = aIndex;
-    if ( iFindPaneIsVisible && aIndex >= 0 )
-        {
-        realIndex = static_cast<CAknFilteredTextListBoxModel*>(Model())->Filter()
-                ->FilteredItemIndex( aIndex );
-        }
-    return realIndex;    
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::SizeChanged
-// ---------------------------------------------------------
-//
-void CWmListBox::SizeChanged()
-    {
-    CAknsListBoxBackgroundControlContext* context =     
-            static_cast<CAknsListBoxBackgroundControlContext*>(
-                    ItemDrawer()->FormattedCellData()->
-                        SkinBackgroundContext() );
-    if ( context ) context->SetRect( Rect() );
-    CAknDouble2LargeStyleListBox::SizeChanged();
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::Draw
-// ---------------------------------------------------------
-//
-void CWmListBox::Draw( const TRect& aRect ) const
-    {
-    CWindowGc& gc = SystemGc(); 
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance();
-    MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
-    AknsDrawUtils::Background( skin, cc, this, gc, Rect() );
-    CAknDouble2LargeStyleListBox::Draw( aRect );
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::HandlePointerEventL
-// ---------------------------------------------------------
-//
-void CWmListBox::HandlePointerEventL( const TPointerEvent& aPointerEvent )
-    {
-	// Check if pointer is down ( needed for drawing correct hightlight frame )
-	if ( Rect().Contains( aPointerEvent.iPosition ) )
-		{
-		if ( aPointerEvent.iType == TPointerEvent::EButton1Down )
-			{
-			iPressedDown = ETrue;
-			RedrawItem( CurrentListBoxItemIndex() );
-			}
-		else if( aPointerEvent.iType == TPointerEvent::EButton1Up )
-			{
-			iPressedDown = EFalse;
-			RedrawItem( CurrentListBoxItemIndex() );
-			}
-		}
-
-	CAknDouble2LargeStyleListBox::HandlePointerEventL( aPointerEvent );	
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::LogoSize
-// ---------------------------------------------------------
-//
-TSize CWmListBox::LogoSize()
-    {
-    TSize size( KLogoWidth,KLogoHeight );
-    TInt val = ( ItemHeight() - KBottomMarginBig * 4 );
-    if ( val > 0 )
-        {
-        size.SetSize( val, val );     
-        }
-    return size;
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::DefaultLogo
-// ---------------------------------------------------------
-//
-const CFbsBitmap* CWmListBox::DefaultLogo()
-    {
-    CWmListItemDrawer* itemDrawer = 
-                    static_cast <CWmListItemDrawer*>( iItemDrawer );
-    if ( itemDrawer )
-        {
-        return itemDrawer->DefaultLogoImage();
-        }
-    return NULL;
-    }
-
-// ---------------------------------------------------------
-// CWmListBox::DefaultMask
-// ---------------------------------------------------------
-//
-const CFbsBitmap* CWmListBox::DefaultMask()
-    {
-    CWmListItemDrawer* itemDrawer = 
-                    static_cast <CWmListItemDrawer*>( iItemDrawer );
-    if ( itemDrawer )
-        {
-        return itemDrawer->DefaultLogoMask();
-        }
-    return NULL;
-    }
-
-// End of File
-