uidesigner/com.nokia.carbide.cpp.uiq.components/components/textLinesNumberLibrary.js
/*+ −
* Copyright (c) 2007 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: + −
*+ −
*/+ −
+ −
+ −
function getTextBounds (lines, width, height, flags, font, pixelGapBetweenLines) {+ −
+ −
var newBounds;+ −
var textHeight = 0;+ −
var textWidth = 0;+ −
+ −
for (var i = 0; i < lines.length; i++ ) {+ −
newBounds = font.formattedStringExtent(lines[i], + −
new Point (width, height),+ −
flags, pixelGapBetweenLines);+ −
textHeight += newBounds.y; + −
if ( newBounds.x > textWidth) {+ −
textWidth = newBounds.x;+ −
}+ −
}+ −
return new Point (textWidth, textHeight );+ −
}+ −
+ −
function getMaxLinesAllowedByParent(instance) {+ −
var parent = instance.parent;+ −
if (parent != null && isCQikContainer(parent)) {+ −
return getMaxLinesAllowedInCQikContainer (instance);+ −
} else if (parent != null && isItemSlot(parent)) {+ −
var grandParent = parent.parent;+ −
if (grandParent != null && isSystemBuildingBlock(grandParent)) {+ −
return getMaxLinesAllowedInSlot(grandParent.properties.type, parent.properties.slotId);+ −
}+ −
}+ −
return 1;+ −
}+ −
+ −
function getMaxLinesAllowedInCQikContainer (instance) {+ −
var maxLinesNumber = 2147483647;+ −
if (instance != null && isCEikLabel(instance)) {+ −
return maxLinesNumber;+ −
} + −
return 1;+ −
}+ −
+ −
function isCEikLabel(instance) {+ −
return (instance.component.id).substring(0, 32) == "com.nokia.carbide.uiq.CEikLabel_";+ −
}+ −
+ −
function isCQikContainer(instance) {+ −
return instance.component.id == "com.nokia.carbide.uiq.CQikContainer";+ −
}+ −
+ −
function isItemSlot(instance) {+ −
return instance.component.id == "com.nokia.carbide.uiq.ItemSlot";+ −
}+ −
+ −
function isSystemBuildingBlock(instance) {+ −
return instance.component.id == "com.nokia.carbide.uiq.SystemBuildingBlock";+ −
}+ −
+ −
function getMaxLinesAllowedInSlot(typeOfSBB, slotId) {+ −
//println("***getMaxLinesAllowedInSlot");+ −
var maxLinesNumber = 2147483647;+ −
+ −
switch (typeOfSBB) {+ −
case "EQikCtOnelineBuildingBlock":+ −
case "EQikCtIconOnelineBuildingBlock":+ −
case "EQikCtOnelineIconBuildingBlock":+ −
case "EQikCtIconOnelineIconBuildingBlock":+ −
case "EQikCtMediumThumbnailDoubleOnelineBuildingBlock":+ −
case "EQikCtCaptionedOnelineBuildingBlock":+ −
case "EQikCtIconCaptionedOnelineBuildingBlock":+ −
case "EQikCtIconIconOnelineBuildingBlock":+ −
case "EQikCtHalflineHalflineBuildingBlock":+ −
case "EQikCtCaptionedHalflineBuildingBlock":+ −
return 1;+ −
case "EQikCtTwolineBuildingBlock":+ −
case "EQikCtIconTwolineBuildingBlock":+ −
case "EQikCtTwolineIconBuildingBlock":+ −
case "EQikCtIconTwolineIconBuildingBlock":+ −
return 2;+ −
case "EQikCtLargeThumbnailThreelineBuildingBlock":+ −
return 3;+ −
case "EQikCtManylinesBuildingBlock":+ −
return maxLinesNumber;+ −
case "EQikCtCaptionedTwolineBuildingBlock":+ −
case "EQikCtIconCaptionedTwolineBuildingBlock":+ −
return evaluateSlot(slotId, 1, 2);+ −
}+ −
+ −
return 1;+ −
}+ −
+ −
function evaluateSlot(slotId, valueForItemSlot1, valueForItemSlot2) {+ −
// println("***slotId: " + slotId);+ −
if (slotId == "EQikItemSlot1") {+ −
// println("***valueForItemSlot1: " + valueForItemSlot1);+ −
return valueForItemSlot1;+ −
} else {+ −
return valueForItemSlot2;+ −
}+ −
}+ −