loadgen/ui/avkon/src/loadgen_maincontainer.cpp
changeset 55 2d9cac8919d3
parent 53 819e59dfc032
child 56 392f7045e621
--- a/loadgen/ui/avkon/src/loadgen_maincontainer.cpp	Mon Oct 04 10:09:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,457 +0,0 @@
-/*
-* Copyright (c) 2010 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: 
-*
-*/
-
-
-// INCLUDE FILES
-#include "loadgen_maincontainer.h"
-#include "loadgen.hrh"
-#include "loadgen_document.h"
-#include "loadgen_appui.h"
-#include "loadgen_model.h"
-#include <loadgen_extraicons.mbg>
-
-#include <aknlists.h>
-#include <eikclb.h>
-#include <eikclbd.h>
-#include <aknconsts.h>
-#include <AknUtils.h>
-#include <aknnotewrappers.h>
-#include <AknIconArray.h> 
-#include <f32file.h>
-#include <AknIconUtils.h>
-#include <AknDef.h>
-#include <akntitle.h>
-#include <eikspane.h> 
-
-_LIT(KExtraIconsPath, "\\resource\\apps\\loadgen_extraicons.mif");
-
-// ===================================== MEMBER FUNCTIONS =====================================
-
-void CLoadGenMainContainer::ConstructL(const TRect& aRect)
-    {
-    iModel = static_cast<CLoadGenDocument*>(reinterpret_cast<CEikAppUi*>(iEikonEnv->AppUi())->Document())->Model();
-    iModel->SetMainContainer(this);
-
-    CreateWindowL();
-    SetRect(aRect);
-    SetBlank();
-    
-    // init listbox
-    iListBox = new(ELeave) CLoadGenCAknSingleGraphicStyleListBox;
-    iListBox->SetContainerWindowL(*this);
-    iListBox->ConstructL(this, EAknListBoxMarkableList);
-    iListBox->View()->SetListEmptyTextL(_L("No loads activated\n(Select new load from Options to generate new load)"));
-
-    // create icon array and add marking indicator to it
-    CAknIconArray* iconArray = new(ELeave) CAknIconArray(1);
-    CleanupStack::PushL(iconArray);
-    CFbsBitmap* markBitmap = NULL;
-    CFbsBitmap* markBitmapMask = NULL;
-    
-    TRgb defaultColor;
-    defaultColor = iEikonEnv->Color(EColorControlText);
-
-    AknsUtils::CreateColorIconL(AknsUtils::SkinInstance(),
-            KAknsIIDQgnIndiMarkedAdd,
-            KAknsIIDQsnIconColors,
-            EAknsCIQsnIconColorsCG13,
-            markBitmap,
-            markBitmapMask,
-            AknIconUtils::AvkonIconFileName(),
-            EMbmAvkonQgn_indi_marked_add,
-            EMbmAvkonQgn_indi_marked_add_mask,
-            defaultColor
-            );
-     
-    CGulIcon* markIcon = CGulIcon::NewL(markBitmap, markBitmapMask);
-    iconArray->AppendL(markIcon);                       
-    
-    // append icons from loadgen_extraicons.mif
-    TFileName extraIconsPath;
-    extraIconsPath.Copy(KExtraIconsPath);
-    TParsePtrC parse((CEikonEnv::Static()->EikAppUi()->Application())->AppFullName()); // get path where this app is installed
-    extraIconsPath.Insert(0, parse.Drive()); // drive letter
-    
-    CFbsBitmap* redBitmap = NULL;
-    CFbsBitmap* redBitmapMask = NULL;
-    CFbsBitmap* greenBitmap = NULL;
-    CFbsBitmap* greenBitmapMask = NULL;
-    
-    AknIconUtils::CreateIconL(redBitmap, redBitmapMask, extraIconsPath, EMbmLoadgen_extraiconsQgn_prob_status_red, EMbmLoadgen_extraiconsQgn_prob_status_red_mask);
-    AknIconUtils::CreateIconL(greenBitmap, greenBitmapMask, extraIconsPath, EMbmLoadgen_extraiconsQgn_prob_status_green, EMbmLoadgen_extraiconsQgn_prob_status_green_mask);
-
-    CGulIcon* redIcon = CGulIcon::NewL(redBitmap, redBitmapMask);
-    iconArray->AppendL(redIcon);  
-    
-    CGulIcon* greenIcon = CGulIcon::NewL(greenBitmap, greenBitmapMask);
-    iconArray->AppendL(greenIcon);  
-
-    // set icon array
-    CleanupStack::Pop(); // iconArray
-    iListBox->ItemDrawer()->ColumnData()->SetIconArray(iconArray);
-
-    iListBox->CreateScrollBarFrameL(ETrue);
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto);
-    iListBox->SetListBoxObserver(this);
-    
-    // set size of the listbox
-    TSize outputRectSize;
-    AknLayoutUtils::LayoutMetricsSize(AknLayoutUtils::EMainPane, outputRectSize);
-    TRect outputRect(outputRectSize);
-    iListBox->SetRect(outputRect);
-
-    iListBox->ActivateL();    
-    
-    ActivateL();
-    }
-
-// --------------------------------------------------------------------------------------------
-
-CLoadGenMainContainer::~CLoadGenMainContainer()
-    {
-    if (iListBox)
-        delete iListBox;
-    }
-
-// --------------------------------------------------------------------------------------------
-
-void CLoadGenMainContainer::SizeChanged()
-{
-    TSize outputRectSize;
-    AknLayoutUtils::LayoutMetricsSize(AknLayoutUtils::EMainPane, outputRectSize);
-    TRect outputRect(outputRectSize);
-    
-    if (iListBox)
-        iListBox->SetRect(outputRect);
-}
-
-// --------------------------------------------------------------------------------------------
-
-TInt CLoadGenMainContainer::CountComponentControls() const
-    {
-    if (iListBox)
-        return 1;
-    else
-        return 0;
-    }
-
-// --------------------------------------------------------------------------------------------
-
-CCoeControl* CLoadGenMainContainer::ComponentControl(TInt /*aIndex*/) const
-    {
-    if (iListBox)
-        return iListBox;
-    else
-        return NULL;
-    }
-
-// --------------------------------------------------------------------------------------------
-
-TInt CLoadGenMainContainer::CurrentListBoxItemIndex()
-    {
-    if (iListBox)
-        {
-        return iListBox->CurrentItemIndex();
-        }
-    else
-        return KErrNotFound;    
-    }
-
-// --------------------------------------------------------------------------------------------
-
-void CLoadGenMainContainer::SetListBoxTextArrayL(CDesCArray* aTextArray)
-    {
-    if (iListBox)
-        {    
-        iListBox->Model()->SetItemTextArray(aTextArray);
-        iListBox->Model()->SetOwnershipType(ELbmOwnsItemArray);
-        iListBox->HandleItemAdditionL();
-        iListBox->UpdateScrollBarsL();
-        }
-    }
-
-// --------------------------------------------------------------------------------------------
-
-const CArrayFix<TInt>* CLoadGenMainContainer::ListBoxSelectionIndexes()
-    {
-    if (iListBox)
-        {
-        const CListBoxView::CSelectionIndexArray* indices = iListBox->SelectionIndexes();
-        return static_cast<const CArrayFix<TInt>*>(indices);
-        }
-    else
-        return NULL;
-    }
-
-// --------------------------------------------------------------------------------------------
-
-TInt CLoadGenMainContainer::ListBoxSelectionIndexesCount()
-    {
-    if (iListBox)
-        {
-        return iListBox->SelectionIndexes()->Count();
-        }
-    else
-        return KErrNotFound;
-    }
-                        
-// --------------------------------------------------------------------------------------------
-
-void CLoadGenMainContainer::Draw(const TRect& aRect) const
-    {
-    CWindowGc& gc = SystemGc();
-    gc.Clear(aRect);
-    }
-    
-// --------------------------------------------------------------------------------------------
-
-void CLoadGenMainContainer::HandleControlEventL(CCoeControl* /*aControl*/,TCoeEvent /*aEventType*/)
-    {
-    }
-
-// --------------------------------------------------------------------------------------------
-
-void CLoadGenMainContainer::SetDefaultTitlePaneTextL()
-    {
-    _LIT(KTitleText, "Load Gener.");
-
-    CEikStatusPane* sp = iEikonEnv->AppUiFactory()->StatusPane();
-    CAknTitlePane* tp = static_cast<CAknTitlePane*>( sp->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) );
-    tp->SetTextL( KTitleText );
-    }
-        
-// --------------------------------------------------------------------------------------------
-
-TKeyResponse CLoadGenMainContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType)
-    {
-    if(aType != EEventKey)
-        return EKeyWasNotConsumed;
-    
-    if (iListBox && iListBox->Model()->NumberOfItems() > 0)
-        {
-        /*
-        if (aKeyEvent.iCode == EKeyBackspace || aKeyEvent.iCode == EKeyDelete)
-            {
-            iModel->StopSelectedOrHighlightedItemsL();
-            return EKeyWasConsumed;
-            }
-        else    
-            {
-            return iListBox->OfferKeyEventL(aKeyEvent, aType);
-            }
-        */
-        TBool shiftKeyPressed = (aKeyEvent.iModifiers & EModifierShift) ||
-                                (aKeyEvent.iModifiers & EModifierLeftShift) ||
-                                (aKeyEvent.iModifiers & EModifierRightShift);
-        TBool controlKeyPressed = (aKeyEvent.iModifiers & EModifierCtrl) || 
-                                  (aKeyEvent.iModifiers & EModifierRightCtrl); 
-                                  
-        
-        // handle OK/Enter keys
-        if ((aKeyEvent.iCode == EKeyOK || aKeyEvent.iCode == EKeyEnter) && (shiftKeyPressed || controlKeyPressed))
-            {
-            return iListBox->OfferKeyEventL(aKeyEvent, aType); //send to listbox if modifiers
-            }
-
-        // handle OK/Enter keys
-        else if (aKeyEvent.iCode == EKeyOK || aKeyEvent.iCode == EKeyEnter)
-            {
-            iModel->ShowItemActionMenuL();
-            }
-
-        // handle delete key
-        else if (aKeyEvent.iCode == EKeyBackspace || aKeyEvent.iCode == EKeyDelete)
-            {
-            iModel->StopSelectedOrHighlightedItemsL();
-            }
-
-        else
-            return iListBox->OfferKeyEventL(aKeyEvent, aType);
-        }
-    
-    return EKeyWasNotConsumed;
-    }
-
-// --------------------------------------------------------------------------------------------
-
-void CLoadGenMainContainer::HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent aEventType)
-    {
-    switch (aEventType)
-        {
-        case EEventEnterKeyPressed:
-        case EEventItemDoubleClicked:
-            {
-            iModel->ShowItemActionMenuL();
-            }
-            break;
-        default:
-            break;
-        }
-    }
-            
-// --------------------------------------------------------------------------------------------
-
-void CLoadGenMainContainer::HandleResourceChange(TInt aType)
-    {
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        TRect mainPaneRect;
-        AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect);
-        SetRect(mainPaneRect);
-
-        TSize outputRectSize;
-        AknLayoutUtils::LayoutMetricsSize(AknLayoutUtils::EMainPane, outputRectSize);
-        TRect outputRect(outputRectSize);
-        iListBox->SetRect(outputRect);
-        }
-    else
-        {
-        CCoeControl::HandleResourceChange(aType);
-        }
-    }
-
-// --------------------------------------------------------------------------------------------
-// --------------------------------------------------------------------------------------------
-
-void CLoadGenCAknSingleGraphicStyleListBox::SizeChanged()
-    {
-    // call the base class function first
-    CAknSingleGraphicStyleListBox::SizeChanged();
-
-    // customize the list box
-    TRAP_IGNORE(SizeChangedL());
-    }
-
-// --------------------------------------------------------------------------------------------
-
-void CLoadGenCAknSingleGraphicStyleListBox::SizeChangedL()
-    {
-    const TInt KEmptySize = 2;
-    
-    // disable separator line
-    ItemDrawer()->ColumnData()->SetSeparatorLinePosition(ENoLine);
-    
-    // enable marquee
-    ItemDrawer()->ColumnData()->EnableMarqueeL(ETrue);
-    
-    // set fonts
-    const CFont* font = AknLayoutUtils::FontFromId(EAknLogicalFontPrimarySmallFont);
-    ItemDrawer()->ColumnData()->SetColumnFontL(0, font);
-    ItemDrawer()->ColumnData()->SetColumnFontL(1, font);
-    ItemDrawer()->ColumnData()->SetColumnFontL(2, font);
-    ItemDrawer()->ColumnData()->SetColumnFontL(3, font);
-
-    // set row height
-    TInt rowHeight = font->HeightInPixels()+5;    
-    TSize itemCellSize = View()->ItemDrawer()->ItemCellSize();
-    itemCellSize.iHeight = rowHeight; 
-    SetItemHeightL(rowHeight);
-    View()->ItemDrawer()->SetItemCellSize(itemCellSize);
-    
-    // set icon sizes
-    TInt normalIconSize = rowHeight * 0.7;
-    TInt markingIconSize = rowHeight * 0.8;
-    ItemDrawer()->ColumnData()->SetSubCellIconSize(0, TSize(normalIconSize,normalIconSize));
-    ItemDrawer()->ColumnData()->SetSubCellIconSize(2, TSize(markingIconSize,markingIconSize));
-    ItemDrawer()->ColumnData()->SetSubCellIconSize(3, TSize(KEmptySize,KEmptySize));
-
-    // set column widths
-    ItemDrawer()->ColumnData()->SetColumnWidthPixelL(0, normalIconSize + 2*normalIconSize * 0.15);
-    ItemDrawer()->ColumnData()->SetColumnWidthPixelL(1, itemCellSize.iWidth-KEmptySize-markingIconSize);
-    ItemDrawer()->ColumnData()->SetColumnWidthPixelL(2, markingIconSize);
-    ItemDrawer()->ColumnData()->SetColumnWidthPixelL(3, KEmptySize);
-
-    // set baseline for the text
-    ItemDrawer()->ColumnData()->SetColumnBaselinePosL(1, font->HeightInPixels()-font->BaselineOffsetInPixels());
-
-    // set margins
-    TMargins iconMargins;
-    iconMargins.iBottom = 0;
-    iconMargins.iLeft = normalIconSize * 0.15;
-    iconMargins.iRight = normalIconSize * 0.15;
-    iconMargins.iTop = 0;
-
-    TMargins textMargins;
-    textMargins.iBottom = 0;
-    textMargins.iLeft = markingIconSize * 0.15;
-    textMargins.iRight = markingIconSize * 0.15;
-    textMargins.iTop = 0;
-
-    ItemDrawer()->ColumnData()->SetColumnMarginsL(0, iconMargins);
-    ItemDrawer()->ColumnData()->SetColumnMarginsL(1, textMargins);
-    ItemDrawer()->ColumnData()->SetColumnMarginsL(2, iconMargins);
-    ItemDrawer()->ColumnData()->SetColumnMarginsL(3, iconMargins);
-    
-/*
-    const TInt KEmptySize = 2;
-    
-    // enable marquee
-    ItemDrawer()->ColumnData()->EnableMarqueeL(ETrue);
-    
-    // set fonts
-    const CFont* font = AknLayoutUtils::FontFromId(EAknLogicalFontPrimarySmallFont);
-    ItemDrawer()->ColumnData()->SetColumnFontL(0, font);
-    ItemDrawer()->ColumnData()->SetColumnFontL(1, font);
-    ItemDrawer()->ColumnData()->SetColumnFontL(2, font);
-    ItemDrawer()->ColumnData()->SetColumnFontL(3, font);
-
-    // set row height
-    TInt rowHeight = font->HeightInPixels()+7;    
-    TSize itemCellSize = View()->ItemDrawer()->ItemCellSize();
-    itemCellSize.iHeight = rowHeight; 
-    SetItemHeightL(rowHeight);
-    View()->ItemDrawer()->SetItemCellSize(itemCellSize);
-
-    // set icon sizes
-    TInt normalIconSize = rowHeight * 0.6;
-    TInt markingIconSize = rowHeight * 0.8;
-    ItemDrawer()->ColumnData()->SetSubCellIconSize(0, TSize(normalIconSize,normalIconSize));
-    ItemDrawer()->ColumnData()->SetSubCellIconSize(2, TSize(markingIconSize,markingIconSize));
-    ItemDrawer()->ColumnData()->SetSubCellIconSize(3, TSize(KEmptySize,KEmptySize));
-
-    // set column widths
-    ItemDrawer()->ColumnData()->SetColumnWidthPixelL(0, normalIconSize);
-    ItemDrawer()->ColumnData()->SetColumnWidthPixelL(1, itemCellSize.iWidth-KEmptySize-markingIconSize);
-    ItemDrawer()->ColumnData()->SetColumnWidthPixelL(2, markingIconSize);
-    ItemDrawer()->ColumnData()->SetColumnWidthPixelL(3, KEmptySize);
-
-    // set baseline for the text
-    ItemDrawer()->ColumnData()->SetColumnBaselinePosL(1, font->HeightInPixels()-font->BaselineOffsetInPixels());
-
-    // set margins
-    TMargins iconMargins;
-    iconMargins.iBottom = 0;
-    iconMargins.iLeft = 0;
-    iconMargins.iRight = 0;
-    iconMargins.iTop = 0;
-
-    TMargins textMargins;
-    textMargins.iBottom = 0;
-    textMargins.iLeft = markingIconSize * 0.15;
-    textMargins.iRight = markingIconSize * 0.15;
-    textMargins.iTop = 0;
-
-    ItemDrawer()->ColumnData()->SetColumnMarginsL(0, iconMargins);
-    ItemDrawer()->ColumnData()->SetColumnMarginsL(1, textMargins);
-    ItemDrawer()->ColumnData()->SetColumnMarginsL(2, iconMargins);
-    ItemDrawer()->ColumnData()->SetColumnMarginsL(3, iconMargins);
-*/
-    }
-
-// --------------------------------------------------------------------------------------------
-        
-// End of File