/**
 * Copyright (c) 2009 Thales Corporate Services S.A.S.
 * 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:
 * Thales Corporate Services S.A.S - initial API and implementation
 */
package org.eclipse.egf.common.ui.constant;

/**
 * Common UI constants.
 * 
 * @author Xavier Maysonnave
 */
public interface EGFCommonUIConstants {

  public static final String CREATE_CHILD = "create-child"; //$NON-NLS-1$  

  public static final String CREATE_SIBLING = "create-sibling"; //$NON-NLS-1$  

  public static final String EDIT_MENU_GROUP = "edit"; //$NON-NLS-1$

}
