diff -r 89d6a7a84779 -r 25a17d01db0c Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/txtexamp_8h-source.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/txtexamp_8h-source.html Fri Jan 22 18:26:19 2010 +0000 @@ -0,0 +1,222 @@ + + +TB10.1 Example Applications: examples/AppFramework/txtshell/txtexamp.h Source File + + + + +

examples/AppFramework/txtshell/txtexamp.h

00001 // Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+00002 // All rights reserved.
+00003 // This component and the accompanying materials are made available
+00004 // under the terms of "Eclipse Public License v1.0"
+00005 // which accompanies this distribution, and is available
+00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
+00007 //
+00008 // Initial Contributors:
+00009 // Nokia Corporation - initial contribution.
+00010 //
+00011 // Contributors:
+00012 //
+00013 // Description:
+00014 //
+00015 
+00016 #ifndef __TXTEXAMP_H
+00017 #define __TXTEXAMP_H
+00018 
+00019 #include <coemain.h>
+00020 #include <coecntrl.h>
+00021 #include <s32file.h>
+00022 #include <txtglobl.h>
+00023 #include <frmtview.h>
+00024 #include <txtfmlyr.h>
+00025 
+00026 //
+00027 // class MGraphicsExampleObserver
+00028 //
+00029 
+00030 class MGraphicsExampleObserver
+00031         // Defines an interface that controls can call to inform the shell 
+00032         // that they have finished, or that the status message display needs 
+00033         // updating. It is implemented by CExampleShellContainer        
+00034         {
+00035 public:
+00036         // Notify user that example has finished
+00037         virtual void NotifyGraphicExampleFinished()=0;
+00038         // Notify user of the current status of the example
+00039         virtual void NotifyStatus(const TDesC& aMessage)=0;
+00040         };
+00041 
+00042 //
+00043 // class CGraphicExampleControl
+00044 //
+00045 
+00046 /*
+00047         Usage
+00048 
+00049                 This class is used as a base class for graphics and text 
+00050                 examples. It uses CONE's facilities to provide an initialized 
+00051                 graphics environment.
+00052 
+00053                 It creates a 600x200 window in which drawing can be done.
+00054 
+00055                 It supports multiple phases, so different drawings can be 
+00056                 done from one phase to another.  Tap the spacebar or click the
+00057                 mouse (anywhere) to advance a phase.
+00058 
+00059                 Quit the program by pressing the exit button.
+00060 
+00061         Writing derived classes
+00062 
+00063                 A minimal derived class should have a Draw() function
+00064                 which puts a drawing onto the screen.
+00065 
+00066                 If you are using multiple phases, code a constructor which
+00067                 calls SetMaxPhases() specifying the number of phases.  Have
+00068                 Draw() honour the phase number, available using Phase().
+00069 */
+00070 
+00071 #pragma warning(disable : 4100)
+00072                 // disable "parameter not used" warning on HandleKey()
+00073 
+00074 class CGraphicExampleControl : public CCoeControl
+00075         {
+00076 public:
+00077         // construct/destruct
+00078         void ConstructL(const TRect& aRect, MGraphicsExampleObserver* aObserver, const CCoeControl& aParent);
+00079                 // second-phase construction
+00080         ~CGraphicExampleControl();
+00081         // public so container can offer keys
+00082         TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+00083                 // intercepts space; offers other keys to derived classes
+00084 protected:
+00085         // derived classes must provide the next 2 functions
+00086         virtual void UpdateModelL() =0; // empty update model function
+00087         virtual void Draw(const TRect& /* aRect */) const {}; // empty draw function
+00088         // use Phase() in Draw() to tell what phase we're in
+00089         TInt Phase() const { return iPhase; }; // get phase number
+00090         void SetMaxPhases(TInt aMaxPhases) { iMaxPhases=aMaxPhases; };
+00091                         // use this from derived-class constructor to set number of phases
+00092         CFont* iMessageFont; // font for messages
+00093 private:
+00094         // functions provided for CCoeControl protocol
+00095         void HandlePointerEventL(const TPointerEvent& aPointerEvent);
+00096                 // advances phase on pointer-down
+00097         void Quit(); // does termination
+00098         void NextPhaseL(); // advances phase: quits if all phases done
+00099         // phase control for graphics examples
+00100         TInt iPhase; // phase number
+00101         TInt iMaxPhases; // maximum phases
+00102 protected:
+00103         MGraphicsExampleObserver* iFormObserver;
+00104         TBool iUpdateModelDoesRedraw; // whether UpdateModelL() does a redraw for us
+00105         };
+00106 
+00107 // sundry derived classes
+00108 
+00109 class CGlobalText;
+00110 class CRichText;
+00111 class CParaFormatLayer;
+00112 class CCharFormatLayer;
+00113 class CTextLayout;
+00114 class CTextView;
+00115 class CStyleList;
+00116 class CParagraphStyle;
+00117 
+00118 
+00119 class CGlobalControl : public CGraphicExampleControl
+00120         {
+00121         // Demonstrates the use of global text
+00122 public:
+00123         CGlobalControl() { SetMaxPhases(16); };
+00124         void UpdateModelL();
+00125         void Draw(const TRect& aRect) const;
+00126         ~CGlobalControl();
+00127 private:
+00128         CGlobalText* iGlobalText; // global text object
+00129         CParaFormatLayer* iParaFormatLayer;
+00130         CCharFormatLayer* iCharFormatLayer;
+00131         TStreamId iStreamId; // required when storing and restoring global text
+00132         // text layout and view stuff
+00133         CTextLayout* iLayout; // text layout
+00134         CTextView* iTextView; // text view
+00135         TRect iViewRect; // rectangle through which to view text
+00136         TCharFormat iCharFormat;
+00137         TCharFormatMask iCharFormatMask;
+00138         };
+00139 
+00140 class CRichControl : public CGraphicExampleControl
+00141         {
+00142         // Demonstrates the use of rich text
+00143 public:
+00144         CRichControl() { SetMaxPhases(14);}; 
+00145         ~CRichControl(); // destructor
+00146         void UpdateModelL();
+00147         void Draw(const TRect& aRect) const;
+00148 private:
+00149         CRichText* iRichText; // global text object
+00150         CParaFormatLayer* iParaFormatLayer;
+00151         CCharFormatLayer* iCharFormatLayer;
+00152         TStreamId iStreamId; // required when storing and restoring global text
+00153         // text layout and view stuff
+00154         CTextLayout* iLayout; // text layout
+00155         CTextView* iTextView; // text view
+00156         TRect iViewRect; // rectangle through which to view text
+00157         TCharFormat iCharFormat;
+00158         TCharFormatMask iCharFormatMask;
+00159         };
+00160 
+00161 class CStyleControl : public CGraphicExampleControl
+00162         {
+00163         // Demonstrates the use of styles in rich text
+00164 public:
+00165         CStyleControl() { SetMaxPhases(9);}; 
+00166         ~CStyleControl(); // destructor
+00167         void UpdateModelL();
+00168         void Draw(const TRect& aRect) const;
+00169 private:
+00170         void CreateNormalL(); // Create Normal style (the global layers) 
+00171         void CreateStylesL(); // Create some paragraph styles
+00172 private:
+00173         CRichText* iRichText; // rich text object
+00174         CParaFormatLayer* iNormalParaFormatLayer;
+00175         CCharFormatLayer* iNormalCharFormatLayer;
+00176         TStreamId iStreamId; // required when storing and restoring global text
+00177         // text layout and view stuff
+00178         CTextLayout* iLayout; // text layout
+00179         CTextView* iTextView; // text view
+00180         TRect iViewRect; // rectangle through which to view text
+00181         CStyleList* iStyleList; // Style list holds the two styles
+00182         CParagraphStyle* iStyleOne;
+00183         CParagraphStyle* iStyleTwo;
+00184         TCharFormat iCharFormat;
+00185         TCharFormatMask iCharFormatMask;
+00186         };
+00187 
+00188 class CViewControl : public CGraphicExampleControl
+00189         {
+00190         // Demonstrates the use of the text view and text layout classes
+00191 public:
+00192         CViewControl() { SetMaxPhases(14);}; 
+00193         ~CViewControl(); 
+00194         void UpdateModelL();
+00195         void Draw(const TRect& aRect) const;
+00196 private:
+00197         CRichText* iRichText; // rich text object
+00198         CParaFormatLayer* iParaFormatLayer;
+00199         CCharFormatLayer* iCharFormatLayer;
+00200         // text layout and view stuff
+00201         CTextLayout* iLayout; // text layout
+00202         CTextView* iTextView; // text view
+00203         TRect iViewRect; // rectangle through which to view text
+00204         CFbsBitmap* iBitmap; // line cursor bitmap
+00205         TCharFormat iCharFormat;
+00206         TCharFormatMask iCharFormatMask;
+00207         };
+00208 
+00209 #endif
+00210 
+

Generated on Thu Jan 21 10:32:54 2010 for TB10.1 Example Applications by  + +doxygen 1.5.3
+ +