###############################################################################
# Copyright (c) 2003, 2005 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials 
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

pluginName=Visualiser Plug-in
providerName=Eclipse AspectJ Development Tools

# extension points
# ----------------

visualiserProviders=Visualiser Providers
visualiserRenderers=Visualiser Renderers
visualiserPalettes=Visualiser Palettes

# Views
# -----

Visualiser=Visualiser
visualiserView=Visualiser
visualiserMenuView=Visualiser Menu

# Providers
# ---------

inbuiltProviders=Inbuilt Providers
fileBasedProvider=File-based provider
fileBasedProvider.emptyMessage=Nothing to display from file-based provider.
fileBasedProvider.description=Simple test provider that reads a file to determine groups, members and stripes

jdtSearchResultsProvider=JDT Search Results Provider
jdtSearchResultsProvider.emptyMessage=Nothing to display from the JDT Search Results provider. \n\nOpen the Search View in the current perspective, run a Java search \nand select a project, package or class from the Package Explorer.
jdtSearchResultsProvider.description=Provider that shows Java search results in the visualiser

resourcesAndMarkersProvider=Resources and Markers
resourcesAndMarkersProvider.emptyMessage=Nothing to display.  Select a folder or file in the Navigator or the Package Explorer.
resourcesAndMarkersProvider.description=Provider that shows markers in the visualiser




VisualiserPreferencePage=Visualiser
Renderer.default.name=Default
Renderer.classic.name=Classic
Renderer.gradient.name=Gradient bars
Renderer.cylinders.name=Cylinder shading
Palette.default.name=Default palette
Palette.bright.name=Bright and bold
Palette.pattern.name=Patterns

