/*****************************************************************************
 * Copyright (c) 2011 CEA LIST.
 *
 * 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:
 *
 *		CEA LIST - Initial API and implementation
 *
 *****************************************************************************/
package org.eclipse.papyrus.uml.diagram.common.utils;

public class UMLGraphicalTypes {

	/** ********************************************************* */
	/** Diagram custom graphical types id *********************** */
	/** ********************************************************* */
	/** Custom nodes */
	public static final String SHAPE_UML_ACTOR_AS_CLASSIFIER_ID = "shape_uml_actor_as_classifier"; //$NON-NLS-1$

	public static final String SHAPE_UML_DATATYPE_AS_CLASSIFIER_ID = "shape_uml_datatype_as_classifier"; //$NON-NLS-1$

	public static final String SHAPE_UML_ENUMERATION_AS_CLASSIFIER_ID = "shape_uml_enumeration_as_classifier"; //$NON-NLS-1$

	public static final String SHAPE_UML_INTERFACE_AS_CLASSIFIER_ID = "shape_uml_interface_as_classifier"; //$NON-NLS-1$

	public static final String SHAPE_UML_PRIMITIVETYPE_AS_CLASSIFIER_ID = "shape_uml_primitivetype_as_classifier"; //$NON-NLS-1$

	public static final String SHAPE_UML_SIGNAL_AS_CLASSIFIER_ID = "shape_uml_signal_as_classifier"; //$NON-NLS-1$

	public static final String SHAPE_UML_PORT_AS_AFFIXED_ID = "shape_uml_port_as_affixed"; //$NON-NLS-1$

	public static final String SHAPE_UML_PROPERTY_AS_AFFIXED_ID = "shape_uml_property_as_affixed"; //$NON-NLS-1$

	/** Custom label nodes */
	public static final String SHAPE_UML_CONSTRAINT_AS_LABEL_ID = "shape_uml_constraint_as_label"; //$NON-NLS-1$

	public static final String SHAPE_UML_ENUMERATIONLITERAL_AS_LABEL_ID = "shape_uml_enumerationliteral_as_label"; //$NON-NLS-1$

	public static final String SHAPE_UML_OPERATION_AS_LABEL_ID = "shape_uml_operation_as_label"; //$NON-NLS-1$

	public static final String SHAPE_UML_PORT_AS_LABEL_ID = "shape_uml_port_as_label"; //$NON-NLS-1$

	public static final String SHAPE_UML_PROPERTY_AS_LABEL_ID = "shape_uml_property_as_label"; //$NON-NLS-1$

	public static final String SHAPE_UML_RECEPTION_AS_LABEL_ID = "shape_uml_reception_as_label"; //$NON-NLS-1$

	/** Custom inner labels */
	public static final String LABEL_UML_NAMEDELEMENT_NAME_ID = "label_uml_namedelement_name"; //$NON-NLS-1$

	public static final String LABEL_UML_PROPERTY_LABEL_ID = "label_uml_property_label"; //$NON-NLS-1$

	/** Custom affixed labels */
	public static final String AFFIXEDLABEL_UML_APPLIEDSTEREOTYPE_ID = "affixedlabel_uml_appliedstereotype"; //$NON-NLS-1$

	public static final String AFFIXEDLABEL_UML_NAMEDELEMENT_NAME_ID = "affixedlabel_uml_namedelement_name"; //$NON-NLS-1$

	public static final String AFFIXEDLABEL_UML_PORT_LABEL_ID = "affixedlabel_uml_port_label"; //$NON-NLS-1$

	/** Custom compartments */
	public static final String COMPARTMENT_UML_CONSTRAINT_AS_LIST_ID = "compartment_uml_constraint_as_list"; //$NON-NLS-1$

	public static final String COMPARTMENT_UML_ENUMERATIONLITERAL_AS_LIST_ID = "compartment_uml_enumerationliteral_as_list"; //$NON-NLS-1$

	public static final String COMPARTMENT_UML_OPERATION_AS_LIST_ID = "compartment_uml_operation_as_list"; //$NON-NLS-1$

	public static final String COMPARTMENT_UML_PORT_AS_LIST_ID = "compartment_uml_port_as_list"; //$NON-NLS-1$

	public static final String COMPARTMENT_UML_PROPERTY_AS_LIST_ID = "compartment_uml_property_as_list"; //$NON-NLS-1$

	/** Custom links */
	public static final String LINK_UML_DEPENDENCY_ID = "link_uml_dependency"; //$NON-NLS-1$

	public static final String LINK_UML_CONNECTOR_ID = "link_uml_connector"; //$NON-NLS-1$

	public static final String LINK_UML_GENERALIZATION_ID = "link_uml_generalization"; //$NON-NLS-1$

	public static final String LINK_UML_INTERFACEREALIZATION_ID = "link_uml_interfacerealization"; //$NON-NLS-1$

	public static final String LINK_UML_USAGE_ID = "link_uml_usage"; //$NON-NLS-1$

	/** Custom link labels */
	public static final String LINKLABEL_UML_CONNECTOR_LABEL_ID = "linklabel_uml_connector_label"; //$NON-NLS-1$

	public static final String LINKLABEL_UML_NAMEDELEMENT_NAME_ID = "linklabel_uml_namedelement_name"; //$NON-NLS-1$

	public static final String LINKLABEL_UML_APPLIEDSTEREOTYPE_ID = "linklabel_uml_appliedstereotype"; //$NON-NLS-1$

	public static final String LINKLABEL_UML_ASSOCIATION_SOURCE_ROLE_ID = "linklabel_uml_association_source_role"; //$NON-NLS-1$

	public static final String LINKLABEL_UML_ASSOCIATION_SOURCE_MULTIPLICITY_ID = "linklabel_uml_association_source_multiplicity"; //$NON-NLS-1$

	public static final String LINKLABEL_UML_ASSOCIATION_TARGET_ROLE_ID = "linklabel_uml_association_target_role"; //$NON-NLS-1$

	public static final String LINKLABEL_UML_ASSOCIATION_TARGET_MULTIPLICITY_ID = "linklabel_uml_association_target_multiplicity"; //$NON-NLS-1$

	public static final String LINKLABEL_UML_CONNECTOR_SOURCE_MULTIPLICITY_ID = "linklabel_uml_connector_source_multiplicity"; //$NON-NLS-1$

	public static final String LINKLABEL_UML_CONNECTOR_TARGET_MULTIPLICITY_ID = "linklabel_uml_connector_target_multiplicity"; //$NON-NLS-1$
}
