--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/photosgallery/gallery/src/glxdocument.cpp Thu Dec 17 08:45:44 2009 +0200
@@ -0,0 +1,126 @@
+/*
+* Copyright (c) 2008-2009 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: Document class
+*
+*/
+
+#include <mpxviewutility.h>
+
+#include "glxappui.h"
+#include "glxdocument.h"
+#include <glximageviewermanager.h>
+#include <glxtracer.h>
+
+// -----------------------------------------------------------------------------
+// NewL
+// -----------------------------------------------------------------------------
+//
+CGlxDocument* CGlxDocument::NewL(CEikApplication& aApp)
+ {
+ TRACER("CGlxDocument::NewL");
+ CGlxDocument* self = NewLC(aApp);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// NewLC
+// -----------------------------------------------------------------------------
+//
+CGlxDocument* CGlxDocument::NewLC(CEikApplication& aApp)
+ {
+ TRACER("CGlxDocument::NewLC");
+ CGlxDocument* self = new (ELeave) CGlxDocument(aApp);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
+// ConstructL
+// -----------------------------------------------------------------------------
+//
+void CGlxDocument::ConstructL()
+ {
+ TRACER("CGlxDocument::ConstructL");
+ iViewUtility = MMPXViewUtility::UtilityL();
+ iImageViewerInstance = CGlxImageViewerManager::InstanceL();
+ }
+
+// -----------------------------------------------------------------------------
+// Constructor
+// -----------------------------------------------------------------------------
+//
+CGlxDocument::CGlxDocument(CEikApplication& aApp) : CAknDocument(aApp)
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// Destructor
+// -----------------------------------------------------------------------------
+//
+CGlxDocument::~CGlxDocument()
+ {
+ TRACER("CGlxDocument::~CGlxDocument()");
+ if (iViewUtility != NULL)
+ {
+ iViewUtility->Close();
+ }
+ if ( NULL != iImageViewerInstance)
+ {
+ iImageViewerInstance->DeleteInstance();
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CGlxDocument::OpenFileL()
+// Open document.
+// -----------------------------------------------------------------------------
+void CGlxDocument::OpenFileL( CFileStore*& /*aFileStore*/, RFile& aFile )
+ {
+ TRACER("CGlxDocument::OpenFileL()");
+ // Make sure that aFile is closed in leave situation
+ CleanupClosePushL( aFile );
+
+ // Reset old data
+ ResetDocument();
+ iImageViewerInstance->SetImageFileHandleL(aFile);
+ CleanupStack::PopAndDestroy(); // Close aFile
+ }
+
+// ----------------------------------------------------------------------------
+// CGlxDocument::ResetDocument
+// Reset the document
+// ----------------------------------------------------------------------------
+//
+void CGlxDocument::ResetDocument()
+ {
+ TRACER("CGlxDocument::ResetDocument()");
+ // Set document to NULL
+ iImageViewerInstance->Reset();
+ }
+
+// -----------------------------------------------------------------------------
+// CreateAppUiL
+// -----------------------------------------------------------------------------
+//
+CEikAppUi* CGlxDocument::CreateAppUiL()
+ {
+ TRACER("CGlxDocument::CreateAppUiL()");
+ // Create the application user interface, and return a pointer to it,
+ // the framework takes ownership of this object
+ CEikAppUi* appUi = new (ELeave) CGlxAppUi();
+ return appUi;
+ }
+