videditor/ManualVideoEditor/inc/VeiAppUi.h
changeset 0 951a5db380a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videditor/ManualVideoEditor/inc/VeiAppUi.h	Fri Jan 29 14:08:33 2010 +0200
@@ -0,0 +1,182 @@
+/*
+* 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 VEDAPPUI_H
+#define VEDAPPUI_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 <MMGXFileNotificationObserver.h>
+// User includes
+#include "VeiSettingsView.h"
+#include "VideoEditorDebugUtils.h"
+
+// FORWARD DECLARATIONS
+class CVeiSettingsView;
+class CVeiEditVideoView;
+class CVeiCutVideoView;
+class CVeiSettingsView;
+class CVeiCutAudioView;
+class CVeiTrimForMmsView;
+class CSendUi;
+class CEikAppUi;
+class CMGXFileNotificationHandler;
+
+/**
+ * Application UI class.
+ * Provides support for the following features:
+ * - EIKON control architecture
+ * - view architecture
+ * - status pane
+ * 
+ */
+class CVeiAppUi: public CAknViewAppUi,
+                 public MMGXFileNotificationObserver
+{
+public:
+    // // Constructors and destructor
+
+    /**
+     * Default constructor.
+     */
+    void ConstructL();
+
+    /**
+     * Destructor.
+     */
+    ~CVeiAppUi();
+
+public:
+    // New functions
+    inline TInt GetVolumeLevel() { return iVolume; };
+		
+    inline void SetVolumeLevel( TInt aVolume ) { iVolume=aVolume; };
+
+    void InsertVideoClipToMovieL( TBool aDoOpen, const TDesC& aFilename );
+
+    CVeiAppUi();
+
+    /**	HandleError
+     *
+     *   @CAknAppUi
+     */
+    virtual TErrorHandlerResponse HandleError( TInt aError,
+                                               const SExtendedError& aExtErr,
+                                               TDes& aErrorText,
+                                               TDes& aContextText );
+
+    /**
+     * 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 )const;
+
+    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
+
+    CVeiEditVideoView* iEditVideoView;
+
+    CVeiSettingsView* iSettingsView;
+
+    CVeiCutVideoView* iCutVideoView;
+
+    CVeiCutAudioView* iCutAudioView;
+
+    CMGXFileNotificationHandler* iFileNotificationHandler;
+
+    /**
+     * Trim for MMS view.
+     */
+    CVeiTrimForMmsView* iTrimForMmsView;
+
+    /**
+     * Common volume setting.
+     */
+    TInt iVolume;
+
+    /**
+     * Send UI, MMS/Infrared/BT
+     */
+    CSendUi* iSendAppUi;
+
+    TProcessPriority iOriginalProcessPriority;
+    TBool iProcessPriorityAltered;
+
+    TBool iOnTheWayToDestruction;
+};
+
+#endif 
+
+// End of File