###############################################################################
# Copyright (c) 2000, 2004 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
# $Id$
# 
# Please visit http://www.eclipse.org/objectteams for updates and contact.
# 
# Contributors:
#     IBM Corporation - initial API and implementation
# 	  Fraunhofer FIRST - Initial API and implementation
# 	  Technical University Berlin - Initial API and implementation
###############################################################################

overview.page-content.overview-links.java.link-icon = css/graphics/obj_48/javadev_obj.gif

tutorials.page-content.java.layout.ncolumns = 2
tutorials.page-content.java.hello-world.link-icon = css/graphics/obj_48/javaapp_obj.gif
tutorials.page-content.java.applet.link-icon = css/graphics/obj_48/javaapplet_obj.gif
tutorials.page-content.java.swt.link-icon = css/graphics/obj_48/swtapp_obj.gif
tutorials.page-content.java.ant.link-icon = css/graphics/obj_48/script_obj.gif


otdt-root.page-content.layout.vspacing = 5

otdt-root.page-content.ot-motivation.layout.vspacing = 5
otdt-root.page-content.ot-motivation.layout.ncolumns = 1
otdt-root.page-content.ot-motivation.moti.layout.vspacing = 5
otdt-root.page-content.ot-motivation.moti.layout.ncolumns = 1

otdt-root.page-content.ot-keyfeatures.layout.vspacing = 5
otdt-root.page-content.ot-keyfeatures.layout.ncolumns = 1
otdt-root.page-content.ot-keyfeatures.features.layout.vspacing = 5
otdt-root.page-content.ot-keyfeatures.features.layout.ncolumns = 1
