diff -r f345bda72bc4 -r 43e37759235e Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/threadappview_8cpp_source.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/threadappview_8cpp_source.html Tue Mar 30 16:16:55 2010 +0100 @@ -0,0 +1,193 @@ + + +
+ +00001 /* +00002 * ============================================================================ +00003 * Name : CThreadAppView from CThreadAppView.h +00004 * Part of : Thread +00005 * Created : 04.02.2005 by Forum Nokia +00006 * Version : 1.0 +00007 * Copyright: Nokia Corporation +00008 * ============================================================================ +00009 */ +00010 +00011 // INCLUDES +00012 #include <coemain.h> +00013 #include "ThreadAppView.h" +00014 #include "ThreadAnimation.h" +00015 #include <barsread.h> //TResourceReader +00016 #include <thread.rsg> +00017 +00018 #include <w32std.h> +00019 +00021 #define KEditorPosition TPoint(0,55) +00022 +00023 CThreadAppView* CThreadAppView::NewL(const TRect& aRect) +00024 { +00025 CThreadAppView* self = CThreadAppView::NewLC(aRect); +00026 CleanupStack::Pop(self); +00027 return self; +00028 } +00029 +00030 CThreadAppView* CThreadAppView::NewLC(const TRect& aRect) +00031 { +00032 CThreadAppView* self = new (ELeave) CThreadAppView; +00033 CleanupStack::PushL(self); +00034 self->ConstructL(aRect); +00035 return self; +00036 } +00037 +00038 // ---------------------------------------------------------------------------- +00039 // CThreadAppView::CThreadAppView() +00040 // +00041 // constructor +00042 // ---------------------------------------------------------------------------- +00043 CThreadAppView::CThreadAppView() +00044 { +00045 } +00046 +00047 // ---------------------------------------------------------------------------- +00048 // CThreadAppView::~CThreadAppView() +00049 // +00050 // destructor +00051 // ---------------------------------------------------------------------------- +00052 CThreadAppView::~CThreadAppView() +00053 { +00054 delete iRte; +00055 +00056 //delete all animations +00057 delete iAnimationOne; +00058 +00059 delete iAnimationTwo; +00060 +00061 delete iAnimationThree; +00062 } +00063 +00064 // ---------------------------------------------------------------------------- +00065 // CThreadAppView::ConstructL(const TRect& aRect) +00066 // +00067 // Standard EPOC 2nd phase constructor +00068 // ---------------------------------------------------------------------------- +00069 void CThreadAppView::ConstructL(const TRect& aRect) +00070 { +00071 // Create a window for this application view +00072 CreateWindowL(); +00073 +00074 //instantiate rich text editor +00075 iRte = CRichTextEditorRTE::NewL(*this); +00076 +00077 // Set the windows size +00078 SetRect(aRect); +00079 +00080 // Activate the window, which makes it ready to be drawn +00081 ActivateL(); +00082 +00083 //Reads an animation resource from a resource file +00084 TResourceReader reader; +00085 iCoeEnv->CreateResourceReaderLC(reader, R_ANIMATION_THREAD_ONE_DATA); +00086 +00087 //create animation based on reader +00088 iAnimationOne = CThreadAnimation::NewL(reader, Window()); +00089 CleanupStack::PopAndDestroy(); //reader +00090 +00091 TResourceReader readerTwo; +00092 iCoeEnv->CreateResourceReaderLC(readerTwo, R_ANIMATION_THREAD_TWO_DATA); +00093 iAnimationTwo = CThreadAnimation::NewL(readerTwo, Window()); +00094 CleanupStack::PopAndDestroy(); //readerTwo +00095 +00096 TResourceReader readerThree; +00097 iCoeEnv->CreateResourceReaderLC(readerThree, R_ANIMATION_THREAD_THREE_DATA); +00098 iAnimationThree = CThreadAnimation::NewL(readerThree, Window()); +00099 CleanupStack::PopAndDestroy(); //readerThree +00100 } +00101 +00102 // ---------------------------------------------------------------------------- +00103 // CThreadAppView::DrawText(const TDesC& aText) +00104 // +00105 // Draw text on the screen, uses rich text editor. +00106 // ---------------------------------------------------------------------------- +00107 void CThreadAppView::DrawText(const TDesC& aText) +00108 { +00109 iRte->AddTextL(aText); +00110 } +00111 +00112 // ---------------------------------------------------------------------------- +00113 // CThreadAppView::Draw(const TRect& aRect) const +00114 // +00115 // Draw this application's view to the screen +00116 // ---------------------------------------------------------------------------- +00117 void CThreadAppView::Draw(const TRect& aRect) const +00118 { +00119 // Get the standard graphics context +00120 CWindowGc& gc = SystemGc(); +00121 gc.Clear(aRect); +00122 } +00123 +00124 // ---------------------------------------------------------------------------- +00125 // CThreadAppView::SizeChanged() +00126 // +00127 // called by framework when the view size is changed +00128 // ---------------------------------------------------------------------------- +00129 void CThreadAppView::SizeChanged() +00130 { +00131 iRte->SetExtent(KEditorPosition, Window().Size()); +00132 } +00133 +00134 // ---------------------------------------------------------------------------- +00135 // TInt CThreadAppView::CountComponentControls() const +00136 // +00137 // Called by the framework in compound controls +00138 // ---------------------------------------------------------------------------- +00139 TInt CThreadAppView::CountComponentControls() const +00140 { +00141 return 1; // return number of controls inside this container +00142 } +00143 +00144 // ---------------------------------------------------------------------------- +00145 // CCoeControl* CThreadAppView::ComponentControl(TInt aIndex) const +00146 // +00147 // Called by the framework in compound controls +00148 // ---------------------------------------------------------------------------- +00149 CCoeControl* CThreadAppView::ComponentControl(TInt aIndex) const +00150 { +00151 switch (aIndex) +00152 { +00153 case 0: +00154 return iRte; +00155 default: +00156 return NULL; +00157 } +00158 } +00159 +00160 // ---------------------------------------------------------------------------- +00161 // TKeyResponse CThreadAppView::OfferKeyEventL(const TKeyEvent& aKeyEvent, +00162 // TEventCode aType) +00163 // +00164 // Called by the framework whenever a key event occurs. +00165 // Passes the key event to the editor if it is not null, otherwise returns +00166 // EKeyWasNotConsumed +00167 // ---------------------------------------------------------------------------- +00168 TKeyResponse CThreadAppView::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType) +00169 { +00170 if (iRte) +00171 { +00172 return iRte->OfferKeyEventL(aKeyEvent, aType); +00173 } +00174 else +00175 { +00176 return CCoeControl::OfferKeyEventL(aKeyEvent, aType); +00177 } +00178 } +