examples/ForumNokia/DBMS/src/DBMSAppview.cpp

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 

Generated by  doxygen 1.6.2