diff -r 000000000000 -r f72a12da539e idlehomescreen/xmluirendering/uiengine/src/xnnodeappif.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnnodeappif.cpp Thu Dec 17 08:40:49 2009 +0200 @@ -0,0 +1,281 @@ +/* +* Copyright (c) 2002-2004 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: Node of the layout tree +* +*/ + +// INCLUDES +#include "xnnode.h" +#include "xnnodeappif.h" +#include "xntype.h" +#include "xnuiengine.h" +#include "xndomnode.h" + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::CXnNodeAppIf() +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +CXnNodeAppIf::CXnNodeAppIf( CXnNode& aNode ) + { + iNode = &aNode; + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::Type() +// Returns control type. +// ----------------------------------------------------------------------------- +// +EXPORT_C CXnType* CXnNodeAppIf::Type() + { + return iNode->Type(); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::SetPCDataL +// ----------------------------------------------------------------------------- +// +EXPORT_C void CXnNodeAppIf::SetPCDataL( const TDesC8& aData ) + { + iNode->SetPCDataL( aData ); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::GetPCData +// ----------------------------------------------------------------------------- +// +EXPORT_C const TDesC8& CXnNodeAppIf::GetPCData() const + { + return iNode->GetPCData(); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::SetPropertyL +// Set a property. +// ----------------------------------------------------------------------------- +// +EXPORT_C void CXnNodeAppIf::SetPropertyL( CXnProperty* aProperty ) + { + iNode->SetPropertyL( aProperty ); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::SetPropertyArrayL +// Set a property array. +// ----------------------------------------------------------------------------- +// +EXPORT_C void CXnNodeAppIf::SetPropertyArrayL( + RPointerArray< CXnProperty >* aPropertyArray ) + { + iNode->SetPropertyArrayL( aPropertyArray ); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::GetProperty +// Gets a property. +// ----------------------------------------------------------------------------- +// +EXPORT_C CXnProperty* CXnNodeAppIf::GetPropertyL( CXnProperty& /*aProperty*/ ) const + { + return NULL;//return iNode->GetPropertyL(aProperty); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::GetProperty +// Gets a property. +// ----------------------------------------------------------------------------- +// +EXPORT_C CXnProperty* CXnNodeAppIf::GetPropertyL( const TDesC8& aKey ) const + { + return iNode->GetPropertyL( aKey ); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::SetStateL +// Set a state +// ----------------------------------------------------------------------------- +// +EXPORT_C void CXnNodeAppIf::SetStateL( const TDesC8& aState ) + { + iNode->SetStateL( aState ); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::IsStateSet +// Check whether a state is set or not +// ----------------------------------------------------------------------------- +// +EXPORT_C TBool CXnNodeAppIf::IsStateSet( const TDesC8& aState ) + { + return iNode->IsStateSet( aState ); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::UnsetState +// Unset a pseudoclass +// ----------------------------------------------------------------------------- +// +EXPORT_C void CXnNodeAppIf::UnsetStateL( const TDesC8& aState ) + { + iNode->UnsetStateL( aState ); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::Rect +// ----------------------------------------------------------------------------- +// +EXPORT_C TRect CXnNodeAppIf::Rect() + { + return iNode->Rect(); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::BorderRect +// ----------------------------------------------------------------------------- +// +EXPORT_C TRect CXnNodeAppIf::BorderRect() + { + return iNode->BorderRect(); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::MarginRect +// ----------------------------------------------------------------------------- +// +EXPORT_C TRect CXnNodeAppIf::MarginRect() + { + return iNode->MarginRect(); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::PaddingRect +// ----------------------------------------------------------------------------- +// +EXPORT_C TRect CXnNodeAppIf::PaddingRect() + { + return iNode->PaddingRect(); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::UiEngine +// ----------------------------------------------------------------------------- +// +EXPORT_C TXnUiEngineAppIf* CXnNodeAppIf::UiEngineL() + { + return &(iNode->UiEngine()->AppIfL()); + } + +// ----------------------------------------------------------------------------- +// Get internal node +// ----------------------------------------------------------------------------- +// +CXnNode& CXnNodeAppIf::Node() + { + return *iNode; + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::MakeInterfaceL +// Create a component interface according to the given type. +// ----------------------------------------------------------------------------- +// +EXPORT_C XnComponentInterface::MXnComponentInterface* CXnNodeAppIf::MakeInterfaceL( + const TDesC8& aType ) + { + return iNode->MakeInterfaceL( aType ); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::Children +// ----------------------------------------------------------------------------- +// +EXPORT_C RPointerArray< CXnNodeAppIf > CXnNodeAppIf::ChildrenL() + { + RPointerArray< CXnNode >& nodes = iNode->Children(); + RPointerArray< CXnNodeAppIf > appNodes; + CleanupClosePushL( appNodes ); + TInt count = nodes.Count(); + for ( TInt i = 0; i < count; ++i ) + { + appNodes.AppendL( &nodes[i]->AppIfL() ); + } + CleanupStack::Pop( &appNodes ); + // Compiler will generate bitwise copy ctor, thus + // caller of this function must call reset or close for copied RPointerArrays, + // which is very nasty thing to do... + return appNodes; + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::ParentL +// ----------------------------------------------------------------------------- +// +EXPORT_C CXnNodeAppIf* CXnNodeAppIf::ParentL() const + { + CXnNode* parent = iNode->Parent(); + if ( !parent ) + { + return NULL; + } + return &( parent->AppIfL() ); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::InternalDomNodeType +// ----------------------------------------------------------------------------- +// +EXPORT_C const TDesC8& CXnNodeAppIf::InternalDomNodeType() const + { + CXnDomNode* node = iNode->DomNode(); + if ( node ) + { + return node->Name(); + } + return KNullDesC8; + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::ShowTooltipsL +// ----------------------------------------------------------------------------- +// +EXPORT_C void CXnNodeAppIf::ShowTooltipsL() + { + iNode->ShowTooltipsL(); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::HideTooltipsL +// ----------------------------------------------------------------------------- +// +EXPORT_C void CXnNodeAppIf::HideTooltipsL() + { + iNode->HideTooltipsL(); + } + +// ----------------------------------------------------------------------------- +// CXnNodeAppIf::Namespace +// ----------------------------------------------------------------------------- +// +EXPORT_C const TDesC8& CXnNodeAppIf::Namespace() + { + CXnDomNode* node = iNode->DomNode(); + if ( node ) + { + return node->Namespace(); + } + return KNullDesC8; + }