uidesigner/com.nokia.sdt.series60.componentlibrary/components/controls/CAknPopupFieldText.js
author timkelly
Tue, 03 Aug 2010 16:29:13 -0500
branchC3_BUILDER_WORK
changeset 1757 ec3c1e4702be
parent 0 fb279309251b
permissions -rw-r--r--
Remove makefile dependency checks on SBSv2 builder since they don't apply. Remove SBSv2BuilderInfo.java and functionality. That has been used for loading the SBSv2 tab, which no longer exists. Now the SBSv2 data in the .cproject is loaded directly by the build configuration loading mechanism.

/*
* 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: 
*
*/



include("../embeddedControlImplLibrary.js")
include("editors/editorLibrary.js")

function CAknPopupFieldText() {
}

CAknPopupFieldText.prototype.getFlags = function(instance, laf) {
	return Font.ALIGN_LEFT; 
}

CAknPopupFieldText.prototype.getFont = function(instance, laf) {
	var fontName = instance.properties.font;
	return laf.getFont(fontName);
}

CAknPopupFieldText.prototype.getDisplayText = function(instance) {
	var text = "";
	var items = instance.properties.items;
	if ((items != null) && (items.length > 0)) {
		var active = instance.properties.active;
		if (items.length > active) {
			text = items[active];
			if (text == null)
				text = "empty";
		}
		else {
			text = instance.properties.invalidText;
			if (text == "")
				text = "(invalid)";
		}
	}
	else {
		var emptyText = instance.properties.emptyText;
		if (emptyText != null)
			text = emptyText;
	}

	return text;
}

CAknPopupFieldText.prototype.getDisplayColor = function(instance, laf) {
	var text = "";
	var items = instance.properties.items;
	if ((items != null) && (items.length > 0)) {
		var active = instance.properties.active;
		if (active >= items.length) {
			return laf.getColor("EEikColorControlDimmedText");
		}
	}
	return null;
}

CAknPopupFieldText.prototype.getMaxLength = function(instance) {
	var items = instance.properties.items;
	if ((items != null) && (items.length > 0)) {
		var active = instance.properties.active;
		if (items.length > active) {
			return instance.properties.maxLength;
		}
	}
	return 0;
}


setupEditorRendering(CAknPopupFieldText.prototype);

// no direct label editing, just form prompt editing
setupCommonEmbeddedDirectLabelEditing(CAknPopupFieldText.prototype,
	null,
	null, // areafunction
	null
);

setupCommonEmbeddedDirectImageEditing(CAknPopupFieldText.prototype);
setupEmbeddedImagePropertyInfo(CAknPopupFieldText.prototype);

//////////////////////

		// note that laf will be null if a display model was not created
CAknPopupFieldText.prototype.validate = function(instance, laf) {
	var properties = instance.properties;

	var messages = null;
	if (properties.items.length == 0) {
		messages = new java.util.ArrayList();	
		messages.add(createSimpleModelError(instance, 
			"items", 
			lookupString("ErrorEmptyList"), 
				[instance.name]));
	} 
	return messages;
}

	// note that laf will be null if a display model was not created
CAknPopupFieldText.prototype.queryPropertyChange = function(instance, propertyPath,
				newVal, laf) {
				
	var properties = instance.properties;
	var message = null;

	// Don't toss away any changes at this point; otherwise,
	// the user will endure a dialog and have it all thrown away.
	// Better to let them go back and re-edit.

	return message;		
}

CAknPopupFieldText.prototype.initialize = function(instance, isConfigured) {
	if (isConfigured) return;
	// make at least one text entry
	instance.properties.items[0] = lookupString("InitialItemText");
}