/****************************************************************************** * Copyright (c) 2002, 2003 IBM Corporation and others. * 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: * IBM Corporation - initial API and implementation ****************************************************************************/ package org.eclipse.gmf.runtime.common.ui.util; import org.eclipse.core.runtime.IStatus; import org.eclipse.jface.text.contentassist.IContentAssistProcessor; /** * An interface used to provide the string to edit for tree items when using the * tree-inline-text-editor * * @author Yasser Lulu * */ public interface IEditStringProvider { /** * Determines if node can be edited. * * @param element The data associated with the tree-node being edited * @return boolean <code>true</code> if node can be edited, otherwise <code>false</code> */ boolean canEdit(Object element); /** * Returns the initial to-be-edited string to diplay in the text-editor. * for a given tree-node * @param element The data associated with the tree-node being edited * @return String the editable string to display for the user */ String getEditString(Object element); /** * Handles the newly edited string entered by the user for the given element. * * @param element The data associated with the tree-node being edited * @param newString The new string entered by the user * @return IStatus the status of string editing operation */ IStatus setEditString(Object element, String newString); /** * Retrieve <code>IContentAssistProcessor</code> for specified object. * * @param element an object for which completion processor is to be retrieved * @return the completion processor */ IContentAssistProcessor getCompletionProcessor(Object element); }