/*******************************************************************************
 * Copyright (c) 2009, 2019 Xored Software Inc and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-v20.html
 *
 * Contributors:
 *     Xored Software Inc - initial API and implementation and/or initial documentation
 *******************************************************************************/
package org.eclipse.rcptt.tesla.ecl.model;


/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Get Tab Item</b></em>'.
 * <!-- end-user-doc -->
 *
 *
 * @see org.eclipse.rcptt.tesla.ecl.model.TeslaPackage#getGetTabItem()
 * @model annotation="http://www.eclipse.org/ecl/docs description='Gets tab of editor with defined name. If this tab doesn\'t exist, then error is returned.' returns='tab' recorded='true' example='get-editor SO | get-tab-folder | get-tab-item Documentation | click'"
 * @generated
 */
public interface GetTabItem extends TextSelector {
} // GetTabItem
