00001 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). 00002 // All rights reserved. 00003 // This component and the accompanying materials are made available 00004 // under the terms of "Eclipse Public License v1.0" 00005 // which accompanies this distribution, and is available 00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html". 00007 // 00008 // Initial Contributors: 00009 // Nokia Corporation - initial contribution. 00010 // 00011 // Contributors: 00012 // 00013 // Description: 00014 // 00015 00016 #include "embedded.h" 00017 00018 const TUid KAppEmbeddable = { 0xE800008F }; 00019 00020 CExampleAppView::CExampleAppView() 00021 {} 00022 00023 // Static function wraps up two-phase construction for the view. 00024 CExampleAppView* CExampleAppView::NewL(const TRect& aRect) 00025 { 00026 CExampleAppView* self = new(ELeave) CExampleAppView(); 00027 CleanupStack::PushL(self); 00028 self->ConstructL(aRect); 00029 CleanupStack::Pop(); 00030 return self; 00031 } 00032 00033 CExampleAppView::~CExampleAppView() 00034 { 00035 delete iExampleText; 00036 } 00037 00038 // Standard initialisation for a window-owning control. 00039 void CExampleAppView::ConstructL(const TRect& aRect) 00040 { 00041 TPtrC ptr(KExampleText); 00042 iExampleText = ptr.AllocL(); 00043 CreateWindowL(); 00044 SetRect(aRect); 00045 ActivateL(); 00046 } 00047 00048 // Draws the view with a simple outline rectangle and then 00049 // draws the welcome text centred. 00050 void CExampleAppView::Draw(const TRect& /*aRect*/) const 00051 { 00052 CWindowGc& gc = SystemGc(); 00053 TRect drawRect = Rect(); 00054 const CFont* fontUsed; 00055 00056 gc.Clear(); 00057 fontUsed = iEikonEnv->TitleFont(); 00058 gc.UseFont(fontUsed); 00059 TInt baselineOffset=(drawRect.Height() - fontUsed->HeightInPixels())/2; 00060 gc.DrawText(*iExampleText,drawRect,baselineOffset,CGraphicsContext::ECenter, 0); 00061 gc.DiscardFont(); 00062 } 00063 00064 // Second phase constructor of the application UI class. 00065 // It creates and owns a single view. 00066 void CExampleAppUi::ConstructL() 00067 { 00068 BaseConstructL(ENoAppResourceFile | ENoScreenFurniture); 00069 iAppView = CExampleAppView::NewL(ClientRect()); 00070 } 00071 00072 // The application UI class owns one view, and is responsible 00073 // for destroying it. 00074 CExampleAppUi::~CExampleAppUi() 00075 { 00076 delete iAppView; 00077 } 00078 00079 // Called by the UI framework when a command has been issued. 00080 // Minimally needs to handle the exit command. 00081 void CExampleAppUi::HandleCommandL(TInt aCommand) 00082 { 00083 switch (aCommand) 00084 { 00085 case EEikCmdExit: 00086 Exit(); 00087 break; 00088 } 00089 } 00090 00091 CExampleDocument::CExampleDocument(CEikApplication& aApp) 00092 : CEikDocument(aApp) 00093 {} 00094 00095 // Called by the UI framework to construct 00096 // the application UI class. Note that the app UI's 00097 // ConstructL() is called by the UI framework. 00098 CEikAppUi* CExampleDocument::CreateAppUiL() 00099 { 00100 return new(ELeave) CExampleAppUi; 00101 } 00102 00103 // Called by the UI framework at application start-up to 00104 // create an instance of the document class. 00105 CApaDocument* CExampleApplication::CreateDocumentL() 00106 { 00107 return new (ELeave) CExampleDocument(*this); 00108 } 00109 00110 // Called by the UI framework to get the application's UID 00111 TUid CExampleApplication::AppDllUid() const 00112 { 00113 return KAppEmbeddable; 00114 } 00115 00116 // Called by the UI framework to get the name of the resource file. 00117 // This returns an empty filename as there is no resource file. 00118 TFileName CExampleApplication::ResourceFileName() const 00119 { 00120 return TFileName(); 00121 } 00122
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.