diff -r 000000000000 -r eb1f2e154e89 textinput/peninputcommonlayout/inc/peninputclientlayoutinfo.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/textinput/peninputcommonlayout/inc/peninputclientlayoutinfo.h Tue Feb 02 01:02:04 2010 +0200 @@ -0,0 +1,317 @@ +/* +* Copyright (c) 2002-2005 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: client layout information +* +*/ + + +#ifndef C_PENINPUTCLIENTLAYOUTINFO_H +#define C_PENINPUTCLIENTLAYOUTINFO_H + +// System includes +#include +#include +#include + +/** + * Control info class + * + * This class is to define control info. Application can create it from + * resource file. Control info includes control id, begin row, end row, + * bgin column and end column. + * + * @lib peninputcommonlayout.lib + * @since S60 v3.2 + */ +class CPeninputControlInfo : public CBase + { + +public: + + /** + * Symbian constructor + * + * @since S60 v3.2 + * @param aReader Resource reader + * @return The pointer to CPeninputControlInfo object + */ + IMPORT_C static CPeninputControlInfo* NewL( TResourceReader& aReader ); + + /** + * Destructor + * + * @since S60 v3.2 + * @return None + */ + IMPORT_C virtual ~CPeninputControlInfo(); + + /** + * Get control id + * + * @since S60 v3.2 + * @return Control id + */ + inline const TInt ControlID() const; + + /** + * Get control type + * + * @since S60 v3.2 + * @return Control type + */ + inline const TInt ControlType() const; + + /** + * Get begin row + * + * @since S60 v3.2 + * @return Begin row + */ + inline const TInt BeginRow() const; + + /** + * Get end row + * + * @since S60 v3.2 + * @return End row + */ + inline const TInt EndRow() const; + + /** + * Get begine column + * + * @since S60 v3.2 + * @return Begine column + */ + inline const TInt BeginColumn() const; + + /** + * Get end column + * + * @since S60 v3.2 + * @return End column + */ + inline const TInt EndColumn() const; + +protected: + + /** + * Second phase constructor + * + * @since S60 v3.2 + * @param aReader Resource reader + * @return None + */ + void ConstructL( TResourceReader& aReader ); + + /** + * Construct from resource + * + * @since S60 v3.2 + * @param aReader Resource reader + * @return None + */ + void ConstructFromResourceL( TResourceReader& aReader ); + +private: // Data + + /** + * Control id + */ + TInt iControlID; + + /** + * Control Type + */ + TInt iControlType; + + /** + * Begin row + */ + TInt iBeginRow; + + /** + * End row + */ + TInt iEndRow; + + /** + * Begin column + */ + TInt iBeginColumn; + + /** + * End column + */ + TInt iEndColumn; + + }; + +/** + * Client layout class + * + * This class is to implement image layout. Application can create it from + * resource file. Control info includes control id, row and column. + * + * @lib peninputcommonlayout.lib + * @since S60 v3.2 + */ +class CPeninputClientLayoutInfo : public CBase + { + +public: + + /** + * Symbian constructor + * + * @since S60 v3.2 + * @param aReader Resource reader + * @return The pointer to CPeninputClientLayoutInfo object + */ + IMPORT_C static CPeninputClientLayoutInfo* NewL( + TResourceReader& aReader ); + + /** + * Symbian constructor + * + * @since S60 v3.2 + * @param aReader Resource reader + * @return The pointer to CPeninputClientLayoutInfo object + */ + IMPORT_C static CPeninputClientLayoutInfo* NewLC( + TResourceReader& aReader ); + + /** + * Destructor + * + * @since S60 v3.2 + * @return None + */ + IMPORT_C virtual ~CPeninputClientLayoutInfo(); + + /** + * Contruct from resource file + * + * @since S60 v3.2 + * @param aReader Resource reader + * @return None + */ + IMPORT_C void ConstructFromResourceL( TResourceReader& aReader ); + + /** + * Get control info + * + * @since S60 v3.2 + * @param aControlID control id + * @return The pointer to CPeninputControlInfo object + */ + IMPORT_C CPeninputControlInfo* FindControlInfo( const TInt aControlID ); + + /** + * Add control info + * + * @since S60 v3.2 + * @param aControlInfo Pointer to control info + * @return None + */ + IMPORT_C void AddControlInfo( CPeninputControlInfo* aControlInfo ); + + /** + * Remove control info + * + * @since S60 v3.2 + * @param aControlInfo Pointer to control info + * @return None + */ + IMPORT_C void RemoveControlInfo( CPeninputControlInfo* aControlInfo ); + + /** + * Remove control info based on control id + * + * @since S60 v3.2 + * @param aControlID Control id + * @return None + */ + IMPORT_C void RemoveControlInfo( const TInt aControlID ); + + /** + * Get layout id + * + * @since S60 v3.2 + * @return Layout id + */ + inline TInt LayoutID() const; + + /** + * Get column + * + * @since S60 v3.2 + * @return Column + */ + inline TInt Columns() const; + + /** + * Get row + * + * @since S60 v3.2 + * @return Row + */ + inline TInt Rows() const; + + /** + * Get control array + * + * @since S60 v3.2 + * @return Control array + */ + inline RPointerArray& ControlInfoList(); + +protected: + + /** + * Symbian second-phase constructor + * + * @since S60 v3.2 + * @param aReader Resource reader + * @return None + */ + void ConstructL( TResourceReader& aReader ); + +private: // Data + + /** + * Layout id + */ + TInt iLayoutID; + + /** + * Column count + */ + TInt iColumns; + + /** + * Row count + */ + TInt iRows; + + /** + * Control info array + */ + RPointerArray iControlInfoList; + + }; + +#include "peninputclientlayoutinfo.inl" + +#endif // C_PENINPUTCLIENTLAYOUTINFO_H