--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmlibs/mmfw/tsrc/mmvalidationsuite/mmvalidationsuiteapp/src/MVSBalanceDialog.cpp Tue Feb 02 01:56:55 2010 +0200
@@ -0,0 +1,96 @@
+// Copyright (c) 2005-2009 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:
+// Part of the MVS Application for TechView
+//
+
+#include "MVSBalanceDialog.h"
+#include "MVSApp.hrh"
+
+const TInt KBalanceBarUpdateFactor = 10;//Increment factor for the balance bar every increment
+ //would increase/decrease the bar by a factor of 10.
+
+void CMVSBalanceDialog::SetupDialogLD(TInt aBalance,
+ CMVSAppUi* aAppUi, TBool aPlayBack)
+ {
+ CMVSBalanceDialog* dialog = new (ELeave) CMVSBalanceDialog(aBalance, aAppUi, aPlayBack);
+ dialog->ExecuteLD(R_MVS_DIALOG_SETBALANCE);
+ }
+
+
+void CMVSBalanceDialog::PreLayoutDynInitL()
+ {
+ _LIT(KTitle1,"SetPlayBalance");
+ _LIT(KTitle2,"SetRecordBalance");
+ if(iPlayBack)
+ {
+ SetTitleL(KTitle1);
+ }
+ else
+ {
+ SetTitleL(KTitle2);
+ }
+ // Get a downcasted pointer to the controls
+ CCoeControl* myControlPtr = this->Control(EMVSSetBalance);
+ iProgInfo = static_cast<CEikProgressInfo*>(myControlPtr);
+ if(iProgInfo)
+ {
+ iProgInfo->SetAndDraw((iBalance+100)/2);
+ }
+ }
+
+
+CMVSBalanceDialog::CMVSBalanceDialog(TInt aBalance, CMVSAppUi* aAppUi, TBool aPlayBack)
+: iBalance(aBalance), iPlayBack(aPlayBack), iAppUi(aAppUi)
+ {
+ //Nothing to do here - all done in initialisation list
+ }
+
+
+TKeyResponse CMVSBalanceDialog::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType)
+ {
+ if(aKeyEvent.iCode == EKeyEnter && aType == EEventKeyDown)
+ {
+ OkToExitL(EMVSButtonOk);
+ }
+ return CEikDialog::OfferKeyEventL(aKeyEvent,aType);
+ }
+
+
+TBool CMVSBalanceDialog::OkToExitL(TInt aButtonId)
+ {
+ // Get a pointer to the progress bar control.
+ // Downcast the returned CCoeControl* pointer to the correct type.
+ switch(aButtonId)
+ {
+ case(EMVSButtonLeft):
+ iProgInfo->IncrementAndDraw(-(KMVSProgressLabelMaxValue/KBalanceBarUpdateFactor));
+ break;
+
+ case(EMVSButtonRight):
+ iProgInfo->IncrementAndDraw(KMVSProgressLabelMaxValue/KBalanceBarUpdateFactor);
+ break;
+
+ case(EMVSButtonOk):
+ //Get the value on the progress bar
+ //to convert balance from a figure between 0 and 100
+ //to a figure between -100 and 100
+ iBalance = (iProgInfo->CurrentValue()*2)-100;
+ iAppUi->SetBalanceL(iBalance);
+ return ETrue;
+
+ default: //cancel
+ return ETrue;
+ }
+ return EFalse;
+ }