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) 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:
*
*/
include("../containers/containerLibrary.js")
include("../renderLibrary.js")
function CAknToolbar() {
this.lafInfo = null;
// the bounds of the dialog, rel. to instance
this.dialogBounds = null;
// the bounds of the prompt part, rel. to dialogBounds
this.promptBounds = null;
// the bounds of the list box part, rel. to dialogBounds
this.listBounds = null;
}
///////////////////////////////////
// IQueryContainment
///////////////////////////////////
function canContainComponent(instance, component) {
if (isSupportedToolbarComponent(component))
return null;
return buildSimpleContainmentErrorStatus(
lookupString("unsupportedComponentErr"), new Array( component.friendlyName ));
}
CAknToolbar.prototype.canContainComponent = function(instance, otherComponent) {
return canContainComponent(instance, otherComponent);
}
CAknToolbar.prototype.canContainChild = function(instance, child) {
return canContainComponent(instance, child.component);
}
CAknToolbar.prototype.canRemoveChild = function(instance) {
return true;
}
CAknToolbar.prototype.isValidComponentInPalette = function(instance, otherComponent) {
return canContainComponent(instance, otherComponent) == null;
}
function isSupportedToolbarComponent(component) {
if (component.id == "com.nokia.sdt.series60.CAknChoiceList"){
return true;
} else if (component.id == "com.nokia.sdt.series60.CAknButton"){
return true;
} else {
return false;
}
}
///////////////////////////////////
// IVisualAppearance
///////////////////////////////////
CAknToolbar.prototype.draw = function(instance, laf, graphics) {
var width = instance.properties.size.width - 3;
var height = instance.properties.size.height - 3;
var x = 0;
var y = 0;
// fill
graphics.setBackground(laf.getColor("control.button.fill"));
graphics.setForeground(laf.getColor("screen.background"));
graphics.setBackground(laf.getColor("control.button.fill"));
graphics.fillGradientRectangle(x, y, width, height, true)
// edge
graphics.setForeground(Colors.getColor(0, 0, 0))
graphics.drawRectangle(new Rectangle(0, 0, width, height))
// shadows
graphics.setForeground(laf.getColor("control.shadow.inner"))
graphics.drawLine(x + 1, y + height + 1, x + width + 1, y + height + 1)
graphics.drawLine(x + width + 1, y + 1, x + width + 1, y + height + 1)
graphics.setForeground(laf.getColor("control.shadow.outer"))
graphics.drawLine(x + 2, y + height + 2, x + width + 2, y + height + 2)
graphics.drawLine(x + width + 2, y + 2, x + width + 2, y + height + 2)
graphics.setForeground(laf.getColor("EEikColorDialogText"));
if (instance.children.length == 0) {
//drawTextItem(" No data ", new Point(0, 0), new Point(width + 5, height + 2), laf, graphics);
}
}
CAknToolbar.prototype.getPreferredSize = function(instance, laf, wHint, hHint) {
return null;
}
////////////////////////////////////////
// IComponentInstancePropertyListener
////////////////////////////////////////
CAknToolbar.prototype.propertyChanged = function(instance, property) {
var messages = null;
// insure that there isn't choice list in the small bar
var properties = instance.properties;
if (properties.smallToolbar == true)
{
for (var i in instance.children) {
var child = instance.children[i];
if (child.component.isOfType("com.nokia.sdt.series60.CAknChoiceList")){
// TODO: We're setting a property back but should create a status message
// Not sure how to do that...
properties.smallToolbar = false;
instance.forceRedraw(); // refreshes the properties
}
}
}
if (property == "orientation" || property == "smallToolbar"){
instance.forceLayout();
}
return messages;
}
///////////////////////////////////
// IComponentValidator
///////////////////////////////////
CAknToolbar.prototype.validate = function(instance) {
// Find out if there's a small toolbar
// If a small toolbar has a choice list, emit error and set back to regular toolbar
var properties = instance.properties;
var messages = null;
if (properties.smallToolbar == true)
{
for (var i in instance.children) {
var child = instance.children[i];
}
}
return messages;
}
CAknToolbar.prototype.queryPropertyChange = function(instance, propertyPath,
newValue, laf) {
return null;
}
////////////////////////////////////
// IComponentInstanceChildListener
////////////////////////////////////
CAknToolbar.prototype.childAdded = function(parent, child){
parent.parent.forceLayout();
}
CAknToolbar.prototype.childRemoved = function(parent, child){
parent.parent.forceLayout();
}
CAknToolbar.prototype.childrenReordered = function(parent){
parent.parent.forceLayout();
}
////////////////////////////////////
// ILayout
////////////////////////////////////
CAknToolbar.prototype.layout = function(instance, laf) {
var isPortrait = laf.getBoolean("is.portrait", true);
var properties = instance.properties;
var isHorizontal = properties.orientation == "Horizontal" ? true : false;
var toolBarMarginPadding = laf.getInteger("control.toolbar.margin", 0);
var isSmallBar = properties.smallToolbar == true ? true : false;
var toolBarWidth = laf.getInteger("control.toolbar.height", 0);
var toolBarButtonWidth = toolBarWidth - toolBarMarginPadding*2;
var toolBarButtonHeight = toolBarButtonWidth;
var toolBarHeight = toolBarWidth;
var numChillens = instance.children.length;
if (isSmallBar){
// init defaults for small bar, half size of regular toolbar
toolBarHeight /= 2;
toolBarWidth /= 2;
toolBarButtonWidth = toolBarHeight;
toolBarButtonHeight = toolBarWidth;
toolBarMarginPadding = 0;
}
///////////////////////////
// layout children
///////////////////////////
if (isHorizontal){
// horizontal toolbar grows in width only
var childX = toolBarMarginPadding;
var childY = toolBarMarginPadding;
if (numChillens > 0) {
toolBarWidth = toolBarMarginPadding*2 - toolBarMarginPadding; // remove padding for last item added
}
for (var i in instance.children) {
var child = instance.children[i];
var childProperties = child.properties;
if (child.component.isOfType("com.nokia.sdt.series60.CAknButton")){
// button is fixed width
if (childProperties.size.width != toolBarButtonWidth){
childProperties.size.width = toolBarButtonWidth;
}
} else {
// other components can be variable width, minimum width preserved
if (childProperties.size.width < toolBarButtonWidth){
childProperties.size.width = toolBarButtonWidth;
}
}
if (childProperties.size.height != toolBarButtonHeight){
childProperties.size.height = toolBarButtonHeight; // fixed height
}
toolBarWidth += child.properties.size.width + toolBarMarginPadding;
childProperties.location.x = childX;
childProperties.location.y = childY;
childX += childProperties.size.width + toolBarMarginPadding;
}
} else {
// Vertical orientation, all items are the same size
var temp = toolBarWidth;
toolBarWidth = toolBarHeight;
toolBarHeight = temp;
var childX = toolBarMarginPadding;
var childY = toolBarMarginPadding;
if (numChillens > 0) {
toolBarHeight = toolBarMarginPadding;
}
for (var i in instance.children) {
var child = instance.children[i];
var childProperties = child.properties;
toolBarHeight += child.properties.size.height + toolBarMarginPadding;
childProperties.size.width = toolBarWidth - toolBarMarginPadding*2;
childProperties.size.height = toolBarButtonHeight;
childProperties.location.x = childX;
childProperties.location.y = childY;
childY += toolBarButtonHeight + toolBarMarginPadding;
}
}
}