00001
00002
00003
00004
00005
00006 #include <ImageConversion.h>
00007 #include "ShowInfoDialog.h"
00008
00009 const TInt KMaxInfoDescriptorLength = 100;
00010
00011 CShowInfoDialog::CShowInfoDialog( CFrameInfoStrings* aInfoStrings ) :
00012 iInfoStrings( aInfoStrings )
00013 {
00014 }
00015
00016 CShowInfoDialog::~CShowInfoDialog()
00017 {
00018 iEikonEnv->ScreenDevice()->ReleaseFont(iFont);
00019 }
00020
00021 void CShowInfoDialog::PreLayoutDynInitL()
00022 {
00023 CAknQueryDialog::PreLayoutDynInitL();
00024 SetEditableL(ETrue);
00025
00026
00027 _LIT( KSeries60SansB, "Series 60 SansB" );
00028 TFontSpec fontSpec( KSeries60SansB, 75 );
00029 fontSpec.iFontStyle.SetBitmapType(EAntiAliasedGlyphBitmap);
00030 User::LeaveIfError(iEikonEnv->ScreenDevice()->GetNearestFontInTwips( iFont, fontSpec ));
00031 }
00032
00033 void CShowInfoDialog::PostLayoutDynInitL()
00034 {
00035 CalculatePositionAndSize();
00036 }
00037
00038 TBool CShowInfoDialog::OkToExitL(TInt )
00039 {
00040 return ETrue;
00041 }
00042
00043 TInt CShowInfoDialog::CountComponentControls() const
00044 {
00045 return( 0 );
00046 }
00047
00048 CCoeControl* CShowInfoDialog::ComponentControl(TInt ) const
00049 {
00050 return NULL;
00051 }
00052
00053 void CShowInfoDialog::CalculatePositionAndSize()
00054 {
00055 TRect cRect;
00056 AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane,cRect);
00057
00058 cRect.Shrink(25,25);
00059 SetExtent(cRect.iTl,cRect.Size());
00060 }
00061
00062 void CShowInfoDialog::SetSizeAndPosition(const TSize &aSize)
00063 {
00064 CAknQueryDialog::SetSizeAndPosition( aSize );
00065
00066 CalculatePositionAndSize();
00067 }
00068
00069 void CShowInfoDialog::SizeChanged()
00070 {
00071 DrawNow();
00072 }
00073
00074 void CShowInfoDialog::HandleResourceChange(TInt aType)
00075 {
00076 CAknQueryDialog::HandleResourceChange(aType);
00077 }
00078
00079 void CShowInfoDialog::Draw( const TRect& ) const
00080 {
00081
00082 CWindowGc& gc = SystemGc();
00083 gc.SetPenStyle( CGraphicsContext::ENullPen );
00084 gc.SetBrushColor( KRgbBlack);
00085 gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
00086
00087
00088 gc.Clear(Rect());
00089 gc.SetBrushStyle( CGraphicsContext::ENullBrush );
00090
00091
00092 gc.SetPenStyle( CGraphicsContext::ESolidPen );
00093 gc.SetPenColor(KRgbWhite);
00094 gc.DrawRect(Rect());
00095
00096
00097 gc.UseFont(iFont);
00098 TBuf<KMaxInfoDescriptorLength> desc;
00099 TPoint point = Rect().iTl;
00100 point.iX += 10;
00101 for( TInt i=0; i<iInfoStrings->Count(); i++ )
00102 {
00103 point.iY += 20;
00104 desc.Copy( iInfoStrings->String(i) );
00105 gc.DrawText(desc,point);
00106 }
00107 }
00108
00109
00110
00111