multimediacommsengine/tsrc/MCETestUI/src/createDisplaySinkDialog.cpp
changeset 0 1bce908db942
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/multimediacommsengine/tsrc/MCETestUI/src/createDisplaySinkDialog.cpp	Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,174 @@
+/*
+* 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:  
+*
+*/
+
+
+
+
+// INCLUDES
+#include "createDisplaySinkDialog.h"
+#include "CMCETestUIEngineVideoStream.h"
+#include "CMCETestUIEngineVideoSink.h"
+#include <MCEAudioStream.h>
+#include <MCEDisplaySink.h>
+#include <MCEMediaSink.h>
+
+// CONSTANTS
+
+const TInt KBufLength = 100;
+
+// ============================ MEMBER FUNCTIONS ==============================
+
+// ----------------------------------------------------------------------------
+// CCreateDisplaySinkDialog::CCreateDisplaySinkDialog( )
+// .
+// ----------------------------------------------------------------------------
+//
+CCreateDisplaySinkDialog::CCreateDisplaySinkDialog(
+						 CMCETestUIEngineVideoStream& aStream, TInt aIndex ) :
+    iStream(aStream),iSinkIndex( aIndex )
+    {
+    
+    // No implementation required
+    }
+
+// ----------------------------------------------------------------------------
+// CCreateDisplaySinkDialog::PreLayoutDynInitL()
+// .
+// ----------------------------------------------------------------------------
+//
+void CCreateDisplaySinkDialog::PreLayoutDynInitL()
+    {
+    
+    CAknForm::PreLayoutDynInitL();
+    const RPointerArray<CMCETestUIEngineVideoSink>& sinks = 
+            iStream.SinksL();
+   
+   	CMceMediaSink& mediaSink = static_cast<CMceMediaSink&>(sinks[iSinkIndex]->Sink());
+    CMceDisplaySink& displaySink = static_cast<CMceDisplaySink&>(mediaSink);
+    
+    CEikNumberEditor* dispPrority = static_cast<CEikNumberEditor*>(
+                                  Control( EDisplaySinkPriority ) );
+    dispPrority->SetNumber(/*displaySink.DisplaysAvailable()*/displaySink.PriorityL());    
+    
+    CEikNumberEditor* dispSinkAvailable = static_cast<CEikNumberEditor*>(
+                                  Control( EDisplaySinksAvailable ) );
+    dispSinkAvailable->SetNumber(displaySink.DisplaysAvailable());    
+    
+  /*  CEikNumberEditor* dispSinkIndex = static_cast<CEikNumberEditor*>(
+                                  Control( EDisplaySinkIndex ) );
+    dispSinkIndex->SetNumber(0);  */  
+    
+    TRect rect = displaySink.DisplayRectL();
+    TPoint tl = rect.iTl;
+    TPoint br = rect.iBr;
+    
+    TInt rectX1  = tl.iX;
+    TInt rectY1  = tl.iY;
+    
+    TInt rectX2  = br.iX;
+    TInt rectY2  = br.iY;
+    
+    CEikNumberEditor* rectiX1 = static_cast<CEikNumberEditor*>(
+                                  Control( EDisplaySinkRectIX1 ) );
+    rectiX1->SetNumber(rectX1);    
+    
+    CEikNumberEditor* rectiY1 = static_cast<CEikNumberEditor*>(
+                                  Control( EDisplaySinkRectIY1 ) );
+    rectiY1->SetNumber(rectY1);    
+    
+    CEikNumberEditor* rectiX2 = static_cast<CEikNumberEditor*>(
+                                  Control( EDisplaySinkRectIX2 ) );
+    rectiX2->SetNumber(rectX2);    
+    
+    CEikNumberEditor* rectiY2 = static_cast<CEikNumberEditor*>(
+                                  Control( EDisplaySinkRectIY2 ) );
+    rectiY2->SetNumber(rectY2);    
+      
+    }
+
+// ----------------------------------------------------------------------------
+// CCreateDisplaySinkDialog::OkToExitL( TInt )
+// .
+// ----------------------------------------------------------------------------
+//
+
+TBool CCreateDisplaySinkDialog::OkToExitL( TInt aKey )
+    {
+    if ( aKey == EEikCmdCanceled )
+        {
+        // Cancel pressed. Just exit.
+        return ETrue;
+        }
+    const RPointerArray<CMCETestUIEngineVideoSink>& sinks = 
+            iStream.SinksL();
+            
+    if(sinks[iSinkIndex]->Type() == KMceDisplaySink)
+    	{
+    	CMceMediaSink& mediaSink = static_cast<CMceMediaSink&>(sinks[iSinkIndex]->Sink());
+    	CMceDisplaySink& displaySink = static_cast<CMceDisplaySink&>(mediaSink);
+    	
+    	CEikNumberEditor* dispPrority = static_cast<CEikNumberEditor*>(
+                                  Control( EDisplaySinkPriority ) );
+	    displaySink.SetPriorityL(dispPrority->Number());
+	    
+	    /*
+	    CEikNumberEditor* dispSinkIndex = static_cast<CEikNumberEditor*>(
+	                                  Control( EDisplaySinkIndex ) );
+	    displaySink.SetDisplayIndexL(dispSinkIndex->Number()); */  
+	    
+	    	    
+	    CEikNumberEditor* rectiX1 = static_cast<CEikNumberEditor*>(
+	                                  Control( EDisplaySinkRectIX1 ) );
+	    TInt rectX1  = rectiX1->Number();    
+	    
+	    CEikNumberEditor* rectiY1 = static_cast<CEikNumberEditor*>(
+	                                  Control( EDisplaySinkRectIY1 ) );
+	    TInt rectY1  = rectiY1->Number();
+	    
+	    CEikNumberEditor* rectiX2 = static_cast<CEikNumberEditor*>(
+	                                  Control( EDisplaySinkRectIX2 ) );
+	    TInt rectX2  = rectiX2->Number();    
+	    
+	    CEikNumberEditor* rectiY2 = static_cast<CEikNumberEditor*>(
+	                                  Control( EDisplaySinkRectIY2 ) );
+	    TInt rectY2  = rectiY2->Number();    
+	    
+	    TPoint tl(rectX1,rectY1);
+	    TPoint br(rectX2,rectY2);
+	    
+	    TRect rect(tl,br);
+	    
+	    displaySink.SetDisplayRectL(rect);
+   	
+    	}
+    
+    
+       
+    return ETrue;
+    }
+
+// ----------------------------------------------------------------------------
+// CCreateDisplaySinkDialog::~CCreateDisplaySinkDialog()
+// .
+// ----------------------------------------------------------------------------
+//
+CCreateDisplaySinkDialog::~CCreateDisplaySinkDialog()
+    {
+    return;
+    } 
+
+// End of File