--- a/filemanager/View/inc/Cfilemanagerfoldernavigationpane.h Thu Aug 19 09:42:45 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,258 +0,0 @@
-/*
-* Copyright (c) 2002-2006 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: Navigation pane for file manager
-*
-*/
-
-
-
-#ifndef CFILEMANAGERFOLDERNAVIGATIONPANE_H
-#define CFILEMANAGERFOLDERNAVIGATIONPANE_H
-
-// INCLUDES
-#include <coecntrl.h>
-#include <AknUtils.h> // TAknLayoutRect, TAknLayoutText
-#include <aknlongtapdetector.h>
-#include <AknsItemID.h>
-
-// CONSTANTS
-const TInt KFileManagerMaxFolderDepth = 5; // Includes the root
-
-// FORWARD DECLARATIONS
-class CFbsBitmap;
-class MFileManagerFolderNaviObserver;
-
-// CLASS DECLARATION
-
-/**
- * Folder navigation pane for File Manager.
- * Custom navigation pane to show folder depth of the
- * current folder in navigation pane using folder icons.
- *
- * @lib FileManagerView.lib
- * @since S60 2.0
- */
-class CFileManagerFolderNavigationPane :
- public CCoeControl,
- public MAknLongTapDetectorCallBack
- {
- private:
- /**
- * Folder indicator set.
- */
- class TIndicatorSet
- {
- public: // New functions
- /**
- * Compares two indicator sets.
- * @param aFirst First indicator set to compare.
- * @param aSecond The other indicator set to compare.
- * @return ETrue if sets are equal, EFalse otherwise.
- */
- static TBool Compare(
- const TIndicatorSet& aFirst,
- const TIndicatorSet& aSecond );
-
- public: // Data
- /// id
- TInt iId;
- /// Bitmap file name
- TFileName iBmpFile;
- /// Icon bitmap id
- TInt iIconId;
- /// Mask bitmap id
- TInt iMaskId;
- /// Skin ID
- TAknsItemID iAknsItemIdRoot;
-
- };
-
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- * @param aRoot Id of the root indicator
- * @param aDepth Depth of the navigation
- * @param aReader Resource reader for reading navigation pane from
- * resource file.
- * @return Newly created navigation pane.
- */
- IMPORT_C static CFileManagerFolderNavigationPane* NewL(
- const TInt aRoot,
- const TInt aDepth,
- TResourceReader& aReader );
-
- /**
- * Destructor.
- */
- IMPORT_C ~CFileManagerFolderNavigationPane();
-
-
- public: // New functions
-
- /**
- * Specifies how many subfolder icons are displayed.
- * Depth range is 0..n ( 0 = root, 1 = root+subfolder, etc. )
- * Depth over 4 is displayed just as tree dots at the end of navipane.
- * @param aDepth set current depth
- */
- IMPORT_C void SetFolderDepth( const TInt aDepth );
-
- /**
- * Return current folder depth.
- * @return aDepth return current depth
- */
- IMPORT_C TInt FolderDepth() const;
-
- /**
- * Changes the active root
- * @param aRoot Id of the root indicator
- */
- IMPORT_C void ChangeRootL( const TInt aRoot );
-
- /**
- * Handles resource change
- * @param aType Change type
- */
- IMPORT_C void HandleResourceChangeL( TInt aType );
-
- /**
- * Sets navigation observer
- * @param aObserver Pointer to navigation observer
- */
- IMPORT_C void SetObserver(
- MFileManagerFolderNaviObserver* aObserver );
-
- protected: // Functions From CCoeControl
-
- /**
- * @see CCoeControl
- */
- void SizeChanged();
-
- /**
- * @see CCoeControl
- */
- void Draw( const TRect& aRect ) const;
-
- /**
- * @see CCoeControl
- */
- void HandlePointerEventL(
- const TPointerEvent& aPointerEvent );
-
- private: // From MAknLongTapDetectorCallBack
- /**
- * @see MAknLongTapDetectorCallBack
- */
- void HandleLongTapEventL(
- const TPoint& aPenEventLocation,
- const TPoint& aPenEventScreenLocation );
-
- private:
-
- /**
- * C++ default constructor.
- * @param aDepth Depth of the navigation
- */
- CFileManagerFolderNavigationPane(
- const TInt aRoot, const TInt aDepth );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- * @param aRoot Id of the root indicator
- * @param aReader Resource reader for reading navigation pane from
- * resource file.
- */
- void ConstructL( TResourceReader& aReader );
-
- private: // New functions
- /**
- * Notifies CCoeControl to redraw the pane
- */
- void ReportChange();
-
- /**
- * Loads folder bitmaps
- */
- void LoadFolderBitmapL();
-
- /**
- * Checks does position map to drawn navigation level icon
- */
- TInt CheckHitFolderLevel( const TPoint& aPos );
-
- private: // Data
-
- // 0 = phone, 1 = MMC
- TInt iRoot;
-
- /// Own: Bitmap for subfolders
- CFbsBitmap* iFolderBitmap;
-
- /// Own: Bitmap mask for subfolders
- CFbsBitmap* iFolderMask;
-
- /// Own: Name of the bitmap file for folder icon and mask
- HBufC* iBmpFile;
-
- /// Id for folder icon bitmap
- TInt iFolderIconId;
-
- /// Id for folder icon mask
- TInt iFolderMaskId;
-
- /// Own: Separator character for folders
- HBufC* iSeparator;
-
- /// Own: The end character append to the indicator after iMaxDepth is reached
- HBufC* iEndChar;
-
- /// Id for folder skin
- TAknsItemID iAknsItemIdFolder;
-
- /// Maximum folder depth displayed in indicator
- TInt iMaxDepth;
-
- /// Own: Bitmap for rootfolder
- CFbsBitmap* iRootBitmap;
-
- /// Own: Bitmap mask for rootfolder
- CFbsBitmap* iRootMask;
-
- /// Rectangles where bitmaps are drawn ( 0 = rootbitmap, 1..max = defaultbitmaps )
- TFixedArray<TAknLayoutRect, KFileManagerMaxFolderDepth> iBitmapLayout;
-
- /// Rectangles where slashs are drawn ( 0..max = \, max + 1 = ... )
- TFixedArray<TAknLayoutText, KFileManagerMaxFolderDepth + 1> iTextLayout;
-
- /// Folder depth
- TInt iDepth;
-
- /// Array to store folder indicators
- RArray<TIndicatorSet> iIndicatorArray;
-
- /// Ref: Pointer to navigation observer
- MFileManagerFolderNaviObserver* iObserver;
-
- /// Own: For long tap detecting
- CAknLongTapDetector* iLongTapDetector;
-
- /// For long tap handling
- TBool iLongTap;
- };
-
-#endif // CMGNAVIPANEOLDERINDICATOR_H
-
-// End of File
\ No newline at end of file