]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.ui/src/org/simantics/ui/workbench/IEditorNamingService.java
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / bundles / org.simantics.ui / src / org / simantics / ui / workbench / IEditorNamingService.java
1 /*******************************************************************************
2  * Copyright (c) 2007, 2010 Association for Decentralized Information Management
3  * in Industry THTH ry.
4  * All rights reserved. This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License v1.0
6  * which accompanies this distribution, and is available at
7  * http://www.eclipse.org/legal/epl-v10.html
8  *
9  * Contributors:
10  *     VTT Technical Research Centre of Finland - initial API and implementation
11  *******************************************************************************/
12 package org.simantics.ui.workbench;
13
14 import org.eclipse.ui.IEditorInput;
15 import org.simantics.db.ReadGraph;
16 import org.simantics.db.exception.DatabaseException;
17 import org.simantics.project.IProjectService;
18 import org.simantics.utils.datastructures.hints.IHintContext.Key;
19 import org.simantics.utils.datastructures.hints.IHintContext.KeyOf;
20
21 /**
22  * An IProject service for naming editors while working on a project.
23  * 
24  * @author Tuukka Lehtonen
25  */
26 public interface IEditorNamingService extends IProjectService {
27
28     /**
29      * This key is used with an IProject for storing an
30      * {@link IEditorNamingService} in it. If this hint exists in the project,
31      * then the project has its own way of naming editors and it should be used
32      * by editors to initialize their titles.
33      */
34     Key KEY_EDITOR_NAMING_SERVICE = new KeyOf(IEditorNamingService.class);
35
36     /**
37      * Get the name that should be shown on an editor with the specified id and
38      * the specified input.
39      * 
40      * @param graph a graph for reading information for constructing a name
41      * @param editorId the ID of the editor to be named
42      * @param input the input of the editor to be named
43      * @return the service-preferred name for the editor
44      * @throws DatabaseException on any errors that occur while reading the
45      *         graph
46      */
47     String getName(ReadGraph graph, String editorId, IEditorInput input) throws DatabaseException;
48
49 }