--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/multimediacommsengine/tsrc/testdriver/testclient/ui/src/CTcContainer.h Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,140 @@
+/*
+* Copyright (c) 2004 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: See class definition below.
+*
+*/
+
+#ifndef __CTCCONTAINER_H__
+#define __CTCCONTAINER_H__
+
+// INCLUDES
+#include <coecntrl.h>
+
+#ifdef __SERIES60_
+#include <aknutils.h>
+#endif
+
+// FORWARD DECLARATIONS
+class CEikLabel;
+
+// CLASS DEFINITION
+/**
+ * CTcContainer implements the application main view control.
+ * It is responsible for displaying application state information
+ * (e.g. test case name and CTRL request).
+ */
+class CTcContainer
+ : public CCoeControl
+ {
+ public: // Constructors and destructor
+
+ /**
+ * Static constructor.
+ *
+ * @param aRect View area for this control.
+ * @return An initialized instance of this class
+ */
+ static CTcContainer* NewL( const TRect& aRect );
+
+ /// Destructor
+ ~CTcContainer();
+
+ private: // Constructors
+
+ /// Default constructor
+ CTcContainer();
+
+ /**
+ * 2nd phase constructor.
+ *
+ * @param aRect View area for this control.
+ */
+ void ConstructL( const TRect& aRect );
+
+ public: // from CCoeControl
+
+ void Draw( const TRect& aRect ) const;
+
+ protected: // from CCoeControl
+
+ TInt CountComponentControls() const;
+ CCoeControl* ComponentControl( TInt aIndex ) const;
+
+#ifdef __SERIES60_
+
+ void SizeChanged();
+ void HandleResourceChange( TInt aType );
+#endif
+
+ public: // New methods
+
+ /**
+ * Query state of a TestRunner instance and update status
+ * displays accordingly.
+ * This is called from CTcAppUi::NotifyStatusChange()
+ *
+ * @param aRunner TestRunner reference
+ */
+ void Update( CTcTestRunner& aRunner );
+
+ /**
+ * Update the Status label with the given text
+ * This is called from CTcAppUi::SetStatus()
+ *
+ * @param aStatus New status text
+ */
+ void UpdateStatus( const TDesC8& aStatus );
+
+ private: // New methods
+
+ /**
+ * This is an internal helper function for creating and laying out
+ * CEikLabel controls.
+ *
+ * @param aRect View area for the created label
+ * @param aText Default text for the label
+ * @return An initialized label control.
+ */
+ CEikLabel* CreateLabelL( const TRect& aRect, const TDesC& aText );
+
+ /**
+ * Changes the text of one of the labels in the array
+ *
+ * @param aLabelId Label array index
+ * @param aText new text for the label
+ */
+ void SetLabelText( TInt aLabelId, const TDesC8& aText );
+
+ void CreateLabelsL( const TRect& aRect );
+
+#ifdef __SERIES60_
+
+ AknLayoutUtils::SAknLayoutTextMultiline GetLabelLayout( const TRect& aRect,
+ TInt aLabelBase,
+ TAknLogicalFontId aFontId ) const;
+
+ TInt FontTotalHeightInPixels( TAknLogicalFontId aFontId ) const;
+
+ void ReLayoutAllLabels( const TRect& aRect );
+
+#endif
+
+ private: // Data
+
+ /// Label controls. Owned.
+ CArrayPtrSeg< CEikLabel > iLabels;
+
+ };
+
+#endif // __CTCCONTAINER_H__