#-------------------------------------------------------------------------------
# Copyright (c) 2005, 2006 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 implementation.
#-------------------------------------------------------------------------------

# Default Shape Icon Mapping for the Method Elements.

# Core Method Elements
artifact=images/artifact.gif
contentelement=images/guidance.gif
contentpackage=images/content_package.gif
deliverable=images/artifact.gif
methodplugin=images/method_plugin.gif
outcome=images/artifact.gif
role=images/role.gif
task=images/task.gif

# Guidance
checklist=images/checklist.gif
concept=images/concept.gif
example=images/example.gif
estimationconsiderations=images/estimationconsiderations.gif
guidance=images/guidance.gif
guidline=images/guidline.gif
practice=images/practice.gif
roadmap=images/roadmap.gif
report=images/report.gif
reusableasset=images/reusableasset.gif
supportingmaterial=images/supportingmaterial.gif
technique=images/technique.gif
template=images/template.gif
termdefinition=images/termdefinition.gif
toolmentor=images/toolmentor.gif
whitepaper=images/whitepaper.gif

# Content Categories
customcategory=images/content_package.gif
discipline=images/content_package.gif
disciplinegrouping=images/content_package.gif
domain=images/content_package.gif
roleset=images/content_package.gif
rolesetgrouping=images/content_package.gif
tool=images/content_package.gif
workproducttype=images/content_package.gif

# Process Elements
activity=images/process.gif
capabilitypattern=images/process.gif
deliveryprocess=images/process.gif
iteration=images/process.gif
phase=images/process.gif
process=images/process.gif

# Descriptors
compositerole=images/compositerole.gif
roledescriptor=images/roledes_lg_dgm32.gif
taskdescriptor=images/taskdes_lg_dgm32.gif
teamprofile=images/teamprofile.gif
workproductdescriptor=images/workdes_lg_dgm32.gif
milestone=images/milestone.gif

# Misc
general=images/guidance.gif
