###############################################################################
# Copyright (c) 2000, 2003 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
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
color1 = white
color2 = black
color3 = red
color4 = dark red
color5 = green
color6 = dark green
color7 = yellow
color8 = dark yellow
color9 = blue
color10 = dark blue
color11 = magenta
color12 = dark magenta
color13 = cyan
color14 = dark cyan
color15 = gray
color16 = dark gray

shape0 = square
shape1 = circle
shape2 = triangle

name = {0} {1}
color_value = a {0} bar {1} units tall

action0 = Action 1
action1 = Action 2
action0description = Description for Action 1
action1description = Description for Action 2
