###############################################################################
# Copyright (c) 2000, 2003 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials 
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
providerName = Eclipse.org
plugin.SWTPaintExample.name = SWT Paint Example Plugin
category.SWTExamples.name = SWT Examples
view.PaintExample.name = Paint

launchcategory.SWTViewExamples.name = Workbench Views
launchcategory.SWTViewExamples.description = \
	A collection of Standard Widget Toolkit examples that run as Views inside the Workbench.  \
	These examples will create a new View in the current Perspective.

launchitem.PaintExample.name = Paint
launchitem.PaintExample.description = \
	This example demonstrates the use of SWT graphics operations in the form of a \
	rudimentary bitmap painting program.  The Airbrush Tool implementation also \
	demonstrates a mechanism for managing timed GUI operations in the background \
	that are triggered by user input.\n\n\
	Select a tool with which to draw in the drawing area.  There are a number of tools \
	to choose from on the toolbar.  To change the color selection, click on a color in the \
	palette below the drawing area: left-click for the foreground color, right-click for the \
	background color.\n\n\
	Uses SWT's GC and FontDialog, and JFace's InputDialog and action set support.

menu.Tools.label = Tools
menu.Options.label = Options

tool.Pencil.label = Pencil
tool.Pencil.tooltip = Pencil tool
tool.Pencil.image = icons/tool_pencil.gif
tool.Pencil.description = Selects the Pencil tool.

tool.Airbrush.label = Airbrush
tool.Airbrush.tooltip = Airbrush tool
tool.Airbrush.image = icons/tool_airbrush.gif
tool.Airbrush.description = Selects the Airbrush tool.

tool.Line.label = Line
tool.Line.tooltip = Line tool
tool.Line.image = icons/tool_line.gif
tool.Line.description = Selects the Line tool.

tool.PolyLine.label = Polygon
tool.PolyLine.tooltip = Polygon tool
tool.PolyLine.image = icons/tool_polyline.gif
tool.PolyLine.description = Selects the PolyLine tool.

tool.Rectangle.label = Rectangle
tool.Rectangle.tooltip = Rectangle tool
tool.Rectangle.image = icons/tool_rectangle.gif
tool.Rectangle.description = Selects the Rectangle tool.

tool.Ellipse.label = Ellipse
tool.Ellipse.tooltip = Ellipse tool
tool.Ellipse.image = icons/tool_ellipse.gif
tool.Ellipse.description = Selects the Ellipse tool.

tool.RoundedRectangle.label = Rounded Rectangle
tool.RoundedRectangle.tooltip = Rounded Rectangle
tool.RoundedRectangle.image = icons/tool_roundedrectangle.gif
tool.RoundedRectangle.description = Selects the Rounded Rectangle tool.

tool.Text.label = Text
tool.Text.tooltip = Text tool
tool.Text.image = icons/tool_text.gif
tool.Text.description = Selects the Text tool.
tool.Text.settings.defaulttext = Hello!
tool.Text.dialog.title = Text Tool Settings
tool.Text.dialog.message = Please enter the new text string to be painted.

tool.Null.label = <none>

fill.None.label = No Fill
fill.None.tooltip = No fill mode
fill.None.image = icons/fill_none.gif
fill.None.description = Selects No Fill mode.

fill.Outline.label = Outline Fill
fill.Outline.tooltip = Outline fill mode
fill.Outline.image = icons/fill_outline.gif
fill.Outline.description = Selects Outline Fill mode.

fill.Solid.label = Solid Fill
fill.Solid.tooltip = Solid fill mode
fill.Solid.image = icons/fill_solid.gif
fill.Solid.description = Selects Solid Fill mode.

linestyle.Solid.label = Solid Line
linestyle.Solid.tooltip = Solid line style
linestyle.Solid.image = icons/linestyle_solid.gif
linestyle.Solid.description = Select Solid Line style.

linestyle.Dot.label = Dotted Line
linestyle.Dot.tooltip = Dotted line style
linestyle.Dot.image = icons/linestyle_dot.gif
linestyle.Dot.description = Select Dotted Line style.

linestyle.Dash.label = Dashed Line
linestyle.Dash.tooltip = Dashed line style
linestyle.Dash.image = icons/linestyle_dash.gif
linestyle.Dash.description = Select Dashed Line style.

linestyle.DashDot.label = Dash-Dot Line
linestyle.DashDot.tooltip = Dash-Dot line style
linestyle.DashDot.image = icons/linestyle_dashdot.gif
linestyle.DashDot.description = Select Dash-Dot Line style.

options.Font.label = Text Tool Font
options.Font.tooltip = Select Text Tool font
options.Font.image = icons/options_font.gif
options.Font.description = Selects Text Tool font.
options.Font.dialog.title = Text Tool Font

settings.AirbrushRadius.text = Airbrush Radius
settings.AirbrushIntensity.text = Airbrush Intensity

session.Null.message = Select a tool...
session.ContinuousPaint.message = Click and drag to draw...
session.DragInteractivePaint.message = Click and drag to preview, release to draw, right-click to cancel...
session.SegmentedInteractivePaint.message.anchorMode = Click to set anchor...
session.SegmentedInteractivePaint.message.interactiveMode = Click to draw, double-click to close figure, right-click to cancel...
session.Text.message = Click to draw text, right-click to edit text...

status.Coord.format = ({0}, {1})
status.CoordRange.format = ({0}, {1}) - ({2}, {3})
status.Bar.format = {0} : {1}   {2}
