<?php

	# Set the theme for your project's web pages.
	# See the Committer Tools "How Do I" for list of themes
	# https://dev.eclipse.org/committers/
	# Optional: defaults to system theme 
	$theme = "Nova";

	$Nav->setLinkList(null);

	# Define your project-wide Nav bars here.
	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
	# these are optional
	# Adding Portal-based "About" information, to be "Standard left menu"-compliant (see http://www.eclipse.org/projects/dev_process/project-status-infrastructure/left-menu.php) :
	$Nav->addCustomNav( "About This Project", "/projects/project_summary.php?projectid=technology.jwt", "", 1  );
	# Adding JWT specific menus :
	$Nav->addNavSeparator("		JWT Home", 	"/jwt/index.php");
	$Nav->addCustomNav("		About JWT", 		"/jwt/pages/about.php", "_self", 2);
	$Nav->addCustomNav("		FAQ", 				"http://wiki.eclipse.org/JWT_FAQ", "_self", 2);
	$Nav->addCustomNav("		Wiki", 				"http://wiki.eclipse.org/index.php/Java_Workflow_Tooling_Project", "_self", 2);
	$Nav->addNavSeparator("		Downloads",			"/jwt/download.php");
	$Nav->addCustomNav("		Download JWT", 	"/jwt/download.php", "_self", 2);
	$Nav->addCustomNav("		More", 	"http://wiki.eclipse.org/JWT_Downloads", "_self", 2);
	$Nav->addNavSeparator(" 	Components",		"/jwt/components/index.php");
	$Nav->addCustomNav("		Workflow Editor",	"/jwt/components/we/index.php");
	$Nav->addCustomNav("		Desktop Tools",		"/jwt/components/desktop/index.php");
	$Nav->addCustomNav("		Transformations",	"/jwt/components/transformations/index.php");
	$Nav->addCustomNav("		WAM",				"/jwt/components/wam/index.php");
	$Nav->addCustomNav("		Runtime",			"/jwt/components/runtime/index.php");
	$Nav->addNavSeparator("		Development", 		"http://wiki.eclipse.org/index.php/JWT_DeveloperFAQ");
	$Nav->addCustomNav("		Team", 	"/jwt/pages/team.php", "_self", 2);
	$Nav->addCustomNav("		Newsgroup", 		"http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology.jwt", "_self", 2);
	$Nav->addCustomNav("		Mailing list", 		"https://dev.eclipse.org/mailman/listinfo/jwt-dev", "_self", 2);
	$Nav->addCustomNav("		Telco Meetings", 		"http://wiki.eclipse.org/JWT_Meetings", "_self", 2);
	$Nav->addCustomNav("		Source (CVS)", 	"http://wiki.eclipse.org/JWT_CVS", "_self", 2);

?>
