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