diff -r 000000000000 -r 6a9f87576119 filemanager/View/inc/CFileManagerIconArray.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/filemanager/View/inc/CFileManagerIconArray.h Mon Jan 18 20:09:41 2010 +0200 @@ -0,0 +1,115 @@ +/* +* Copyright (c) 2002-2008 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: All the files and folders icons are stored here +* +*/ + + + +#ifndef CFILEMANAGERICONARRAY_H +#define CFILEMANAGERICONARRAY_H + +// INCLUDES +#include + +// FORWARD DECLARATIONS +class CGulIcon; + +// CLASS DECLARATION +/** + * Array of icons. + * Is an array of icons that is read from resource file. + * + * @lib FileManagerView.lib + * @since S60 2.0 + */ +class CFileManagerIconArray : public CArrayPtrFlat< CGulIcon > + { + public: // Constructors and destructor + /** + * Two-phased constructor. + * @return a new icon array. + */ + IMPORT_C static CFileManagerIconArray* NewL(); + + /** + * Destructor. + */ + IMPORT_C ~CFileManagerIconArray(); + + /** + * Updates icons. + */ + IMPORT_C void UpdateIconsL(); + + /** + * Finds array index of the icon + * @param aIconId Icon id + * @return Array index of the icon or KErrNotFound + */ + IMPORT_C TInt FindIcon( TInt aIconId ); + + /** + * Loads icon from icon file + * @param aIconFile Full path of the icon file + * @param aIconId Icon id + * @param aMaskId Mask id + * @param aMajorSkin Major skin id + * @param aMinorSkin Minor skin id + * @param aIsColorIcon True if color icon + * @return Pointer to new icon and the ownership is transferred. + */ + IMPORT_C static CGulIcon* LoadIconL( + const TDesC& aIconFile, + TInt aIconId, + TInt aMaskId, + TInt aMajorSkin, + TInt aMinorSkin, + TBool aIsColorIcon ); + + private: + NONSHARABLE_CLASS(TIconInfo) + { + public: + HBufC* iFile; + TInt iId; + TInt iIconId; + TInt iMaskId; + TInt iMajorSkinId; + TInt iMinorSkinId; + TInt iIconType; + TInt iIndex; + }; + /** + * C++ default constructor. + */ + CFileManagerIconArray(); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + void LoadIconL( TIconInfo& aInfo ); + + void LoadMandatoryIconsL(); + + private: // Data + RArray< TIconInfo > iIconInfo; + + }; + +#endif // CFILEMANAGERICONARRAY_H + +// End of File