1 /*******************************************************************************
\r
2 * Copyright (c) 2007, 2010 Association for Decentralized Information Management
\r
3 * in Industry THTH ry.
\r
4 * All rights reserved. This program and the accompanying materials
\r
5 * are made available under the terms of the Eclipse Public License v1.0
\r
6 * which accompanies this distribution, and is available at
\r
7 * http://www.eclipse.org/legal/epl-v10.html
\r
10 * VTT Technical Research Centre of Finland - initial API and implementation
\r
11 *******************************************************************************/
\r
12 package org.simantics.browsing.ui.common.node;
\r
15 * A tag interface for indicating that a browser node may be considered in-line
\r
16 * modifiable. It is used by model browser menu extensions to check whether to
\r
17 * show the "rename" option to the user or not.
\r
20 * There are several ways of specifying the actual modification procedure for
\r
24 * <li>To specify your own custom deletion logic, you can make your node
\r
25 * implement {@link IModifiableNode}</li>
\r
26 * <li>If your nodes are backed by database resources, you can make the nodes
\r
27 * adaptable to Resource (which {@link AbstractNode} already is), and make your
\r
28 * specific resource type adaptable to {@link StringModifier} (see <a
\r
29 * href="https://www.simantics.org/wiki/index.php/Resource_Adaptation"
\r
30 * >instructions</a>)</li>
\r
31 * <li>Specify your own Eclipse command framework <code>IHandler</code>, using the
\r
32 * org.eclipse.ui.handlers extension point, that is active only for your
\r
33 * particular node input. Don't use this method unless you have to.</li>
\r
36 * @see IModifiableNode
\r
38 public interface IModifiable {
\r