www.pudn.com > sockets.rar > socketsappview.h


/* Copyright (c) 2004, Nokia. All rights reserved */ 
 
 
#ifndef __SOCKETSAPPVIEW_H__ 
#define __SOCKETSAPPVIEW_H__ 
 
// INCLUDES 
#include  
#include "UINotifier.h" 
 
// CONSTANTS 
const TInt KLabelPositionX = 10; 
const TInt KLabelPositionY = 10; 
const TInt KLabelWidth = 150; 
const TInt KLabelHeight = 20; 
const TInt KOutputPositionX = 10; 
const TInt KOutputPositionY = 35; 
const TInt KOutputWidth = 150; 
const TInt KOutputHeight = 100; 
 
// FORWARD DECLARATIONS 
class CEikRichTextEditor; 
class CEikLabel; 
 
// CLASS DECLARATION 
/** 
* CSocketsAppView 
*  An instance of the Application View object for the Sockets 
*  example application. 
*/ 
class CSocketsAppView : public CCoeControl, public MUINotifier 
    { 
    public: // Constructors and destructors 
 
        /** 
        * NewL. 
        * Two-phased constructor. 
        * Creates a CSocketsAppView object, which will draw itself to aRect. 
        * @param aRect The rectangle this view will be drawn to. 
        * @return A pointer to the created instance of CSocketsAppView. 
        */ 
        static CSocketsAppView* NewL( const TRect& aRect ); 
 
        /** 
        * NewLC. 
        * Two-phased constructor. 
        * Creates a CSocketsAppView object, which will draw itself to aRect. 
        * @param aRect The rectangle this view will be drawn to. 
        * @return A pointer to the created instance of CSocketsAppView. 
        */ 
        static CSocketsAppView* NewLC( const TRect& aRect ); 
 
        /** 
        * ~CSocketsAppView. 
        * Destructor. 
        * Destroys the object and release all memory objects. 
        */ 
        virtual ~CSocketsAppView(); 
 
    public: // New functions 
 
        /** 
        * ClearText. 
        * Clear contents of editor window. 
        */ 
        void ClearTextL(); 
 
    public: // Functions from base classes 
 
        /** 
        * From CCoeControl, Draw. 
        * Draws this CSocketsAppView to the screen. 
        * @param aRect The rectangle of this view that needs updating. 
        */ 
        void Draw( const TRect& aRect ) const; 
 
        /** 
        * From CCoeControl, CountComponentControls. 
        * Determines number of component controls. 
        * @return The number of component controls. 
        */ 
        TInt CountComponentControls() const; 
 
        /** 
        * From CCoeControl, ComponentControl. 
        * Gets handle to a component control. 
        * @param aIndex Index number of the control. 
        * @return Handle of the control. 
        */ 
        CCoeControl* ComponentControl( TInt aIndex ) const; 
 
        /** 
        * From CCoeControl, KeyEventL. 
        * Handles a key event. 
        * @param aCode A keycode. 
        */ 
        void KeyEventL( TInt aCode ); 
 
        /** 
        * From MUINotifier, PrintNotify. 
        * Displays text on console. 
        * @param aDes Text to display. 
        * @param aFontStyle Style ( italic/bold/etc ) for this text. 
        */ 
        void PrintNotify( const TDesC& aDes, TUint aFontStyle = 0 ); 
 
        /** 
        * From MUINotifier, PrintNotify. 
        * Displays text on console. 
        * @param aDes Text to display. 
        * @param aFontStyle Style ( italic/bold/etc ) for this text. 
        */ 
        void PrintNotify( const TDesC8& aDes, TUint aFontStyle = 0 ); 
 
        /** 
        * From MUINotifier, ErrorNotify. 
        * Notifies user of an error. 
        * @param aErrMessage Message associated with error. 
        * @param aErrCode Error code. 
        */ 
        void ErrorNotify( const TDesC& aErrMessage, TInt aErrCode ); 
 
        /** 
        * From MUINotifier, SetStatus. 
        * Changes 'status' display. 
        * @param aStatus New status text to display. 
        */ 
        void SetStatus( const TDesC& aStatus ); 
 
    private: // Constructors and destructors 
 
        /** 
        * CSocketsAppView. 
        * C++ default constructor. 
        * Performs the first phase of two phase construction. 
        */ 
        CSocketsAppView(); 
 
        /** 
        * ConstructL. 
        * Performs the second phase construction of a CSocketsAppView object. 
        * @param aRect The rectangle this view will be drawn to. 
        */ 
        void ConstructL( const TRect& aRect ); 
 
    private: // New functions 
 
        /** 
        * SetFontStyle. 
        * Changes font style for subsequent text. 
        * @param aFontStyle New font style. 
        */ 
        void SetFontStyle( TUint aFontStyle ); 
 
        /** 
        * UpdateFontAttribute. 
        * Set or clear an individual font attribute if necessary, 
        * so that it matches the required style. 
        * @param aFontStyle Required font style. 
        * @param aAttribute The individual attribute to correct. 
        */ 
        void UpdateFontAttribute( TUint aFontStyle, TInt aAttribute ); 
 
    private: // Data 
 
        /** 
        * iOutputWindow, object for use as our output window. 
        * Owned by CCSAsyncAppView object. 
        */ 
        CEikRichTextEditor* iOutputWindow; 
 
        /** 
        * iStatusWindow, single line of text to display connection status. 
        * Owned by CCSAsyncAppView object. 
        */ 
        CEikLabel* iStatusWindow; 
 
        /** 
        * iFontStyle, current style in use by output window. 
        */ 
        TUint iFontStyle; 
    }; 
 
 
#endif // __SOCKETSAPPVIEW_H__ 
 
// End of File