emailuis/uicomponents/src/fstreevisualizerbase.cpp
branchRCL_3
changeset 73 c8382f7b54ef
parent 70 968773a0b6ef
child 80 726fba06891a
equal deleted inserted replaced
70:968773a0b6ef 73:c8382f7b54ef
    22 #include <StringLoader.h>
    22 #include <StringLoader.h>
    23 #include <avkon.rsg> // R_AVKON_EMPTY_POPUP_LIST_TEXT
    23 #include <avkon.rsg> // R_AVKON_EMPTY_POPUP_LIST_TEXT
    24 #include <centralrepository.h>
    24 #include <centralrepository.h>
    25 
    25 
    26 //////TOOLKIT INCLUDES
    26 //////TOOLKIT INCLUDES
    27 // <cmail> SF
       
    28 #include <alf/alfstatic.h>
    27 #include <alf/alfstatic.h>
    29 #include <alf/alfownership.h>
    28 #include <alf/alfownership.h>
    30 #include <alf/alfevent.h>
    29 #include <alf/alfevent.h>
    31 #include <alf/alfimage.h>
    30 #include <alf/alfimage.h>
    32 #include <alf/alfenv.h>
    31 #include <alf/alfenv.h>
    48 #include <alf/alfmetric.h>
    47 #include <alf/alfmetric.h>
    49 #include <alf/alftimedvalue.h>
    48 #include <alf/alftimedvalue.h>
    50 //visuals
    49 //visuals
    51 #include <alf/alfvisual.h>
    50 #include <alf/alfvisual.h>
    52 #include <alf/alfimagevisual.h>
    51 #include <alf/alfimagevisual.h>
    53 // </cmail>
       
    54 
    52 
    55 
    53 
    56 //////PROJECT INCLUDES
    54 //////PROJECT INCLUDES
    57 #include "fstreevisualizerbase.h"
    55 #include "fstreevisualizerbase.h"
    58 #include "fstreeplainrootvisualizer.h"
    56 #include "fstreeplainrootvisualizer.h"
  1062 
  1060 
  1063 // ---------------------------------------------------------------------------
  1061 // ---------------------------------------------------------------------------
  1064 //  Sets icon for a mark sign.
  1062 //  Sets icon for a mark sign.
  1065 // ---------------------------------------------------------------------------
  1063 // ---------------------------------------------------------------------------
  1066 //
  1064 //
  1067 void CFsTreeVisualizerBase::SetMarkIcon(CAlfTexture& aMarkIcon)
  1065 void CFsTreeVisualizerBase::SetMarkOnIcon(CAlfTexture& aMarkOnIcon)
  1068     {
  1066     {
  1069     FUNC_LOG;
  1067     FUNC_LOG;
  1070     iMarkIcon = &aMarkIcon;
  1068     iMarkOnIcon = &aMarkOnIcon;
       
  1069     }
       
  1070 
       
  1071 // ---------------------------------------------------------------------------
       
  1072 //  Sets icon for a unmark sign.
       
  1073 // ---------------------------------------------------------------------------
       
  1074 //
       
  1075 void CFsTreeVisualizerBase::SetMarkOffIcon(CAlfTexture& aMarkOffIcon)
       
  1076     {
       
  1077     FUNC_LOG;
       
  1078     iMarkOffIcon = &aMarkOffIcon;
  1071     }
  1079     }
  1072 
  1080 
  1073 // ---------------------------------------------------------------------------
  1081 // ---------------------------------------------------------------------------
  1074 //  Returns icon used to mark items.
  1082 //  Returns icon used to mark items.
  1075 // ---------------------------------------------------------------------------
  1083 // ---------------------------------------------------------------------------
  1076 //
  1084 //
  1077 CAlfTexture* CFsTreeVisualizerBase::MarkIcon()
  1085 CAlfTexture* CFsTreeVisualizerBase::MarkOnIcon()
  1078     {
  1086     {
  1079     FUNC_LOG;
  1087     FUNC_LOG;
  1080     return iMarkIcon;
  1088     return iMarkOnIcon;
       
  1089     }
       
  1090 
       
  1091 // ---------------------------------------------------------------------------
       
  1092 //  Returns icon used to unmark items.
       
  1093 // ---------------------------------------------------------------------------
       
  1094 //
       
  1095 CAlfTexture* CFsTreeVisualizerBase::MarkOffIcon()
       
  1096     {
       
  1097     FUNC_LOG;
       
  1098     return iMarkOffIcon;
  1081     }
  1099     }
  1082 
  1100 
  1083 // ---------------------------------------------------------------------------
  1101 // ---------------------------------------------------------------------------
  1084 //
  1102 //
  1085 // ---------------------------------------------------------------------------
  1103 // ---------------------------------------------------------------------------
  1107         {
  1125         {
  1108         MFsTreeItemData* data = NULL;
  1126         MFsTreeItemData* data = NULL;
  1109         data = &(iTreeData->ItemData(aItemId));
  1127         data = &(iTreeData->ItemData(aItemId));
  1110 
  1128 
  1111         vis->UpdateL(*data, IsItemFocused(aItemId) && IsFocusShown(),
  1129         vis->UpdateL(*data, IsItemFocused(aItemId) && IsFocusShown(),
  1112                 iTreeData->Level(aItemId), iMarkIcon, iMenuIcon);
  1130                 iTreeData->Level(aItemId), iMarkOnIcon, iMarkOffIcon, iMenuIcon);
  1113         }
  1131         }
  1114     }
  1132     }
  1115 
  1133 
  1116 // ---------------------------------------------------------------------------
  1134 // ---------------------------------------------------------------------------
  1117 //
  1135 //
  1267                             MFsTreeItemData* data = &iTreeData->ItemData(
  1285                             MFsTreeItemData* data = &iTreeData->ItemData(
  1268                                     iFocusedItem);
  1286                                     iFocusedItem);
  1269                             MakeSelectorVisibleL(EFalse);
  1287                             MakeSelectorVisibleL(EFalse);
  1270                             visualizer->UpdateL(*data, EFalse,
  1288                             visualizer->UpdateL(*data, EFalse,
  1271                                     iTreeData->Level(iFocusedItem),
  1289                                     iTreeData->Level(iFocusedItem),
  1272                                     iMarkIcon, iMenuIcon, iCurrentScrollSpeed);
  1290                                     iMarkOnIcon, iMarkOffIcon, 
       
  1291                                     iMenuIcon, iCurrentScrollSpeed);
  1273                             }
  1292                             }
  1274                         }
  1293                         }
  1275                     }
  1294                     }
  1276                 }
  1295                 }
  1277             iListLayout->UpdateChildrenLayout();
  1296             iListLayout->UpdateChildrenLayout();
       
  1297             }
       
  1298         }
       
  1299     }
       
  1300 
       
  1301 // ---------------------------------------------------------------------------
       
  1302 //  The functions sets wether all item in the list should be always in
       
  1303 //  extended state or in normal state.
       
  1304 // ---------------------------------------------------------------------------
       
  1305 //
       
  1306 void CFsTreeVisualizerBase::SetMarkingModeL( TBool aMarkingMode )
       
  1307     {
       
  1308     FUNC_LOG;
       
  1309     // Do not change this to: IsMarkingMode() != aAlwaysExtended, because
       
  1310     // it will not work. TBool is defined as TInt and thus this comparison
       
  1311     // comes out as TInt != TInt, which always evaluates true in this case.
       
  1312     if ( ( IsMarkingMode() && !aMarkingMode ) || 
       
  1313          ( !IsMarkingMode() && aMarkingMode ) )
       
  1314         {
       
  1315         iFlags.Assign(EMarkingMode, aMarkingMode);
       
  1316         TFsTreeIterator treeIter(
       
  1317                 iTreeData->Iterator(KFsTreeRootID, KFsTreeRootID));
       
  1318         while (treeIter.HasNext())
       
  1319             {
       
  1320             TFsTreeItemId itemId(treeIter.Next());
       
  1321             if (itemId != KFsTreeNoneID && !iTreeData->IsNode(itemId))
       
  1322                 {
       
  1323                 MFsTreeItemVisualizer* itemviz(iTreeData->ItemVisualizer(itemId));
       
  1324                 ApplyListSpecificValuesToItem(itemviz);
       
  1325                 }
       
  1326             }
       
  1327             const TBool isUpdating(iWorld.IsUpdating());
       
  1328         if (!isUpdating)
       
  1329             {
       
  1330             iWorld.BeginUpdate();
       
  1331             }
       
  1332         iWorld.RemoveAllL();
       
  1333         treeIter = iTreeData->Iterator(KFsTreeRootID, KFsTreeRootID,
       
  1334                 KFsTreeIteratorSkipCollapsedFlag);
       
  1335         while (treeIter.HasNext())
       
  1336             {
       
  1337             TFsTreeItemId itemId(treeIter.Next());
       
  1338             if (itemId != KFsTreeNoneID)
       
  1339                 {
       
  1340                 MFsTreeItemVisualizer* itemviz(iTreeData->ItemVisualizer(itemId));
       
  1341                 iWorld.AppendL(itemId, itemviz->Size());
       
  1342                 }
       
  1343             }
       
  1344         iViewPort.ClearCache();
       
  1345         if (!isUpdating)
       
  1346             {
       
  1347             iWorld.EndUpdateL();
  1278             }
  1348             }
  1279         }
  1349         }
  1280     }
  1350     }
  1281 
  1351 
  1282 // ---------------------------------------------------------------------------
  1352 // ---------------------------------------------------------------------------
  1708         visualizer = iTreeData->ItemVisualizer( iFocusedItem );
  1778         visualizer = iTreeData->ItemVisualizer( iFocusedItem );
  1709 
  1779 
  1710         if ( visualizer )
  1780         if ( visualizer )
  1711             {
  1781             {
  1712             visualizer->UpdateL( iTreeData->ItemData( iFocusedItem ), EFalse,
  1782             visualizer->UpdateL( iTreeData->ItemData( iFocusedItem ), EFalse,
  1713             		iTreeData->Level( iFocusedItem ), iMarkIcon, iMenuIcon, 0 );
  1783             		iTreeData->Level( iFocusedItem ), iMarkOnIcon, iMarkOffIcon, iMenuIcon, 0 );
  1714             }
  1784             }
  1715 
  1785 
  1716         iFocusedItem = aItemId;
  1786         iFocusedItem = aItemId;
  1717         }
  1787         }
  1718 
  1788 
  1719     visualizer = iTreeData->ItemVisualizer( iFocusedItem );
  1789     visualizer = iTreeData->ItemVisualizer( iFocusedItem );
  1720 
  1790 
  1721     if ( visualizer )
  1791     if ( visualizer )
  1722         {
  1792         {
  1723         visualizer->UpdateL( iTreeData->ItemData( iFocusedItem ), IsFocusShown(),
  1793         visualizer->UpdateL( iTreeData->ItemData( iFocusedItem ), IsFocusShown(),
  1724                 iTreeData->Level( iFocusedItem ), iMarkIcon, iMenuIcon, 0 );
  1794                              iTreeData->Level( iFocusedItem ), iMarkOnIcon, 
       
  1795                              iMarkOffIcon, iMenuIcon, 0 );
  1725         }
  1796         }
  1726 
  1797 
  1727     if ( iFocusedItem != KFsTreeNoneID )
  1798     if ( iFocusedItem != KFsTreeNoneID )
  1728         {
  1799         {
  1729         UpdateSelectorVisualL();
  1800         UpdateSelectorVisualL();
  1768 
  1839 
  1769 // ---------------------------------------------------------------------------
  1840 // ---------------------------------------------------------------------------
  1770 // Sets an item as first visible one in the list.
  1841 // Sets an item as first visible one in the list.
  1771 // ---------------------------------------------------------------------------
  1842 // ---------------------------------------------------------------------------
  1772 //
  1843 //
  1773 // <cmail>
       
  1774 void CFsTreeVisualizerBase::SetFirstVisibleItemL(const TFsTreeItemId /*aItemId*/)
  1844 void CFsTreeVisualizerBase::SetFirstVisibleItemL(const TFsTreeItemId /*aItemId*/)
  1775     {
  1845     {
  1776     FUNC_LOG;
  1846     FUNC_LOG;
  1777     }
  1847     }
  1778 
  1848 
  1784     {
  1854     {
  1785     FUNC_LOG;
  1855     FUNC_LOG;
  1786     TFsTreeItemId retId = KFsTreeNoneID;
  1856     TFsTreeItemId retId = KFsTreeNoneID;
  1787     if (iVisibleItems.Count())
  1857     if (iVisibleItems.Count())
  1788         {
  1858         {
  1789         // <cmail>
       
  1790         //        TRAP_IGNORE( ClearVisibleItemsListL(EFalse) );
       
  1791         // </cmail>
       
  1792         retId = iVisibleItems[0];
  1859         retId = iVisibleItems[0];
  1793         }
  1860         }
  1794     else
  1861     else
  1795         {
  1862         {
  1796         retId = KFsTreeNoneID;
  1863         retId = KFsTreeNoneID;
  1820 
  1887 
  1821 // ---------------------------------------------------------------------------
  1888 // ---------------------------------------------------------------------------
  1822 // Displays the list.
  1889 // Displays the list.
  1823 // ---------------------------------------------------------------------------
  1890 // ---------------------------------------------------------------------------
  1824 //
  1891 //
  1825 // <cmail>
       
  1826 void CFsTreeVisualizerBase::ShowListL(const TBool aFadeIn,
  1892 void CFsTreeVisualizerBase::ShowListL(const TBool aFadeIn,
  1827         const TBool aSlideIn)
  1893         const TBool aSlideIn)
  1828     {
  1894     {
  1829     FUNC_LOG;
  1895     FUNC_LOG;
  1830     iVisualizationState = EFsTreeVisible;
  1896     iVisualizationState = EFsTreeVisible;
  1831     if (iTreeData->Count() == 0)
  1897     if (iTreeData->Count() == 0)
  1832         {
  1898         {
  1833         iRootVisualizer->ShowL(*iRootLayout);
  1899         iRootVisualizer->ShowL(*iRootLayout);
  1834         iRootVisualizer->UpdateL(*iRootData, EFalse, 0, iMarkIcon, iMenuIcon);
  1900         iRootVisualizer->UpdateL(*iRootData, EFalse, 0, iMarkOnIcon, 
       
  1901                                   iMarkOffIcon, iMenuIcon);
  1835         }
  1902         }
  1836     else
  1903     else
  1837         {
  1904         {
  1838         const TBool showFocus = IsFocusShown();
  1905         const TBool showFocus = IsFocusShown();
  1839         for (TUint i = 0; i < iVisibleItems.Count(); ++i)
  1906         for (TUint i = 0; i < iVisibleItems.Count(); ++i)
  1844 
  1911 
  1845             TBool itemFocused( showFocus && IsItemFocused(itemId) );
  1912             TBool itemFocused( showFocus && IsItemFocused(itemId) );
  1846 			if ( visualizer )
  1913 			if ( visualizer )
  1847 				{
  1914 				{
  1848 	        	visualizer->UpdateL(iTreeData->ItemData(itemId), itemFocused,
  1915 	        	visualizer->UpdateL(iTreeData->ItemData(itemId), itemFocused,
  1849 	                iTreeData->Level(itemId), iMarkIcon, iMenuIcon,
  1916 	                iTreeData->Level(itemId), iMarkOnIcon, iMarkOffIcon, iMenuIcon,
  1850 	                0);
  1917 	                0);
  1851 				}
  1918 				}
  1852             }
  1919             }
  1853         }
  1920         }
  1854     UpdateViewPortL();
  1921     UpdateViewPortL();
  1921     iFadeEffect->FadeIn();
  1988     iFadeEffect->FadeIn();
  1922     iSlideEffect->SlideIn(slideInDir);
  1989     iSlideEffect->SlideIn(slideInDir);
  1923 
  1990 
  1924     UpdateScrollBarL();
  1991     UpdateScrollBarL();
  1925     }
  1992     }
  1926 // </cmail>
       
  1927 
  1993 
  1928 // ---------------------------------------------------------------------------
  1994 // ---------------------------------------------------------------------------
  1929 // The function assures that the list view is correct.
  1995 // The function assures that the list view is correct.
  1930 // ---------------------------------------------------------------------------
  1996 // ---------------------------------------------------------------------------
  1931 //
  1997 //
  2524         if (vis)
  2590         if (vis)
  2525             {
  2591             {
  2526             vis->UpdateL(iTreeData->ItemData(aItemId),
  2592             vis->UpdateL(iTreeData->ItemData(aItemId),
  2527                     IsItemFocused(aItemId) && IsFocusShown(),
  2593                     IsItemFocused(aItemId) && IsFocusShown(),
  2528                     iTreeData->Level(aItemId),
  2594                     iTreeData->Level(aItemId),
  2529                     iMarkIcon, iMenuIcon, 0);
  2595                     iMarkOnIcon, iMarkOffIcon, iMenuIcon, 0);
  2530             }
  2596             }
  2531         }
  2597         }
  2532     }
  2598     }
  2533 
  2599 
  2534 // ---------------------------------------------------------------------------
  2600 // ---------------------------------------------------------------------------
  2590 //
  2656 //
  2591 TBool CFsTreeVisualizerBase::IsItemsAlwaysExtended()
  2657 TBool CFsTreeVisualizerBase::IsItemsAlwaysExtended()
  2592     {
  2658     {
  2593     FUNC_LOG;
  2659     FUNC_LOG;
  2594     return iFlags.IsSet(EItemsAlwaysExtended);
  2660     return iFlags.IsSet(EItemsAlwaysExtended);
       
  2661     }
       
  2662 
       
  2663 // ---------------------------------------------------------------------------
       
  2664 //  The function returns if marking mode is on or off
       
  2665 // ---------------------------------------------------------------------------
       
  2666 //
       
  2667 TBool CFsTreeVisualizerBase::IsMarkingMode()
       
  2668     {
       
  2669     FUNC_LOG;
       
  2670     return iFlags.IsSet(EMarkingMode);
  2595     }
  2671     }
  2596 
  2672 
  2597 // ---------------------------------------------------------------------------
  2673 // ---------------------------------------------------------------------------
  2598 // Set the background texture, clears the background color.
  2674 // Set the background texture, clears the background color.
  2599 // ---------------------------------------------------------------------------
  2675 // ---------------------------------------------------------------------------
  2728         if (!iWatermark)
  2804         if (!iWatermark)
  2729             {
  2805             {
  2730             iWatermark
  2806             iWatermark
  2731                     = CFsWatermark::NewL(*iOwnerControl, *iWatermarkLayout);
  2807                     = CFsWatermark::NewL(*iOwnerControl, *iWatermarkLayout);
  2732             }
  2808             }
  2733         // <cmail>
       
  2734         iWatermark->SetWatermarkTextureL(*aTexture);
  2809         iWatermark->SetWatermarkTextureL(*aTexture);
  2735         // </cmail>
       
  2736         }
  2810         }
  2737     else
  2811     else
  2738         {
  2812         {
  2739         delete iWatermark;
  2813         delete iWatermark;
  2740         iWatermark = NULL;
  2814         iWatermark = NULL;
  2842                 iPhysics->StopPhysics();
  2916                 iPhysics->StopPhysics();
  2843                 }
  2917                 }
  2844             if (!iWorld.IsUpdating())
  2918             if (!iWorld.IsUpdating())
  2845                 {
  2919                 {
  2846                 iRootVisualizer->ShowL(*iRootLayout);
  2920                 iRootVisualizer->ShowL(*iRootLayout);
  2847                 iRootVisualizer->UpdateL(*iRootData, EFalse, 0, iMarkIcon,
  2921                 iRootVisualizer->UpdateL(*iRootData, EFalse, 0, iMarkOnIcon,
  2848                         iMenuIcon);
  2922                         iMarkOffIcon, iMenuIcon);
  2849                 }
  2923                 }
  2850             iVisibleItems.Reset();
  2924             iVisibleItems.Reset();
  2851             iWorld.RemoveAllL();
  2925             iWorld.RemoveAllL();
  2852             iFocusedItem = KFsTreeNoneID;
  2926             iFocusedItem = KFsTreeNoneID;
  2853             }
  2927             }
  2865                     itemId);
  2939                     itemId);
  2866             if (visualizer)
  2940             if (visualizer)
  2867                 {
  2941                 {
  2868                 visualizer->UpdateL(iTreeData->ItemData(itemId),
  2942                 visualizer->UpdateL(iTreeData->ItemData(itemId),
  2869                         IsItemFocused(itemId), iTreeData->Level(itemId),
  2943                         IsItemFocused(itemId), iTreeData->Level(itemId),
  2870                         iMarkIcon, iMenuIcon, 0);
  2944                         iMarkOnIcon, iMarkOffIcon, iMenuIcon, 0);
  2871                 }
  2945                 }
  2872             }
  2946             }
  2873             break;
  2947             break;
  2874 
  2948 
  2875         default:
  2949         default:
  2925     {
  2999     {
  2926     FUNC_LOG;
  3000     FUNC_LOG;
  2927     if (iTreeData->Count() == 0)
  3001     if (iTreeData->Count() == 0)
  2928         {
  3002         {
  2929         iRootVisualizer->ShowL(*iRootLayout);
  3003         iRootVisualizer->ShowL(*iRootLayout);
  2930         iRootVisualizer->UpdateL(*iRootData, EFalse, 0, iMarkIcon, iMenuIcon);
  3004         iRootVisualizer->UpdateL(*iRootData, EFalse, 0, iMarkOnIcon, 
       
  3005                 iMarkOffIcon, iMenuIcon);
  2931         }
  3006         }
  2932     else
  3007     else
  2933         {
  3008         {
  2934         }
  3009         }
  2935     }
  3010     }
  3261             }
  3336             }
  3262         }
  3337         }
  3263 
  3338 
  3264     if (iVisualizationState == EFsTreeVisible && iVisualizerObserver)
  3339     if (iVisualizationState == EFsTreeVisible && iVisualizerObserver)
  3265         {
  3340         {
  3266             // <cmail> Touch
  3341         TRAP_IGNORE(iVisualizerObserver->TreeVisualizerEventL(
  3267             TRAP_IGNORE(iVisualizerObserver->TreeVisualizerEventL(
       
  3268                             MFsTreeVisualizerObserver::EFsTreeListVisualizerShown,
  3342                             MFsTreeVisualizerObserver::EFsTreeListVisualizerShown,
  3269                             KFsTreeNoneID ));
  3343                             KFsTreeNoneID ));
  3270         // </cmail>
       
  3271         }
  3344         }
  3272 
  3345 
  3273     if (iVisualizationState == EFsTreeHidden && iVisualizerObserver)
  3346     if (iVisualizationState == EFsTreeHidden && iVisualizerObserver)
  3274         {
  3347         {
  3275             // <cmail> Touch
  3348         TRAP_IGNORE(iVisualizerObserver->TreeVisualizerEventL(
  3276             TRAP_IGNORE(iVisualizerObserver->TreeVisualizerEventL(
       
  3277                             MFsTreeVisualizerObserver::EFsTreeListVisualizerHidden,
  3349                             MFsTreeVisualizerObserver::EFsTreeListVisualizerHidden,
  3278                             KFsTreeNoneID ));
  3350                             KFsTreeNoneID ));
  3279         // </cmail>
       
  3280         }
  3351         }
  3281     }
  3352     }
  3282 
  3353 
  3283 // ---------------------------------------------------------------------------
  3354 // ---------------------------------------------------------------------------
  3284 // From MFsSlideEffectObserver
  3355 // From MFsSlideEffectObserver
  3323             }
  3394             }
  3324         }
  3395         }
  3325 
  3396 
  3326     if (iVisualizationState == EFsTreeVisible && iVisualizerObserver)
  3397     if (iVisualizationState == EFsTreeVisible && iVisualizerObserver)
  3327         {
  3398         {
  3328             // <cmail> Touch
  3399         TRAP_IGNORE(iVisualizerObserver->TreeVisualizerEventL(
  3329             TRAP_IGNORE(iVisualizerObserver->TreeVisualizerEventL(
       
  3330                             MFsTreeVisualizerObserver::EFsTreeListVisualizerShown,
  3400                             MFsTreeVisualizerObserver::EFsTreeListVisualizerShown,
  3331                             KFsTreeNoneID ));
  3401                             KFsTreeNoneID ));
  3332 
  3402 
  3333         }
  3403         }
  3334 
  3404 
  3335     if (iVisualizationState == EFsTreeHidden && iVisualizerObserver)
  3405     if (iVisualizationState == EFsTreeHidden && iVisualizerObserver)
  3336         {
  3406         {
  3337             TRAP_IGNORE(iVisualizerObserver->TreeVisualizerEventL(
  3407         TRAP_IGNORE(iVisualizerObserver->TreeVisualizerEventL(
  3338                             MFsTreeVisualizerObserver::EFsTreeListVisualizerHidden,
  3408                             MFsTreeVisualizerObserver::EFsTreeListVisualizerHidden,
  3339                             KFsTreeNoneID ));
  3409                             KFsTreeNoneID ));
  3340         // </cmail>
       
  3341         }
  3410         }
  3342     }
  3411     }
  3343 
  3412 
  3344 // ---------------------------------------------------------------------------
  3413 // ---------------------------------------------------------------------------
  3345 // From MAlfActionObserver
  3414 // From MAlfActionObserver
  3791             MFsTreeItemVisualizer* visualizer = iTreeData->ItemVisualizer(itemId);
  3860             MFsTreeItemVisualizer* visualizer = iTreeData->ItemVisualizer(itemId);
  3792             if (visualizer)
  3861             if (visualizer)
  3793                 {
  3862                 {
  3794                 visualizer->UpdateL(iTreeData->ItemData(itemId),
  3863                 visualizer->UpdateL(iTreeData->ItemData(itemId),
  3795 					IsItemFocused(itemId) && IsFocusShown(),
  3864 					IsItemFocused(itemId) && IsFocusShown(),
  3796                     iTreeData->Level(itemId), iMarkIcon, iMenuIcon, 0, EFalse);
  3865                     iTreeData->Level(itemId), iMarkOnIcon, iMarkOffIcon,
       
  3866                     iMenuIcon, 0, EFalse);
  3797                 }
  3867                 }
  3798             }
  3868             }
  3799         UpdateSelectorVisualL();
  3869         UpdateSelectorVisualL();
  3800         }
  3870         }
  3801 
  3871 
  3861         CAlfImageBrush* border = CAlfImageBrush::NewL(iOwnerControl->Env(),
  3931         CAlfImageBrush* border = CAlfImageBrush::NewL(iOwnerControl->Env(),
  3862                 TAlfImage(*aBorderTexture));
  3932                 TAlfImage(*aBorderTexture));
  3863         border->SetLayer(EAlfBrushLayerBackground);
  3933         border->SetLayer(EAlfBrushLayerBackground);
  3864 
  3934 
  3865         border->SetBorders(-8, -8, -8, -8);
  3935         border->SetBorders(-8, -8, -8, -8);
  3866         //<cmail>
       
  3867         // layout values needed here (not: only used from FS action menu)
       
  3868         //</cmail>
       
  3869         iBorderLayout->SetPadding(TPoint(5, 5));
  3936         iBorderLayout->SetPadding(TPoint(5, 5));
  3870 
  3937 
  3871         if (iBorderLayout->Brushes()->Count() > 0)
  3938         if (iBorderLayout->Brushes()->Count() > 0)
  3872             {
  3939             {
  3873             iBorderLayout->Brushes()->Remove(0);
  3940             iBorderLayout->Brushes()->Remove(0);
  4545         MFsTreeItemVisualizer *aItemVis)
  4612         MFsTreeItemVisualizer *aItemVis)
  4546     {
  4613     {
  4547     FUNC_LOG;
  4614     FUNC_LOG;
  4548     //list can have all items in extended or in a normal state
  4615     //list can have all items in extended or in a normal state
  4549     aItemVis->SetAlwaysExtended(IsItemsAlwaysExtended());
  4616     aItemVis->SetAlwaysExtended(IsItemsAlwaysExtended());
       
  4617     
       
  4618     aItemVis->SetMarkingMode(IsMarkingMode());
  4550 
  4619 
  4551     //global indentation in pixels for a list component
  4620     //global indentation in pixels for a list component
  4552     aItemVis->SetIndentation(iLevelIndentation);
  4621     aItemVis->SetIndentation(iLevelIndentation);
  4553 
  4622 
  4554     //global indentation in pixels for a list component
  4623     //global indentation in pixels for a list component
  4644             isFocused = ETrue;
  4713             isFocused = ETrue;
  4645             }
  4714             }
  4646         }
  4715         }
  4647     return isFocused;
  4716     return isFocused;
  4648     }
  4717     }
  4649 
       
  4650 // <cmail> "Base class modifications for using touch"
       
  4651 
  4718 
  4652 // ---------------------------------------------------------------------------
  4719 // ---------------------------------------------------------------------------
  4653 //  C++ constructor.
  4720 //  C++ constructor.
  4654 // ---------------------------------------------------------------------------
  4721 // ---------------------------------------------------------------------------
  4655 //
  4722 //
  4692     FUNC_LOG;
  4759     FUNC_LOG;
  4693     iFlags.Set( EAutoRefresh );
  4760     iFlags.Set( EAutoRefresh );
  4694     iFlags.Assign( EPopupMode, aPopUpMode );
  4761     iFlags.Assign( EPopupMode, aPopUpMode );
  4695     iFlags.Set( EExpandCollapseOnLongTap );
  4762     iFlags.Set( EExpandCollapseOnLongTap );
  4696     }
  4763     }
  4697 // </cmail>
       
  4698 
  4764 
  4699 // ---------------------------------------------------------------------------
  4765 // ---------------------------------------------------------------------------
  4700 //  Second phase constructor.
  4766 //  Second phase constructor.
  4701 // ---------------------------------------------------------------------------
  4767 // ---------------------------------------------------------------------------
  4702 //
  4768 //
  4951     			{
  5017     			{
  4952     			MFsTreeItemVisualizer* visualizer = iTreeData->ItemVisualizer(
  5018     			MFsTreeItemVisualizer* visualizer = iTreeData->ItemVisualizer(
  4953     											itemId);
  5019     											itemId);
  4954     			visualizer->UpdateL(iTreeData->ItemData(itemId),
  5020     			visualizer->UpdateL(iTreeData->ItemData(itemId),
  4955     							IsItemFocused(itemId) && IsFocusShown(),
  5021     							IsItemFocused(itemId) && IsFocusShown(),
  4956     							iTreeData->Level(itemId), iMarkIcon, iMenuIcon,
  5022     							iTreeData->Level(itemId), iMarkOnIcon, 
  4957     							0);
  5023     							iMarkOffIcon, iMenuIcon, 0);
  4958     			}
  5024     			}
  4959     		}
  5025     		}
  4960     	CleanupStack::PopAndDestroy();
  5026     	CleanupStack::PopAndDestroy();
  4961     	}
  5027     	}
  4962 
  5028 
  5008             TAlfTimedPoint tpItemSize( listInnerWidth, size.iHeight );
  5074             TAlfTimedPoint tpItemSize( listInnerWidth, size.iHeight );
  5009             CAlfLayout& visualizerLayout(visualizer->Layout());
  5075             CAlfLayout& visualizerLayout(visualizer->Layout());
  5010             visualizerLayout.SetSize(tpItemSize);
  5076             visualizerLayout.SetSize(tpItemSize);
  5011         	visualizer->UpdateL(iTreeData->ItemData(itemId),
  5077         	visualizer->UpdateL(iTreeData->ItemData(itemId),
  5012                 IsItemFocused(itemId) && IsFocusShown(),
  5078                 IsItemFocused(itemId) && IsFocusShown(),
  5013                 iTreeData->Level(itemId), iMarkIcon, iMenuIcon,
  5079                 iTreeData->Level(itemId), iMarkOnIcon, iMarkOffIcon, iMenuIcon,
  5014                 0);
  5080                 0);
  5015             visualizerLayout.PropertySetIntegerL(KPropertyItemId(), itemId);
  5081             visualizerLayout.PropertySetIntegerL(KPropertyItemId(), itemId);
  5016             visualizerLayout.Brushes()->AppendL(iBorderBrush,
  5082             visualizerLayout.Brushes()->AppendL(iBorderBrush,
  5017                     EAlfDoesNotHaveOwnership);
  5083                     EAlfDoesNotHaveOwnership);
  5018             CAlfBrush* bgBrush(NULL);
  5084             CAlfBrush* bgBrush(NULL);
  5465 TBool CFsTreeVisualizerBase::IsFocusShown()
  5531 TBool CFsTreeVisualizerBase::IsFocusShown()
  5466     {
  5532     {
  5467     return ( iTouchPressed || iFocusVisible ) && iFlags.IsClear( EListPanning );
  5533     return ( iTouchPressed || iFocusVisible ) && iFlags.IsClear( EListPanning );
  5468     }
  5534     }
  5469 
  5535 
  5470 
       
  5471 // </cmail>