00001 /* 00002 * Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 00003 * 00004 * Redistribution and use in source and binary forms, with or without 00005 * modification, are permitted provided that the following conditions are met: 00006 * 00007 * * Redistributions of source code must retain the above copyright notice, this 00008 * list of conditions and the following disclaimer. 00009 * * Redistributions in binary form must reproduce the above copyright notice, 00010 * this list of conditions and the following disclaimer in the documentation 00011 * and/or other materials provided with the distribution. 00012 * * Neither the name of Nokia Corporation nor the names of its contributors 00013 * may be used to endorse or promote products derived from this software 00014 * without specific prior written permission. 00015 * 00016 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00017 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00018 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00019 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00020 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00021 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00022 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00023 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00024 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00025 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00026 * 00027 * Description: 00028 */ 00029 00030 #include <eikenv.h> 00031 #include <gdi.h> 00032 #include <AknUtils.h> 00033 00034 #include "DBMSAppView.h" 00035 00036 // --------------------------------------------------------------------------- 00037 // CDBMSAppUi::NewL() 00038 // 00039 // Create instance of this view. 00040 // --------------------------------------------------------------------------- 00041 CDBMSAppView* CDBMSAppView::NewL(const TRect& aRect) 00042 { 00043 CDBMSAppView* self = new (ELeave) CDBMSAppView; 00044 CleanupStack::PushL(self); 00045 self->ConstructL(aRect); 00046 CleanupStack::Pop(self); 00047 return self; 00048 } 00049 00050 // --------------------------------------------------------------------------- 00051 // CDBMSAppUi::ConstructL() 00052 // 00053 // Perform the second phase construction. 00054 // --------------------------------------------------------------------------- 00055 void CDBMSAppView::ConstructL(const TRect& aRect) 00056 { 00057 // Create a window for this application view 00058 CreateWindowL(); 00059 00060 // Set the windows size 00061 SetRect(aRect); 00062 00063 ActivateL(); 00064 } 00065 00066 // --------------------------------------------------------------------------- 00067 // CDBMSAppUi::CDBMSAppView() 00068 // 00069 // Constructor 00070 // --------------------------------------------------------------------------- 00071 CDBMSAppView::CDBMSAppView() 00072 { 00073 // No implementation required 00074 } 00075 00076 00077 // --------------------------------------------------------------------------- 00078 // CDBMSAppUi::~CDBMSAppView() 00079 // 00080 // Desctructor 00081 // --------------------------------------------------------------------------- 00082 CDBMSAppView::~CDBMSAppView() 00083 { 00084 } 00085 00086 // --------------------------------------------------------------------------- 00087 // CDBMSAppUi::Draw() 00088 // 00089 // Draw the view. Show simple "DBMS" text in the center of the view. 00090 // This is called by the framework, when necessary. 00091 // --------------------------------------------------------------------------- 00092 void CDBMSAppView::Draw(const TRect& /*aRect*/) const 00093 { 00094 _LIT(KText,"DBMS"); 00095 00096 CWindowGc& gc = SystemGc(); // Window graphics context 00097 TRect drawRect = Rect(); // Area in which we shall draw 00098 const CFont* fontUsed = iEikonEnv->TitleFont(); 00099 gc.Clear(); // Start with a clear screen 00100 00101 // Draw an outline rectangle slightly smaller than the drawing area. 00102 drawRect.Shrink(10,10); 00103 gc.DrawRect(drawRect); 00104 gc.UseFont(fontUsed); 00105 // Draw the text in the middle of the rectangle. 00106 TInt baselineOffset=(drawRect.Height() - fontUsed->HeightInPixels())/2; 00107 gc.DrawText(KText, drawRect, baselineOffset, CGraphicsContext::ECenter, 0); 00108 // Finished using the font 00109 gc.DiscardFont(); 00110 } 00111 00112