diff -r 000000000000 -r dd21522fd290 webengine/widgetengine/inc/MenuItemClient.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/webengine/widgetengine/inc/MenuItemClient.h Mon Mar 30 12:54:55 2009 +0300 @@ -0,0 +1,236 @@ +/* +* 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 the License "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: This class represents the Widget Extension object +* +*/ + +#ifndef __MENUITEMCLIENT_ +#define __MENUITEMCLIENT_ + +// INCLUDES +#include +#include "BrCtlInterface.h" + +// CONSTANTS + +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// CLASS DECLARATION +namespace KJS { + class WidgetEventHandler; +} + +class CMenuItem : public CBase +{ +public: + /** + * Constructor + */ + static CMenuItem* NewL( const TDesC16& aText, TInt aCmdId, + TInt aInternalId, TBool aDimmed = EFalse, CMenuItem* aParent=NULL, + void* aObj = NULL, TBool aShow = EFalse ); + + /** + * Destructor. + */ + virtual ~CMenuItem(); + +protected: + /** + * 2nd phase constructor. + */ + void ConstructL(); + + /** + * C++ constructor. + */ + CMenuItem( const TDesC16& aText, TInt aCmdId, TInt aInternalId, + TBool aDimmed, CMenuItem* aParent = NULL, void* aObj = NULL, + TBool aShow = EFalse ); +public: + + /* + * Method text() + * @since 3.2 + * @param none + * @return text of menu item + */ + const TDesC& text() + { + if ( iText ) + return *iText; + else + return KNullDesC(); + } + + /* + * Method cmdId() + * @since 3.2 + * @param none + * @return command id of menu item + */ + TInt cmdId() { return iCmdId; } + + /* + * Method internalId() + * @since 3.2 + * @param none + * @return internal id of menu item + */ + TInt internalId() { return iInternalId; } + + /* + * Method firstChild() + * @since 3.2 + * @param none + * @return first child of menu item + */ + CMenuItem* firstChild() { return iFirstChild; } + + /* + * Method nextSibling() + * @since 3.2 + * @param none + * @return next sibling of menu item + */ + CMenuItem* nextSibling() { return iNextSibling; } + + /* + * Method dimmed() + * @since 3.2 + * @param none + * @return dimmed status of menu item + */ + TBool dimmed() { return iDimmed; } + + /* + * Method show() + * @since 3.2 + * @param none + * @return Show status of menu item + */ + TBool show() { return iShow; } + + /* + * Method Callback() + * @since 3.2 + * @param none + * @return onselect callback function of menu item + */ + KJS::WidgetEventHandler* callback() { return iCallback; } + + /* + * Method obj() + * @since 3.2 + * @param none + * @return menu item javascript object + */ + void* obj() { return iObj; } + + /* + * Method parent() + * @since 3.2 + * @param none + * @return parent menu item + */ + CMenuItem* parent() { return iParent; } + + /* + * Method setText() + * @since 3.2 + * @param text of menu item + * @return none + */ + void setText( const TDesC& aText ) + { + HBufC* tmpText = HBufC::NewL( aText.Length() ); + tmpText->Des().Append( aText ); + delete iText; + iText = tmpText; + } + + /* + * Method setCmdId() + * @since 3.2 + * @param command id of menu item + * @return none + */ + void setCmdId( TInt aCmdId ) { iCmdId = aCmdId; } + + /* + * Method setFirstChild() + * @since 3.2 + * @param first child of menu item + * @return none + */ + void setFirstChild( CMenuItem* aFirstChild ) { iFirstChild = aFirstChild; } + + /* + * Method setNextSibling() + * @since 3.2 + * @param next sibling of menu item + * @return none + */ + void setNextSibling( CMenuItem* aNextSibling ) { iNextSibling = aNextSibling; } + + /* + * Method setDimmed() + * @since 3.2 + * @param dimmed status + * @return none + */ + void setDimmed( TBool aDimmed ) { iDimmed = aDimmed; } + + /* + * Method setShow() + * @since 3.2 + * @param show status + * @return none + */ + void setShow( TBool aShow ) { iShow = aShow; } + + /* + * Method setCallback() + * @since 3.2 + * @param callback function + * @return none + */ + void setCallback( KJS::WidgetEventHandler* aCallback ) { iCallback = aCallback; } + + /* + * Method setObj() + * @since 3.2 + * @param menu item javascript object + * @return none + */ + void setObj( void* aObj ) { iObj = aObj; } + +private: + HBufC* iText;//data + TInt iCmdId;//data + TInt iInternalId;//data + CMenuItem* iParent;//data + CMenuItem* iFirstChild;//left node + CMenuItem* iNextSibling;//right node + TBool iDimmed;//ETrue to dim this menu item. EFalse to un-dim this menu item. + KJS::WidgetEventHandler* iCallback; + void* iObj; + TBool iShow; +}; + +#endif