mmlibs/mmfw/tsrc/mmvalidationsuite/mmvalidationsuiteapp/src/MVSAppView.cpp
author hgs
Tue, 02 Nov 2010 12:28:51 +0000
changeset 6 fe9d1bf55678
parent 0 b8ed18f6c07b
permissions -rw-r--r--
2010wk46_02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     1
// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     2
// All rights reserved.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     3
// This component and the accompanying materials are made available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     5
// which accompanies this distribution, and is available
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     7
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     8
// Initial Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    10
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    11
// Contributors:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    12
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    13
// Description:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    14
// Part of the MVS Application for TechView
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    15
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    16
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    17
#include  <w32std.h>
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    18
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    19
#include "MVSApp.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    20
#include "MVSAppUI.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    21
#include "mvsvideocontrol.h"
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    22
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    23
CMVSAppView* CMVSAppView::NewL(const TRect& aRect, CMVSVideoPlayAgent& aVideoPlayAgent)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    24
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    25
  	CMVSAppView * self = new(ELeave) CMVSAppView;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    26
 	CleanupStack::PushL(self);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    27
  	self->ConstructL(aRect, aVideoPlayAgent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    28
  	CleanupStack::Pop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    29
  	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    30
  	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    31
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    32
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    33
CMVSAppView::CMVSAppView()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    34
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    35
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    36
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    37
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    38
CMVSAppView::~CMVSAppView()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    39
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    40
  	//Remove our controls
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    41
  	delete iMainWindowControl;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    42
  	delete iStatusWindowFNameControl;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    43
  	delete iStatusWindowStateControl;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    44
  	delete iStatusWindowTimeControl;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    45
  	delete iInfoWindowControl;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    46
  	delete iProgress;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    47
  	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    48
  	CloseWindow();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    49
  	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    50
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    51
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    52
void CMVSAppView::ConstructL(const TRect& aRect, CMVSVideoPlayAgent& aVideoPlayAgent)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    53
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    54
  	//we need a window in which to place controls, so take ownership of one
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    55
  	CreateWindowL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    56
  
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    57
  	//Set the extent of the control.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    58
  	SetRect(aRect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    59
  	TRect fullRectWindow = Rect();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    60
  	//vertical point co-ordinate
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    61
  	TInt statusPaneHeight = 4*(fullRectWindow.iTl.iY + fullRectWindow.iBr.iY)/5;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    62
  	TInt halfLength = (fullRectWindow.iTl.iX + fullRectWindow.iBr.iX)/2;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    63
  	TInt threeQuarterLength= 3*(fullRectWindow.iTl.iX + fullRectWindow.iBr.iX)/4;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    64
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    65
	//set the dimensions of our main window
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    66
  	TRect mainWindow(Rect());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    67
  	mainWindow.iTl.iX = halfLength-115;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    68
  	mainWindow.iBr.iY = statusPaneHeight;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    69
  
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    70
	iMainWindowControl = CMVSVideoControl::NewL(aVideoPlayAgent, 0, Window());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    71
	iMainWindowControl->SetExtent(mainWindow.iTl, mainWindow.Size());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    72
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    73
  	//set the dimensions of our status window
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    74
  	TRect statusWindowFName = fullRectWindow;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    75
  	statusWindowFName.iTl.iY = statusPaneHeight;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    76
  	statusWindowFName.iBr.iX = halfLength;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    77
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    78
  	//now construct our status window filename control
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    79
  	iStatusWindowFNameControl = CMVSFileControl::NewL(*this, statusWindowFName,
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    80
                                                     KNullDesC);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    81
   	//set the dimensions of our state window
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    82
  	TRect statusWindowState = fullRectWindow;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    83
  	statusWindowState.iTl.iX = halfLength;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    84
  	statusWindowState.iTl.iY = statusPaneHeight;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    85
  	statusWindowState.iBr.iX = threeQuarterLength;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    86
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    87
  	//now construct our status window state control
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    88
  	iStatusWindowStateControl = CMVSStateControl::NewL(*this, statusWindowState, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    89
                                                     KNullDesC);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    90
  
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    91
  	//set the dimensions of our timer window
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    92
  	TRect statusWindowTime = fullRectWindow;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    93
  	statusWindowTime.iTl.iX = threeQuarterLength;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    94
  	statusWindowTime.iTl.iY = statusPaneHeight;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    95
  
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    96
  	//now construct our status window timer control
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    97
  	iStatusWindowTimeControl = CMVSTimeControl::NewL(*this, statusWindowTime, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    98
                                                    KNullDesC);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
    99
    TRect infoWindow = fullRectWindow;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   100
  	infoWindow.iTl.iX=0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   101
  	infoWindow.iBr.iX= halfLength-115;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   102
  	infoWindow.iBr.iY =statusPaneHeight-15;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   103
  	iInfoWindowControl = CMVSInfoControl::NewL(*this,infoWindow,KNullDesC);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   104
  	iInfoWindowControl->SetParent(this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   105
  	//now activate the control.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   106
  	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   107
  	// construct and draw the progress bar 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   108
  	iProgress = new (ELeave) CEikProgressInfo();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   109
  	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   110
  	TResourceReader reader;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   111
  	iEikonEnv->CreateResourceReaderLC(reader, R_CLIP_PROGRESSINFO);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   112
	iProgress->ConstructFromResourceL(reader);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   113
	iProgress->SetContainerWindowL(*this);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   114
	iProgress->SetExtent(TPoint(fullRectWindow.iTl.iX+ (fullRectWindow.iBr.iX/20),statusPaneHeight-10),TSize((fullRectWindow.iBr.iX - fullRectWindow.iTl.iX - (fullRectWindow.iBr.iX/10) ),10));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   115
	iProgress->SetAndDraw(0);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   116
	CleanupStack::PopAndDestroy();	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   117
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   118
  	ActivateL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   119
  	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   120
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   121
void CMVSAppView::SetClipLength(TInt& aClipLen)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   122
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   123
	iClipLength = aClipLen;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   124
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   125
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   126
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   127
//CountComponentControls()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   128
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   129
// Implemented by a view with more than one control so that a call to
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   130
// DrawNow successfully draws all four component controls.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   131
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   132
TInt CMVSAppView::CountComponentControls() const
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   133
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   134
	return 6; //we have six controls
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   135
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   136
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   137
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   138
// To handle the Pointer events on the Progress Bar
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   139
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   140
void CMVSAppView::HandlePointerEventL(const TPointerEvent &aPointerEvent)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   141
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   142
	TInt clipPos;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   143
	TRect rect = iProgress->Rect();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   144
	if(	(aPointerEvent.iPosition.iX>=rect.iTl.iX && aPointerEvent.iPosition.iX<=rect.iBr.iX) && 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   145
		(aPointerEvent.iPosition.iY>=rect.iTl.iY && aPointerEvent.iPosition.iY<=rect.iBr.iY)	)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   146
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   147
		TInt pos = aPointerEvent.iPosition.iX - rect.iTl.iX;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   148
		switch(aPointerEvent.iType)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   149
			{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   150
			case TPointerEvent::EButton1Down:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   151
				break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   152
			case TPointerEvent::EDrag:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   153
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   154
				iProgress->SetAndDraw(pos);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   155
				break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   156
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   157
			case TPointerEvent::EButton1Up:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   158
				{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   159
				TInt progToDraw = pos* (static_cast<double>(200)/(rect.iBr.iX -rect.iTl.iX));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   160
				iProgress->SetAndDraw(progToDraw+1);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   161
				clipPos = (progToDraw+1) *(static_cast<double>(iClipLength)/200);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   162
				TTimeIntervalMicroSeconds clipTime(clipPos);	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   163
				static_cast<CMVSAppUi*>(CEikonEnv::Static()->EikAppUi())->SetPosition(clipTime);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   164
				break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   165
				}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   166
				
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   167
			default:
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   168
				break;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   169
			}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   170
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   171
	CCoeControl::HandlePointerEventL(aPointerEvent);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   172
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   173
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   174
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   175
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   176
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   177
// Updates the Audion play progress 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   178
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   179
void CMVSAppView::UpdatePlayProgress(TTimeIntervalMicroSeconds& aPos)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   180
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   181
	TInt curPos = I64INT(aPos.Int64());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   182
	TInt percent = curPos*(static_cast<double>(100)/iClipLength);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   183
	TInt progressPos = percent*2;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   184
	iProgress->SetAndDraw(progressPos+1);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   185
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   186
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   187
//	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   188
// Reset the Progress to ) and redraw	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   189
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   190
void CMVSAppView::ResetProgressBar()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   191
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   192
	iProgress->SetAndDraw(0);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   193
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   194
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   195
//ComponentControl(...)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   196
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   197
// Returns the control by index. The counting sequence goes left to right, top
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   198
// to bottom.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   199
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   200
CCoeControl* CMVSAppView::ComponentControl(TInt aIndex) const
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   201
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   202
	switch (aIndex)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   203
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   204
	 	case 0: return iMainWindowControl;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   205
	 	case 1: return iStatusWindowFNameControl;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   206
     	case 2: return iStatusWindowStateControl;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   207
     	case 3: return iStatusWindowTimeControl;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   208
	 	case 4: return iInfoWindowControl;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   209
	 	case 5: return iProgress;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   210
	 	default: return 0;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   211
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   212
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   213
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   214
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   215
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   216
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   217
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   218
// class CMVSFileControl
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   219
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   220
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   221
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   222
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   223
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   224
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   225
//NewL(...)              *** This method can LEAVE ***
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   226
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   227
// Factory contructor, initialises a control based on the rectangle provided.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   228
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   229
CMVSFileControl* CMVSFileControl::NewL(const CCoeControl& aContainer, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   230
                                         const TRect& aRect, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   231
                                         const TDesC& aText)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   232
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   233
	CMVSFileControl* self=new(ELeave) CMVSFileControl;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   234
	CleanupStack::PushL(self);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   235
	self->ConstructL(aContainer, aRect, aText);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   236
	CleanupStack::Pop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   237
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   238
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   239
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   240
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   241
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   242
//ContructL(...)              *** This method can LEAVE ***
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   243
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   244
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   245
void CMVSFileControl::ConstructL(const CCoeControl& aContainer, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   246
                                  const TRect& aRect, const TDesC& aText)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   247
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   248
	SetContainerWindowL(aContainer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   249
	SetRect(aRect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   250
    iWindow = aRect;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   251
	SetTextL(aText);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   252
    //Activate the control
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   253
	ActivateL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   254
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   255
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   256
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   257
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   258
//CMVSControl()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   259
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   260
// Constructor, does nothing. Private to prevent it being called.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   261
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   262
CMVSFileControl::CMVSFileControl()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   263
     {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   264
     }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   265
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   266
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   267
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   268
//~CMVSControl()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   269
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   270
// Destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   271
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   272
CMVSFileControl::~CMVSFileControl()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   273
     {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   274
     delete iText;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   275
     }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   276
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   277
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   278
//Draw the FileName Display Window
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   279
void CMVSFileControl::Draw(const TRect& /*aRect*/) const
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   280
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   281
	//Establish a Graphics Context
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   282
	CWindowGc& gc=SystemGc();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   283
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   284
    //Establish a drawing rectangle
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   285
	TRect rect=Rect();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   286
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   287
    //Move in 2 pixels each side to give a white border
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   288
	rect.Shrink(2,2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   289
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   290
    //Set-up a pen
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   291
	gc.SetPenStyle(CGraphicsContext::ENullPen);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   292
	gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   293
	gc.SetBrushColor(KRgbDarkGray);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   294
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   295
    //Draw a blank rectangle
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   296
    gc.DrawRect(rect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   297
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   298
    //Fill in the border-regions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   299
	DrawUtils::DrawBetweenRects(gc, Rect(), rect); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   300
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   301
    //Change the pen colour to black
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   302
    gc.SetPenStyle(CGraphicsContext::ESolidPen);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   303
	gc.SetPenColor(KRgbWhite);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   304
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   305
	//Set the fill colour to 'no fill'
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   306
    gc.SetBrushStyle(CGraphicsContext::ENullBrush);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   307
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   308
    //Draw a rectangle (transparent with a black border)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   309
	gc.DrawRect(rect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   310
	rect.Shrink(1,1);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   311
     
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   312
    const CFont* appFont = iEikonEnv->AnnotationFont();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   313
    DrawOtherWindows(gc,rect,appFont);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   314
    return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   315
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   316
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   317
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   318
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   319
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   320
//DrawOtherWindows(...)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   321
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   322
// Draw the text in a central position in the window.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   323
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   324
void CMVSFileControl::DrawOtherWindows(CGraphicsContext& aGc, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   325
                                        const TRect& aDeviceRect, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   326
                                        const CFont* aFont) const
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   327
     {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   328
     //Set up the pen and brush colours
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   329
     aGc.SetBrushStyle(CGraphicsContext::ESolidBrush);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   330
	 aGc.SetBrushColor(KRgbGray);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   331
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   332
	 aGc.SetPenStyle(CGraphicsContext::ESolidPen);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   333
	 aGc.SetPenColor(KRgbWhite);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   334
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   335
     //Set-up a font
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   336
     aGc.UseFont(aFont);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   337
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   338
     //Set the baseline to be half the height of the rectangle + half
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   339
     //the height of the font
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   340
	 TInt baseline=aDeviceRect.Height()/2 + aFont->AscentInPixels()/2;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   341
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   342
     //Draw the text
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   343
     //__ASSERT_ALWAYS(iText != NULL, User::Panic(KNullPtr, KNAPanicNullPointer));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   344
	 aGc.DrawText(*iText, aDeviceRect, baseline, CGraphicsContext::ECenter);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   345
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   346
     //Done with the font
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   347
	 aGc.DiscardFont();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   348
     }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   349
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   350
void CMVSFileControl::SetTextL(const TDesC& aText)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   351
     {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   352
     HBufC* text=aText.AllocL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   353
	 delete iText;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   354
	 iText=text;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   355
     }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   356
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   357
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   358
//Window()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   359
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   360
// Returns the window defined by this object.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   361
TRect& CMVSFileControl::Window()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   362
     {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   363
     return iWindow;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   364
     }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   365
     
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   366
        
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   367
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   368
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   369
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   370
// class CMVSStateControl
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   371
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   372
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   373
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   374
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   375
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   376
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   377
//NewL(...)              *** This method can LEAVE ***
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   378
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   379
// Factory contructor, initialises a control based on the rectangle provided.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   380
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   381
CMVSStateControl* CMVSStateControl::NewL(const CCoeControl& aContainer, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   382
                                         const TRect& aRect, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   383
                                         const TDesC& aText)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   384
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   385
	CMVSStateControl* self=new(ELeave) CMVSStateControl;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   386
	CleanupStack::PushL(self);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   387
	self->ConstructL(aContainer, aRect, aText);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   388
	CleanupStack::Pop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   389
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   390
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   391
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   392
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   393
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   394
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   395
//ContructL(...)              *** This method can LEAVE ***
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   396
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   397
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   398
void CMVSStateControl::ConstructL(const CCoeControl& aContainer, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   399
                                  const TRect& aRect, const TDesC& aText)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   400
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   401
	SetContainerWindowL(aContainer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   402
	SetRect(aRect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   403
    iWindow = aRect;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   404
	SetTextL(aText);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   405
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   406
    //Activate the control
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   407
	ActivateL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   408
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   409
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   410
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   411
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   412
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   413
//CMVSControl()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   414
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   415
// Constructor, does nothing. Private to prevent it being called.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   416
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   417
CMVSStateControl::CMVSStateControl()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   418
     {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   419
     }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   420
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   421
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   422
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   423
//~CMVSControl()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   424
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   425
// Destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   426
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   427
CMVSStateControl::~CMVSStateControl()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   428
     {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   429
     delete iText;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   430
     }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   431
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   432
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   433
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   434
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   435
//For Displaying the state
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   436
void CMVSStateControl::Draw(const TRect& /*aRect*/) const
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   437
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   438
	//Establish a Graphics Context
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   439
	CWindowGc& gc=SystemGc();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   440
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   441
    //Establish a drawing rectangle
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   442
	TRect rect=Rect();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   443
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   444
    //Move in 2 pixels each side to give a white border
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   445
	rect.Shrink(2,2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   446
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   447
    //Set-up a pen
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   448
	gc.SetPenStyle(CGraphicsContext::ENullPen);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   449
	gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   450
	gc.SetBrushColor(KRgbDarkGray);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   451
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   452
    //Draw a blank rectangle
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   453
    gc.DrawRect(rect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   454
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   455
    //Fill in the border-regions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   456
	DrawUtils::DrawBetweenRects(gc, Rect(), rect); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   457
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   458
    //Change the pen colour to black
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   459
    gc.SetPenStyle(CGraphicsContext::ESolidPen);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   460
	gc.SetPenColor(KRgbWhite);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   461
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   462
	//Set the fill colour to 'no fill'
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   463
    gc.SetBrushStyle(CGraphicsContext::ENullBrush);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   464
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   465
    //Draw a rectangle (transparent with a black border)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   466
	gc.DrawRect(rect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   467
	rect.Shrink(1,1);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   468
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   469
    const CFont* appFont = iEikonEnv->AnnotationFont();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   470
          DrawOtherWindows(gc,rect,appFont);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   471
    return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   472
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   473
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   474
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   475
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   476
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   477
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   478
//DrawOtherWindows(...)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   479
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   480
// Draw the text in a central position in the window.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   481
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   482
void CMVSStateControl::DrawOtherWindows(CGraphicsContext& aGc, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   483
                                        const TRect& aDeviceRect, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   484
                                        const CFont* aFont) const
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   485
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   486
    //Set up the pen and brush colours
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   487
    aGc.SetBrushStyle(CGraphicsContext::ESolidBrush);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   488
	aGc.SetBrushColor(KRgbGray);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   489
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   490
	aGc.SetPenStyle(CGraphicsContext::ESolidPen);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   491
	aGc.SetPenColor(KRgbWhite);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   492
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   493
    //Set-up a font
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   494
    aGc.UseFont(aFont);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   495
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   496
    //Set the baseline to be half the height of the rectangle + half
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   497
    //the height of the font
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   498
	TInt baseline=aDeviceRect.Height()/2 + aFont->AscentInPixels()/2;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   499
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   500
    //Draw the text
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   501
    //__ASSERT_ALWAYS(iText != NULL, User::Panic(KNullPtr, KNAPanicNullPointer));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   502
	aGc.DrawText(*iText, aDeviceRect, baseline, CGraphicsContext::ECenter);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   503
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   504
    //Done with the font
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   505
	aGc.DiscardFont();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   506
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   507
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   508
void CMVSStateControl::SetTextL(const TDesC& aText)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   509
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   510
    HBufC* text=aText.AllocL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   511
	delete iText;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   512
	iText=NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   513
	iText=text;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   514
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   515
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   516
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   517
//Window()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   518
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   519
// Returns the window defined by this object.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   520
TRect& CMVSStateControl::Window()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   521
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   522
    return iWindow;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   523
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   524
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   525
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   526
     
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   527
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   528
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   529
// class CMVSTimeControl
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   530
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   531
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   532
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   533
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   534
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   535
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   536
//NewL(...)              *** This method can LEAVE ***
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   537
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   538
// Factory contructor, initialises a control based on the rectangle provided.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   539
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   540
CMVSTimeControl* CMVSTimeControl::NewL(const CCoeControl& aContainer, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   541
                                         const TRect& aRect, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   542
                                         const TDesC& aText)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   543
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   544
	CMVSTimeControl* self=new(ELeave) CMVSTimeControl;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   545
	CleanupStack::PushL(self);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   546
	self->ConstructL(aContainer, aRect, aText);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   547
	CleanupStack::Pop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   548
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   549
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   550
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   551
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   552
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   553
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   554
//ContructL(...)              *** This method can LEAVE ***
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   555
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   556
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   557
void CMVSTimeControl::ConstructL(const CCoeControl& aContainer, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   558
                                  const TRect& aRect, const TDesC& aText)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   559
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   560
	SetContainerWindowL(aContainer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   561
	SetRect(aRect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   562
    iWindow = aRect;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   563
    SetTextL(aText);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   564
    iText2 = NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   565
    //Activate the control
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   566
	ActivateL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   567
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   568
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   569
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   570
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   571
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   572
//CMVSControl()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   573
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   574
// Constructor, does nothing. Private to prevent it being called.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   575
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   576
CMVSTimeControl::CMVSTimeControl()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   577
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   578
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   579
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   580
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   581
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   582
//~CMVSControl()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   583
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   584
// Destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   585
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   586
CMVSTimeControl::~CMVSTimeControl()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   587
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   588
    delete iText;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   589
    if(iText2)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   590
    	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   591
    	delete iText2;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   592
    	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   593
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   594
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   595
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   596
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   597
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   598
//For TimeDisplay
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   599
void CMVSTimeControl::Draw(const TRect& /*aRect*/) const
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   600
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   601
     //Establish a Graphics Context
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   602
	CWindowGc& gc=SystemGc();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   603
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   604
     //Establish a drawing rectangle
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   605
	TRect rect=Rect();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   606
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   607
    //Move in 2 pixels each side to give a white border
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   608
	rect.Shrink(2,2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   609
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   610
    //Set-up a pen
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   611
	gc.SetPenStyle(CGraphicsContext::ENullPen);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   612
	gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   613
	gc.SetBrushColor(KRgbDarkGray);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   614
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   615
    //Draw a blank rectangle
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   616
    gc.DrawRect(rect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   617
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   618
    //Fill in the border-regions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   619
	DrawUtils::DrawBetweenRects(gc, Rect(), rect); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   620
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   621
    //Change the pen colour to black
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   622
    gc.SetPenStyle(CGraphicsContext::ESolidPen);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   623
	gc.SetPenColor(KRgbWhite);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   624
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   625
	//Set the fill colour to 'no fill'
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   626
    gc.SetBrushStyle(CGraphicsContext::ENullBrush);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   627
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   628
    //Draw a rectangle (transparent with a black border)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   629
	gc.DrawRect(rect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   630
	rect.Shrink(1,1);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   631
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   632
    const CFont* appFont = iEikonEnv->AnnotationFont();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   633
    DrawOtherWindows(gc,rect,appFont);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   634
    return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   635
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   636
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   637
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   638
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   639
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   640
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   641
//DrawOtherWindows(...)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   642
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   643
// Draw the text in a central position in the window.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   644
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   645
void CMVSTimeControl::DrawOtherWindows(CGraphicsContext& aGc, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   646
                                        const TRect& aDeviceRect, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   647
                                        const CFont* aFont) const
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   648
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   649
    //Set up the pen and brush colours
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   650
    aGc.SetBrushStyle(CGraphicsContext::ESolidBrush);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   651
	aGc.SetBrushColor(KRgbGray);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   652
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   653
	aGc.SetPenStyle(CGraphicsContext::ESolidPen);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   654
	aGc.SetPenColor(KRgbWhite);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   655
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   656
    //Set-up a font
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   657
    aGc.UseFont(aFont);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   658
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   659
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   660
	if(iText2)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   661
		{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   662
		TInt rWidth =  aDeviceRect.iBr.iX - aDeviceRect.iTl.iX;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   663
		TInt rHeight = aDeviceRect.iBr.iY - aDeviceRect.iTl.iY;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   664
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   665
		TRect rect1(aDeviceRect.iTl,TSize(rWidth, rHeight/2));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   666
		TRect rect2(TPoint(aDeviceRect.iTl.iX, aDeviceRect.iTl.iY + rHeight/2),TSize(rWidth, rHeight/2));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   667
		
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   668
		TInt baseline = rect1.Height();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   669
	    //Draw the text 1
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   670
	    aGc.DrawText(*iText, rect1, baseline - 2, CGraphicsContext::ECenter);	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   671
	    //Draw the text 2
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   672
	    aGc.DrawText(*iText2, rect2, baseline - 3 , CGraphicsContext::ECenter);	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   673
		}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   674
    else
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   675
    	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   676
    	//Set the baseline to be half the height of the rectangle + half
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   677
	    //the height of the font
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   678
		TInt baseline=aDeviceRect.Height()/2 + aFont->AscentInPixels()/2;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   679
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   680
	    //Draw the text
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   681
	    aGc.DrawText(*iText, aDeviceRect, baseline, CGraphicsContext::ECenter);	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   682
    	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   683
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   684
    //Done with the font
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   685
	aGc.DiscardFont();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   686
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   687
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   688
void CMVSTimeControl::SetTextL(const TDesC& aText)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   689
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   690
    HBufC* text=aText.AllocL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   691
	delete iText;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   692
	iText=NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   693
	iText=text;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   694
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   695
   
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   696
void CMVSTimeControl::SetText2L(const TDesC& aText) 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   697
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   698
	HBufC* text=aText.AllocL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   699
	delete iText2;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   700
	iText2=NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   701
	iText2=text;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   702
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   703
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   704
void CMVSTimeControl::ResetText2L()	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   705
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   706
	delete iText2;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   707
	iText2=NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   708
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   709
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   710
//Window()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   711
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   712
// Returns the window defined by this object.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   713
TRect& CMVSTimeControl::Window()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   714
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   715
    return iWindow;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   716
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   717
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   718
     
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   719
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   720
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   721
// class CMVSInfoControl
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   722
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   723
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   724
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   725
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   726
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   727
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   728
//NewL(...)              *** This method can LEAVE ***
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   729
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   730
// Factory contructor, initialises a control based on the rectangle provided.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   731
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   732
CMVSInfoControl* CMVSInfoControl::NewL(const CCoeControl& aContainer, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   733
                                         const TRect& aRect, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   734
                                         const TDesC& aText)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   735
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   736
	CMVSInfoControl* self=new(ELeave) CMVSInfoControl;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   737
	CleanupStack::PushL(self);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   738
	self->ConstructL(aContainer, aRect, aText);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   739
	CleanupStack::Pop();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   740
	return self;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   741
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   742
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   743
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   744
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   745
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   746
//ContructL(...)              *** This method can LEAVE ***
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   747
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   748
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   749
void CMVSInfoControl::ConstructL(const CCoeControl& aContainer, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   750
                                  const TRect& aRect, const TDesC& aText)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   751
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   752
	SetContainerWindowL(aContainer);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   753
	SetRect(aRect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   754
    iWindow = aRect;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   755
    SetTextL(aText);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   756
    //Activate the control
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   757
	ActivateL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   758
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   759
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   760
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   761
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   762
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   763
//CMVSControl()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   764
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   765
// Constructor, does nothing. Private to prevent it being called.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   766
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   767
CMVSInfoControl::CMVSInfoControl()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   768
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   769
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   770
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   771
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   772
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   773
//~CMVSControl()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   774
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   775
// Destructor.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   776
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   777
CMVSInfoControl::~CMVSInfoControl()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   778
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   779
    delete iText;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   780
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   781
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   782
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   783
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   784
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   785
//Draw(...)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   786
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   787
void CMVSInfoControl::Draw(const TRect& /*aRect*/) const
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   788
	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   789
    //Establish a Graphics Context
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   790
	CWindowGc& gc=SystemGc();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   791
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   792
    //Establish a drawing rectangle
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   793
	TRect rect=Rect();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   794
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   795
    //Move in 2 pixels each side to give a white border
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   796
	rect.Shrink(2,2);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   797
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   798
    //Set-up a pen
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   799
	gc.SetPenStyle(CGraphicsContext::ENullPen);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   800
	gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   801
	gc.SetBrushColor(KRgbDarkGray);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   802
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   803
    //Draw a blank rectangle
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   804
    //gc.DrawRect(rect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   805
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   806
    //To cover Progress Bar area
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   807
    TRect ProgRect = rect;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   808
    TInt statusPaneHeight = 4*(Parent()->Rect().iTl.iY + Parent()->Rect().iBr.iY)/5;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   809
    ProgRect.iBr.iY = statusPaneHeight;	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   810
    ProgRect.Grow(2,0);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   811
    gc.DrawRect(ProgRect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   812
    
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   813
    //Fill in the border-regions
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   814
	DrawUtils::DrawBetweenRects(gc, Rect(), rect); 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   815
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   816
    //Change the pen colour to black
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   817
    gc.SetPenStyle(CGraphicsContext::ESolidPen);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   818
	gc.SetPenColor(KRgbWhite);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   819
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   820
	//Set the fill colour to 'no fill'
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   821
    gc.SetBrushStyle(CGraphicsContext::ENullBrush);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   822
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   823
    //Draw a rectangle (transparent with a black border)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   824
	gc.DrawRect(rect);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   825
	rect.Shrink(1,1);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   826
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   827
    const CFont* appFont = iEikonEnv->AnnotationFont();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   828
    DrawMainWindow(gc,rect,appFont);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   829
    return;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   830
	}
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   831
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   832
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   833
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   834
void CMVSInfoControl::DrawMainWindow(CGraphicsContext& aGc, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   835
                                      const TRect& /*aDeviceRect*/, 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   836
                                      const CFont* aFont) const
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   837
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   838
    //Set up a brush and pen
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   839
    aGc.SetBrushStyle(CGraphicsContext::ESolidBrush);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   840
	aGc.SetBrushColor(KRgbDarkGray);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   841
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   842
	aGc.SetPenStyle(CGraphicsContext::ESolidPen);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   843
	aGc.SetPenColor(KRgbWhite);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   844
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   845
    //Get a font
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   846
    aGc.UseFont(aFont);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   847
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   848
    //The 'step' by which we move down to get to a fresh line in
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   849
    //the window
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   850
    TInt distToNextBaseline = (aFont->AscentInPixels()/2)*3;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   851
	
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   852
    //The main window text
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   853
    TPtrC mainWindowText;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   854
    mainWindowText.Set(iText->Des());
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   855
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   856
    //The escape sequence
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   857
    _LIT(KDollarDollar, "$$");
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   858
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   859
    TRect rect;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   860
    TInt x = 10; //The left hand side of the rectangle
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   861
    TInt y = 10; //The top of the rectangle.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   862
     
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   863
    //Whilst we can find a '$$' in the string
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   864
    while(mainWindowText.Find(KDollarDollar) != KErrNotFound)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   865
    	{
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   866
       	//do text up to $$
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   867
        TInt pos = mainWindowText.Find(KDollarDollar);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   868
        TPtrC text(mainWindowText.Mid(0,pos));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   869
         
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   870
        //define the rectangle for this text
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   871
        TInt height = aFont->HeightInPixels();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   872
	    TInt width = aFont->TextWidthInPixels( text );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   873
	    rect.SetRect( x, y, x + width, y + height );
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   874
         
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   875
		//Draw the text
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   876
        aGc.DrawText(text, rect, height - aFont->DescentInPixels(), 
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   877
                     CGraphicsContext::ELeft);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   878
	     
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   879
        //delete text upto and including '$$'
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   880
        text.Set(mainWindowText.Right(mainWindowText.Length() - (pos+2)));
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   881
        mainWindowText.Set(text);
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   882
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   883
		//adjust the baseline offset
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   884
        y+=distToNextBaseline;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   885
        }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   886
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   887
    //Done with our font
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   888
    aGc.DiscardFont();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   889
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   890
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   891
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   892
void CMVSInfoControl::SetTextL(const TDesC& aText)
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   893
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   894
    HBufC* text=aText.AllocL();
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   895
	delete iText;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   896
	iText=NULL;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   897
	iText=text;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   898
    }
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   899
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   900
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   901
//Window()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   902
//
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   903
// Returns the window defined by this object.
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   904
TRect& CMVSInfoControl::Window()
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   905
    {
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   906
    return iWindow;
b8ed18f6c07b 2010wk40
hgs
parents:
diff changeset
   907
    }