clean up SDK/Config tree by removing SDK Id from display (it's redundant) and also adding text that SDK location does not exist so users can see the config tree and know it won't work (not have it be hidden and users wonder why it's not there)
/*
* Copyright (c) 2008 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:
*
*/
include("containerLibrary.js")
/**
* Get the layout data.
*
* If Layout Data is different than "Inherit", then the layout data is returned,
* if not, iterate over all parent relationship.
*
* @param instance the instance where look in the layout data.
* @param propertyPath the name of the property to analize.
* @param propertyDefaultValue the default value of propertyPath which will
* determine if the parent layout data should be reviewed or not.
* @return the layout data.
*/
function getLayoutData ( instance, propertyPath, propertyDefaultValue ) {
var container = "com.nokia.carbide.uiq.CQikContainer";
var sbb = "com.nokia.carbide.uiq.SystemBuildingBlock";
var slot = "com.nokia.carbide.uiq.ItemSlot";
var viewPage = "com.nokia.carbide.uiq.ViewPage";
var containersGroup = "com.nokia.carbide.uiq.ContainersGroup";
var parentInstance = instance.parent;
var parentID = instance.parent.component.id;
var properties = instance.properties;
var layoutManagerInstance = null;
var layoutData = null;
while ((parentInstance != null) && (parentID != viewPage) && (parentID != containersGroup)) {
if (parentID == container) {
//println("**************** parent: container");
layoutManagerInstance = findImmediateChildByAttributeValue( parentInstance.children, "is-layout-manager", "true");
if ( layoutManagerInstance == null ) {
return propertyDefaultValue;
}
layoutData = instance.properties.layoutData[propertyPath];
if ( layoutData != propertyDefaultValue ) {
return layoutData
}
return getLayoutData ( parentInstance, propertyPath, propertyDefaultValue );
}
if (parentID == slot) {
//println("**************** parent: slot");
return getLayoutData ( parentInstance, propertyPath, propertyDefaultValue );
}
if (parentID == sbb) {
//println("**************** parent: SBB");
layoutManagerInstance = findImmediateChildByAttributeValue( parentInstance.parent.children, "is-layout-manager", "true");
if ( layoutManagerInstance == null ) {
return propertyDefaultValue;
}
layoutData = parentInstance.properties.layoutData[propertyPath];
if ( layoutData != propertyDefaultValue ) {
return layoutData
}
return getLayoutData ( parentInstance, propertyPath, propertyDefaultValue );
}
return propertyDefaultValue;
}
return getLayoutManagerLayoutData( instance.children, propertyPath, propertyDefaultValue );
}
/**
* Get the layout data of LayoutManager.
*
* If Layout Manager is null, then the default value of the property will be
* returned.
*
* @param children the children where look in the layout data.
* @param propertyPath the name of the property to analize.
* @param propertyDefaultValue the default value of propertyPath.
* @return the layout data of LayoutManager or propertyDefaultValue if
* LayoutManager is null .
*/
function getLayoutManagerLayoutData( children, propertyPath, propertyDefaultValue ) {
var layoutManager = findImmediateChildByAttributeValue( children, "is-layout-manager", "true");
if (layoutManager != null) {
//println("**************** sister: layout Manager");
return layoutManager.properties.defaultLayoutData[propertyPath];
}
return propertyDefaultValue;
}