######################################################################
# Copyright (c) 2005, 2019 SAP SE
#
# This program and the accompanying materials are made
# available under the terms of the Eclipse Public License 2.0
# which is available at https://www.eclipse.org/legal/epl-2.0/
#
# Contributors:
#    SAP SE - initial API, implementation and documentation
#    Felix Velasco (mwenz) - Bug 323351 - Enable to suppress/reactivate the speed buttons
#
# SPDX-License-Identifier: EPL-2.0
#######################################################################
pluginName = Graphiti UI (Incubation)
providerName = Eclipse Modeling Project 

_contenttype_diagram = Diagram

_thumbnail_view = Miniature View
_thumbnail_view_category = Graphiti

_diagram_editor_name = Graphiti Diagram Editor

_extension_point_image_providers = Image Providers
_extension_point_diagram_type_providers = Diagram Type Providers
_extension_point_diagram_types = Diagram Types
_extension_point_diagram_exporter = Diagram Exporter

_diagram_editor_input_factory = DiagramEditorInputFactory

_key_binding_category = Edit
_command_name_update = Update
_command_description_update = Update selected Pictogram Elements
_command_name_remove = Remove
_command_description_remove = Remove selected Pictogram Elements
_command_name_export_diagram = Export Diagram
_command_description_export_diagram = Export Diagram
_command_name_toggle_context_pad=Hide Context Buttons
_command_description_toggle_context_pad=Toggle hiding the context buttons
_command_name_feature_execution=Feature execution
_command_description_feature_execution=Execute a custom feature on selected Pictogram Elements
_command_parameter_name_feature_execution_hint=Hint
