--- a/menufw/menufwui/mmwidgets/src/mmgridcontainer.cpp Thu Dec 17 08:40:49 2009 +0200
+++ b/menufw/menufwui/mmwidgets/src/mmgridcontainer.cpp Thu Jan 07 12:39:41 2010 +0200
@@ -11,9 +11,9 @@
*
* Contributors:
*
-* Description:
-* Version : %version: MM_72 % << Don't touch! Updated by Synergy at check-out.
-* Version : %version: MM_72 % << Don't touch! Updated by Synergy at check-out.
+* Description:
+* Version : %version: MM_73 % << Don't touch! Updated by Synergy at check-out.
+* Version : %version: MM_73 % << Don't touch! Updated by Synergy at check-out.
*
*/
@@ -39,9 +39,9 @@
// Two-phased constructor.
// -----------------------------------------------------------------------------
//
-CMmGridContainer* CMmGridContainer::NewLC( const TRect& aRect,
+CMmGridContainer* CMmGridContainer::NewLC( const TRect& aRect,
MObjectProvider* aObjectProvider, CMmTemplateLibrary* aLibrary )
- {
+ {
CMmGridContainer* self = new( ELeave ) CMmGridContainer();
CleanupStack::PushL( self );
self->ConstructL( aRect, aObjectProvider, aLibrary );
@@ -53,9 +53,9 @@
// Two-phased constructor.
// -----------------------------------------------------------------------------
//
-CMmGridContainer* CMmGridContainer::NewL( const TRect& aRect,
+CMmGridContainer* CMmGridContainer::NewL( const TRect& aRect,
MObjectProvider* aObjectProvider, CMmTemplateLibrary* aLibrary )
- {
+ {
CMmGridContainer* self = NewLC( aRect, aObjectProvider, aLibrary);
CleanupStack::Pop( self );
return self;
@@ -71,11 +71,11 @@
}
// -----------------------------------------------------------------------------
-//
+//
// -----------------------------------------------------------------------------
//
CAknGrid* CMmGridContainer::Grid()
- {
+ {
return iGrid;
}
// -----------------------------------------------------------------------------
@@ -84,14 +84,14 @@
// -----------------------------------------------------------------------------
//
CMmGridContainer::~CMmGridContainer()
- {
+ {
delete iGrid;
}
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
-//
+//
THnSuiteWidgetType CMmGridContainer::WidgetType()
{
return EGridWidget;
@@ -100,27 +100,27 @@
// CMmGridContainer::ConstructL()
// 2nd phase constructor
// -----------------------------------------------------------------------------
-//
+//
void CMmGridContainer::ConstructL( const TRect& aRect, MObjectProvider* aObjectProvider,
CMmTemplateLibrary* aTemplateLibrary )
{
CMmWidgetContainer::ConstructL();
-
+
SetMopParent( aObjectProvider );
- CreateWindowL(); // Creates window.
+ CreateWindowL(); // Creates window.
iWidget = CreateGridL(aTemplateLibrary);
iWidget->SetListBoxObserver( this );
SetRect( aRect ); // Sets rectangle of frame.
- ActivateL(); // Activates window. ( Ready to draw )
+ ActivateL(); // Activates window. ( Ready to draw )
SetupDrawer();
- SetHighlightVisibilityL( !AknLayoutUtils::PenEnabled() );
+ SetHighlightVisibilityL( !AknLayoutUtils::PenEnabled() );
iPostProcessor = CMmPostEvaluationProcessor::NewL( *iDrawer );
}
// -----------------------------------------------------------------------------
// CMmGridContainer::CreateGridL()
// Constructs listbox from resource, creates scroll bar and sets empty
-// list background text.
+// list background text.
// -----------------------------------------------------------------------------
//
CMmGrid* CMmGridContainer::CreateGridL( CMmTemplateLibrary* aTemplateLibrary )
@@ -133,7 +133,7 @@
CAknGridView::EScrollFollowsItemsAndLoops );
iGrid->SetSecondaryScrollingType(
CAknGridView::EScrollFollowsGrid );
- iGrid->ScrollBarFrame()->SetScrollBarVisibilityL(
+ iGrid->ScrollBarFrame()->SetScrollBarVisibilityL(
CEikScrollBarFrame::EAuto, CEikScrollBarFrame::EAuto );
iGrid->ScrollBarFrame()->DrawBackground( EFalse, EFalse );
return iGrid;
@@ -142,7 +142,7 @@
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
-//
+//
void CMmGridContainer::SizeChanged()
{
CMmWidgetContainer::SizeChanged();
@@ -171,12 +171,12 @@
CAknGridView::EScrollFollowsItemsAndLoops );
iGrid->SetSecondaryScrollingType(
CAknGridView::EScrollFollowsGrid );
-
+
}
-
+
// In EditMode we allow Avkon to redraw scrollbar background
// to prevent scrollbar flicking.
- // When edit mode is disabled, this redrawing causes performance problems
+ // When edit mode is disabled, this redrawing causes performance problems
// (and disabling it does not produce erroneous side-effects).
if( aIsEditMode )
{
@@ -186,7 +186,7 @@
{
iGrid->ScrollBarFrame()->DrawBackground( EFalse, EFalse );
}
-
+
CMmWidgetContainer::SetEditModeL( aIsEditMode );
}
@@ -196,7 +196,7 @@
//
EXPORT_C void CMmGridContainer::SetEmptyTextL(const TDesC& aText)
{
- iGrid->SetEmptyGridTextL( aText );
+ iGrid->SetEmptyGridTextL( aText );
}
// -----------------------------------------------------------------------------
@@ -204,26 +204,9 @@
// -----------------------------------------------------------------------------
//
EXPORT_C void CMmGridContainer::SetDefaultHighlightL( TBool aRedraw )
- {
- CAknGridView* view = (CAknGridView*) iGrid->View();
-
- if ( view )
- {
- TInt defaultHighlight( 0 );
- TSize layout = TSize( view->NumberOfColsInView(),
- view->NumberOfRowsInView() );
-
- if ( Layout_Meta_Data::IsLandscapeOrientation() || FlipOpen() )
- {
- defaultHighlight = LandscapeOrientationDefaultHighlight( layout );
- }
- else
- {
- defaultHighlight = PortraitOrientationDefaultHighlight( layout );
- }
-
- SetManualHighlightL( defaultHighlight + DefaultHighlightOffset(), aRedraw );
- }
+ {
+ TInt defaultHighlight( 0 );
+ SetManualHighlightL( defaultHighlight + DefaultHighlightOffset(), aRedraw );
}
// -----------------------------------------------------------------------------
@@ -231,79 +214,17 @@
//
// -----------------------------------------------------------------------------
//
-TInt CMmGridContainer::LandscapeOrientationDefaultHighlight( TSize aLayout )
- {
- TInt defaultHighlight( 0 );
-
- if ( aLayout == TSize(MmGrid::K4By3LayoutX, MmGrid::K4By3LayoutY)
- && iGrid->Model()->NumberOfItems() >= MmGrid::K4By3Threshold )
- {
- defaultHighlight = MmGrid::K4By3DefaultHighlight;
- }
- else if ( aLayout == TSize(MmGrid::K5By4LayoutX, MmGrid::K5By4LayoutY)
- && iGrid->Model()->NumberOfItems() >= MmGrid::K5By4Threshold )
- {
- defaultHighlight = MmGrid::K5By4DefaultHighlight;
- }
- // When flip is opened, the phone layout is not changed immediately,
- // so the phone might still be in portrait mode for a couple of secs.
- // However, we have to set the correct default item immediately, and
- // the correct item is the one for landscape mode, even if the phone
- // is still in portrait mode. On variant switch 3x4 layout will be
- // replaced by 4x3 layout, while 4x5 layout will change into 5x4.
- else if ( aLayout == TSize( MmGrid::K3By4LayoutX, MmGrid::K3By4LayoutY )
- && iGrid->Model()->NumberOfItems() >= MmGrid::K4By3Threshold )
- {
- defaultHighlight = MmGrid::K4By3DefaultHighlight;
- }
- else if ( aLayout == TSize( MmGrid::K4By5LayoutX, MmGrid::K4By5LayoutY )
- && iGrid->Model()->NumberOfItems() >= MmGrid::K5By4Threshold )
- {
- defaultHighlight = MmGrid::K5By4DefaultHighlight;
- }
-
- return defaultHighlight;
- }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
-TInt CMmGridContainer::PortraitOrientationDefaultHighlight( TSize aLayout )
- {
- TInt defaultHighlight( 0 );
-
- if ( aLayout == TSize(MmGrid::K4By5LayoutX, MmGrid::K4By5LayoutY )
- && iGrid->Model()->NumberOfItems() >= MmGrid::K4By5Threshold )
- {
- defaultHighlight = MmGrid::K4By5DefaultHighlight;
- }
- else if ( aLayout == TSize(MmGrid::K3By4LayoutX, MmGrid::K3By4LayoutY)
- && iGrid->Model()->NumberOfItems() >= MmGrid::K3By4Threshold )
- {
- defaultHighlight = MmGrid::K3By4DefaultHighlight;
- }
-
- return defaultHighlight;
- }
-
-// -----------------------------------------------------------------------------
-//
-//
-// -----------------------------------------------------------------------------
-//
TInt CMmGridContainer::DefaultHighlightOffset()
{
TInt topVisibleItemIndex = iGrid->View()->TopItemIndex();
TInt hiddenPixels = -iGrid->View()->ItemOffsetInPixels();
-
- if ( iGrid->View()->ItemIsPartiallyVisible( topVisibleItemIndex )
+
+ if ( iGrid->View()->ItemIsPartiallyVisible( topVisibleItemIndex )
&& hiddenPixels > iGrid->View()->ItemSize().iHeight / 2 )
{
topVisibleItemIndex += ColumnsInCurrentView();
}
-
+
return topVisibleItemIndex;
}
@@ -357,12 +278,12 @@
// -----------------------------------------------------------------------------
//
void CMmGridContainer::SetHighlightVisibilityL( TBool aVisible )
- {
+ {
CMmWidgetContainer::SetHighlightVisibilityL( aVisible );
}
// ---------------------------------------------------------------------------
-//
+//
// ---------------------------------------------------------------------------
//
void CMmGridContainer::HandleItemAdditionL()
@@ -372,12 +293,12 @@
// ---------------------------------------------------------------------------
-//
+//
// ---------------------------------------------------------------------------
//
void CMmGridContainer::HandleItemRemovalL()
{
-
+
GetMmModel()->HandleSuiteEventL( ESuiteItemsRemoved, GetMmModel()->GetSuiteModel() );
ValidateWidgetCurrentItemIndex();
iDrawer->RemoveFloatingItems();
@@ -385,12 +306,12 @@
{
iDrawer->GetAnimator()->SetNextRedrawToWholeScreen();
}
-
+
CacheWidgetPosition();
iGrid->HandleItemRemovalL();
RestoreWidgetPosition();
CacheWidgetPosition();
-
+
if ( iCurrentHighlight != iGrid->CurrentItemIndex() )
{
iCurrentHighlight = iGrid->CurrentItemIndex();
@@ -409,40 +330,7 @@
}
// ---------------------------------------------------------------------------
-//
-// ---------------------------------------------------------------------------
//
-void CMmGridContainer::FlipStateChangedL()
- {
-// if ( !IsEditMode() )
-// {
-// if ( FlipOpen() )
-// {
-// if ( iTimer )
-// {
-// delete iTimer;
-// iTimer = NULL;
-// }
-// SetHighlightVisibilityL( ETrue );
-// if ( iCurrentHighlight == KErrNotFound )
-// {
-// SetDefaultHighlightL( ETrue );
-// }
-// }
-// else
-// {
-// if ( AknLayoutUtils::PenEnabled() && !iTimer )
-// {
-// iTimer = CMmHighlightTimer::NewL( this );
-// }
-// SetHighlightVisibilityL( EFalse );
-// DrawNow();
-// }
-// }
- }
-
-// ---------------------------------------------------------------------------
-//
// ---------------------------------------------------------------------------
//
TInt CMmGridContainer::ColumnsInCurrentView()
@@ -451,7 +339,7 @@
return view->NumberOfColsInView();
}
// ---------------------------------------------------------------------------
-//
+//
// ---------------------------------------------------------------------------
//
TInt CMmGridContainer::RowsInCurrentView()
@@ -461,7 +349,7 @@
}
// ---------------------------------------------------------------------------
-//
+//
// ---------------------------------------------------------------------------
//
void CMmGridContainer::DrawView()
@@ -502,7 +390,7 @@
//
TBool CMmGridContainer::ItemIsVisible( TInt aItemIndex ) const
{
- CListBoxView* v = iGrid->View();
+ CListBoxView* v = iGrid->View();
TRect itemRect( v->ItemPos( aItemIndex ), v->ItemSize( aItemIndex ) );
TRect viewRect = v->ViewRect();
TBool isVisible = EFalse;