diff -r 000000000000 -r b26acd06ea60 sdkcreationmw/sdkruntimes/MIDP/DebugAgent/src/JavaDebugAgentLogScreen.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sdkcreationmw/sdkruntimes/MIDP/DebugAgent/src/JavaDebugAgentLogScreen.h Mon Mar 08 12:09:11 2010 +0530 @@ -0,0 +1,123 @@ +/* +* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#ifndef __JAVA_DEBUG_AGENT_LOG_SCREEN_H_ +#define __JAVA_DEBUG_AGENT_LOG_SCREEN_H_ + +#include +#include +#include +#include +#include +#include "JavaDebugAgentLog.h" + +class CAknsBasicBackgroundControlContext; +class CJavaDebugAgentBasicLogView; +class CJavaDebugAgentLogScreen : + public CCoeControl, + public MJavaDebugAgentLog, + TDesOverflow +{ +private: + RFs iFs; + RFile iLogFile; + HBufC* iLogFileName; + CEikScrollBarFrame* iSBFrame; + TRect iViewRect; + TRect iTextRect; + RRegion iTextClipRegion; + CGlobalText* iGlobalText; + CJavaDebugAgentBasicLogView* iView; + TCharFormat iCharFormat; + TCharFormatMask iCharFormatMask; + CCharFormatLayer* iCharFormatLayer; + CParaFormat iParaFormat; + TParaFormatMask iParaFormatMask; + CParaFormatLayer* iParaFormatLayer; + TInt iDefaultFontHeightInTwips; + TInt iFontSize; + CTextLayout* iLayout; + CTextView* iTextView; + TInt iLineCounter; + CAknsBasicBackgroundControlContext* iBgContext; + CFbsBitmap* iBgBitmap; + CFbsBitmap* iBgMask; + +public: + static CJavaDebugAgentLogScreen* NewL(CJavaDebugAgentBasicLogView* aView, + const TRect& aRect); + virtual ~CJavaDebugAgentLogScreen(); + +public: + void ClearLog(); + void SetLogFile(const TDesC* aFileName); + void SetFontSize(TInt aFontSize); + + // CCoeControl + virtual void Draw(const TRect& aRect) const; + virtual void SizeChanged(); + virtual TInt CountComponentControls() const; + virtual CCoeControl* ComponentControl(TInt aIndex) const; + virtual TTypeUid::Ptr MopSupplyObject(TTypeUid aId); + virtual TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, + TEventCode aType); + + // MJavaDebugAgentLog + virtual void Log(const TText* aString); + virtual void LogFormat(const TText* aFormat, ...); + +private: + + // TDesOverflow + virtual void Overflow(TDes& aDes); + +private: + CJavaDebugAgentLogScreen(CJavaDebugAgentBasicLogView* aView); + void ConstructL(const TRect& aRect); + void LogToScreenL(const TDesC& aPrefix, const TDesC& aText); + void LogToFileL(const TDesC& aPrefix, const TDesC& aText); + void LogL(const TDesC& aString); + void LogFormatToScreen(const TText* aFormat, ...); + void FormatPrefixL(TDes& aPrefix); + void FormatAndScrollL(); + void SetLogFileL(const TDesC* aFileName); + void SetFontSizeL(TInt aFontSize); + + static CFbsBitmap* CreateBackgroundBitmapLC(const TSize& aSize, + TRgb aBgColor, TRgb aFillColor, TRgb aBorderColor, TRgb aShadowColor); + static void DrawBackground(CBitmapContext* aGc, const TRect& aRect, + TRgb aBgColor, TRgb aFillColor, TRgb aBorderColor, TRgb aShadowColor); + + TBool UpdateFontSizeL(TInt aFontSize); + void UpdateSBModel(TEikScrollBarModel* aModel) const; + void UpdateScrollBars(TBool aDrawNow); + void SizeChangedL(); + void DoLayoutL(); + void CloseLogFile(); + void ClearL(); +}; + +#endif // __JAVA_DEBUG_AGENT_LOG_SCREEN_H_ + +/** + * Local Variables: + * mode: c++ + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + */