calendarui/views/src/calendaylistboxitemdrawer.cpp
branchRCL_3
changeset 23 51372538e3d3
parent 20 9c5b1510919f
child 28 96907930389d
equal deleted inserted replaced
22:07e82e2b738b 23:51372538e3d3
   122     if(FormattedCellData()->RespectFocus() && !aViewIsEmphasized)
   122     if(FormattedCellData()->RespectFocus() && !aViewIsEmphasized)
   123         highlightShown = EFalse;
   123         highlightShown = EFalse;
   124 
   124 
   125     FormattedCellData()->Draw(Properties(aItemIndex), *iGc, &target, 
   125     FormattedCellData()->Draw(Properties(aItemIndex), *iGc, &target, 
   126                               aItemTextRect, aItemIsCurrent&&highlightShown, 
   126                               aItemTextRect, aItemIsCurrent&&highlightShown, 
   127                               colors);
   127                               colors);   
   128     
   128   
   129     
   129     TInt variantIndex = static_cast<CCalenDayListBox*>(iListBox)->iDayContainer->LayoutVariantIndex(CCalenDayContainer::EListScrollCaleDayPane);
   130     
   130     // get the listbox rect.
   131     if(CHECK_IF_FIRSTLINE(aItemIndex))
   131     TRect listBoxRect = iListBox->View()->ViewRect();
   132         {
   132     TAknWindowComponentLayout tempLayout = AknLayoutScalable_Apps::list_cale_time_pane_g6(variantIndex);
   133         CCalenDayContainer::SItemInfo& itemInfo = 
       
   134                            static_cast<CCalenDayListBox*>(iListBox)->iDayContainer->FindItem(aItemIndex);
       
   135         iColor = itemInfo.iColor;
       
   136         }
       
   137     
       
   138 
       
   139     TAknWindowComponentLayout tempLayout =
       
   140                     AknLayoutScalable_Apps::list_cale_time_pane_g6(
       
   141                             aItemIndex - static_cast<CCalenDayListBox*> (iListBox)->TopItemIndex());
       
   142 
   133 
   143     TAknLayoutRect colourstrips;
   134     TAknLayoutRect colourstrips;
   144     colourstrips.LayoutRect( aItemTextRect, tempLayout.LayoutLine() );
   135     colourstrips.LayoutRect( aItemTextRect, tempLayout.LayoutLine() );    
   145     TRect finalRect(colourstrips.Rect());
   136     if(CHECK_IF_FIRSTLINE(aItemIndex))
   146     finalRect.SetHeight(aItemTextRect.Height());
   137        {
   147     iGc->DrawRect( colourstrips.Rect() );
   138 	     iColorStripHeight = 0;
       
   139        iColorStripRect.SetRect(colourstrips.Rect().iTl,colourstrips.Rect().iBr);
       
   140        }
       
   141     // get itemInfo for each line to set the color
       
   142     CCalenDayContainer::SItemInfo& itemInfo = 
       
   143                              static_cast<CCalenDayListBox*>(iListBox)->iDayContainer->FindItem(aItemIndex);
       
   144     iColor = itemInfo.iColor;    
       
   145 
       
   146     if (aItemTextRect.iBr.iY > listBoxRect.iBr.iY)
       
   147         {
       
   148         iColorStripRect.SetRect(iColorStripRect.iTl.iX, iColorStripRect.iTl.iY,
       
   149             iColorStripRect.iBr.iX, listBoxRect.iBr.iY);
       
   150         }
       
   151     else if (aItemTextRect.iTl.iY < listBoxRect.iTl.iY)
       
   152         {
       
   153         iColorStripRect.SetRect(colourstrips.Rect().iTl.iX, listBoxRect.iTl.iY,
       
   154                 colourstrips.Rect().iBr.iX, colourstrips.Rect().iBr.iY);
       
   155         iColorStripHeight += iColorStripRect.Height();
       
   156         iColorStripRect.SetHeight(iColorStripHeight);
       
   157         }         
       
   158     else
       
   159         {
       
   160         iColorStripHeight += aItemTextRect.Height();   
       
   161         iColorStripRect.SetHeight(iColorStripHeight);
       
   162         }   
       
   163         
   148     iGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
   164     iGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
   149     iGc->SetBrushColor( TRgb(iColor) );
   165     iGc->SetBrushColor( TRgb(iColor) );
   150     iGc->DrawRect( finalRect );
   166     iGc->DrawRect( iColorStripRect );
   151     
   167     
   152     iGc->Reset();
   168     iGc->Reset();
   153     
   169     
   154     TRACE_EXIT_POINT;
   170     TRACE_EXIT_POINT;
   155     }
   171     }