calendarui/views/src/calendaylistboxitemdrawer.cpp
branchRCL_3
changeset 36 9c5b1510919f
parent 21 9711e452b5e9
child 60 96907930389d
equal deleted inserted replaced
30:d68a4b5d5885 36:9c5b1510919f
   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     
       
   130     
       
   131     if(CHECK_IF_FIRSTLINE(aItemIndex))
       
   132         {
       
   133         CCalenDayContainer::SItemInfo& itemInfo = 
       
   134                            static_cast<CCalenDayListBox*>(iListBox)->iDayContainer->FindItem(aItemIndex);
       
   135         iColor = itemInfo.iColor;
       
   136         }
       
   137     
       
   138 
       
   139     
       
   140     TInt variantIndex = static_cast<CCalenDayListBox*>(iListBox)->iDayContainer->LayoutVariantIndex(CCalenDayContainer::EListScrollCaleDayPane);
   129     TInt variantIndex = static_cast<CCalenDayListBox*>(iListBox)->iDayContainer->LayoutVariantIndex(CCalenDayContainer::EListScrollCaleDayPane);
   141     // get the listbox rect.
   130     // get the listbox rect.
   142     TRect listBoxRect = iListBox->View()->ViewRect();
   131     TRect listBoxRect = iListBox->View()->ViewRect();
   143     TAknWindowComponentLayout tempLayout = AknLayoutScalable_Apps::list_cale_time_pane_g6(variantIndex);
   132     TAknWindowComponentLayout tempLayout = AknLayoutScalable_Apps::list_cale_time_pane_g6(variantIndex);
   144 
   133 
   145     TAknLayoutRect colourstrips;
   134     TAknLayoutRect colourstrips;
   146     colourstrips.LayoutRect( aItemTextRect, tempLayout.LayoutLine() );
   135     colourstrips.LayoutRect( aItemTextRect, tempLayout.LayoutLine() );    
   147     TRect finalRect(colourstrips.Rect());
   136     if(CHECK_IF_FIRSTLINE(aItemIndex))
   148     
   137        {
   149     // check the height of the colored strip , if it is greater than listboxrect or not
   138 	     iColorStripHeight = 0;
   150     // for bottom part.
   139        iColorStripRect.SetRect(colourstrips.Rect().iTl,colourstrips.Rect().iBr);
   151     if( aItemTextRect.iBr.iY > listBoxRect.iBr.iY )
   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)
   152         {
   147         {
   153         finalRect.SetRect(aItemTextRect.iTl.iX, aItemTextRect.iTl.iY,colourstrips.Rect().iBr.iX,listBoxRect.iBr.iY);
   148         iColorStripRect.SetRect(iColorStripRect.iTl.iX, iColorStripRect.iTl.iY,
       
   149             iColorStripRect.iBr.iX, listBoxRect.iBr.iY);
   154         }
   150         }
   155     
   151     else if (aItemTextRect.iTl.iY < listBoxRect.iTl.iY)
   156     // for top part.
       
   157     else if(aItemTextRect.iTl.iY < listBoxRect.iTl.iY)
       
   158         {
   152         {
   159         finalRect.SetRect(aItemTextRect.iTl.iX, listBoxRect.iTl.iY,colourstrips.Rect().iBr.iX,aItemTextRect.iBr.iY);
   153         iColorStripRect.SetRect(colourstrips.Rect().iTl.iX, listBoxRect.iTl.iY,
   160         }
   154                 colourstrips.Rect().iBr.iX, colourstrips.Rect().iBr.iY);
   161     
   155         iColorStripHeight += iColorStripRect.Height();
       
   156         iColorStripRect.SetHeight(iColorStripHeight);
       
   157         }         
   162     else
   158     else
   163         {
   159         {
   164         finalRect.SetHeight(aItemTextRect.Height());
   160         iColorStripHeight += aItemTextRect.Height();   
   165         }
   161         iColorStripRect.SetHeight(iColorStripHeight);
   166     
   162         }   
   167     //iGc->DrawRect( colourstrips.Rect() );
   163         
   168     iGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
   164     iGc->SetBrushStyle( CGraphicsContext::ESolidBrush );
   169     iGc->SetBrushColor( TRgb(iColor) );
   165     iGc->SetBrushColor( TRgb(iColor) );
   170     iGc->DrawRect( finalRect );
   166     iGc->DrawRect( iColorStripRect );
   171     
   167     
   172     iGc->Reset();
   168     iGc->Reset();
   173     
   169     
   174     TRACE_EXIT_POINT;
   170     TRACE_EXIT_POINT;
   175     }
   171     }