videditor/SimpleCutVideo/inc/VeiSimpleCutVideoAppUi.h
changeset 0 951a5db380a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videditor/SimpleCutVideo/inc/VeiSimpleCutVideoAppUi.h	Fri Jan 29 14:08:33 2010 +0200
@@ -0,0 +1,146 @@
+/*
+* Copyright (c) 2010 Ixonos Plc.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the "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:
+* Ixonos Plc
+*
+* Description: 
+*
+*/
+
+
+
+#ifndef VEDSIMPLECUTVIDEOAPPUI_H
+#define VEDSIMPLECUTVIDEOAPPUI_H
+
+// INCLUDES
+// System includes
+#include <eikapp.h>
+#include <eikdoc.h>
+#include <e32std.h>
+#include <coeccntx.h>
+#include <aknviewappui.h>
+#include <akntabgrp.h>
+#include <aknnavide.h>
+#include "VeiSettings.h"
+#include "VideoEditorDebugUtils.h"
+
+// FORWARD DECLARATIONS
+class CVeiSimpleCutVideoView;
+class CEikAppUi;
+
+
+/**
+* Application UI class.
+* Provides support for the following features:
+* - EIKON control architecture
+* - view architecture
+* - status pane
+* 
+*/
+class CVeiSimpleCutVideoAppUi : public CAknViewAppUi
+
+    {
+    public: // // Constructors and destructor
+
+        /**
+        * Default constructor.
+        */      
+        void ConstructL();
+
+        /**
+        * Destructor.
+        */      
+        ~CVeiSimpleCutVideoAppUi();
+
+    public: // New functions
+		inline TInt GetVolumeLevel() { return iVolume; };
+		
+		inline void SetVolumeLevel( TInt aVolume ) { iVolume=aVolume; };
+
+		void CutVideoL( TBool aDoOpen, const RFile& aFile );
+
+		CVeiSimpleCutVideoAppUi();
+		
+		void Exit();
+
+		/**
+		 * Reads application settings data from ini-file. 
+		 *
+		 * @param aSettings Settings data where values are read.
+		 */		
+		void ReadSettingsL( TVeiSettings& aSettings ) const;
+		
+		/**
+		 * Writes application settings data to ini-file.
+		 *
+		 * @param aSettings Settings data where values are written.
+		 */
+		void WriteSettingsL( const TVeiSettings& aSettings );
+		
+		inline TBool AppIsOnTheWayToDestruction() { return iOnTheWayToDestruction; };
+
+    private:
+        /**
+        * From CEikAppUi, takes care of command handling.
+        * @param aCommand command to be handled
+        */
+        void HandleCommandL(TInt aCommand);
+
+        /**
+        * From CEikAppUi, handles key events.
+        * @param aKeyEvent Event to handled.
+        * @param aType Type of the key event. 
+        * @return Response code (EKeyWasConsumed, EKeyWasNotConsumed). 
+        */
+        virtual TKeyResponse HandleKeyEventL(
+            const TKeyEvent& aKeyEvent,TEventCode aType);
+
+        /**
+        * From CAknAppUiBase.   
+	    * Calls CAknViewAppUi::HandleScreenDeviceChangedL().
+        */
+		virtual void HandleScreenDeviceChangedL();	
+
+		/**
+	    * From @c CEikAppUi. Handles a change to the application's resources which
+	    * are shared across the environment. This function calls 
+	    * @param aType The type of resources that have changed. 
+	    */
+		virtual void HandleResourceChangeL(TInt aType);
+
+		/** 
+		* From CAknAppUi, HandleForegroundEventL( TBool aForeground )
+		* @param aForeground
+		*/
+		virtual void HandleForegroundEventL( TBool aForeground );
+		
+		// From MMGXFileNotificationObserver
+		virtual void HandleFileNotificationEventL();
+
+    private: //Data
+    
+    	CVeiSimpleCutVideoView*	iSimpleCutVideoView;
+        
+        /**
+         * Common volume setting.
+         */
+		TInt				iVolume;
+
+		TProcessPriority 	iOriginalProcessPriority;
+		TBool 				iProcessPriorityAltered;
+		
+		TBool 				iOnTheWayToDestruction;
+	};
+
+#endif
+
+// End of File