01: /*******************************************************************************
02: * Copyright (c) 2000, 2005 IBM Corporation and others.
03: * All rights reserved. This program and the accompanying materials
04: * are made available under the terms of the Eclipse Public License v1.0
05: * which accompanies this distribution, and is available at
06: * http://www.eclipse.org/legal/epl-v10.html
07: *
08: * Contributors:
09: * IBM Corporation - initial API and implementation
10: *******************************************************************************/package org.eclipse.ui;
11:
12: import org.eclipse.jface.resource.ImageDescriptor;
13:
14: /**
15: * Description of an editor in the workbench editor registry. The
16: * editor descriptor contains the information needed to create editor instances.
17: * <p>
18: * An editor descriptor typically represents one of three types of editors:
19: * <ul>
20: * <li>a file editor extension for a specific file extension.</li>
21: * <li>a file editor added by the user (via the workbench preference page)</li>
22: * <li>a general editor extension which works on objects other than files.</li>
23: * </ul>
24: * </p>
25: * <p>
26: * This interface is not intended to be implemented or extended by clients.
27: * </p>
28: *
29: * @see IEditorRegistry
30: */
31: public interface IEditorDescriptor extends IWorkbenchPartDescriptor {
32: /**
33: * Returns the editor id.
34: * <p>
35: * For internal editors, this is the extension id as defined in the workbench
36: * registry; for external editors, it is path and file name of the external
37: * program.
38: * </p>
39: *
40: * @return the id of the editor
41: */
42: public String getId();
43:
44: /**
45: * Returns the descriptor of the image for this editor.
46: *
47: * @return the descriptor of the image to display next to this editor
48: */
49: public ImageDescriptor getImageDescriptor();
50:
51: /**
52: * Returns the label to show for this editor.
53: *
54: * @return the editor label
55: */
56: public String getLabel();
57:
58: /**
59: * Returns whether this editor descriptor will open a regular editor
60: * part inside the editor area.
61: *
62: * @return <code>true</code> if editor is inside editor area, and
63: * <code>false</code> otherwise
64: * @since 3.0
65: */
66: public boolean isInternal();
67:
68: /**
69: * Returns whether this editor descriptor will open an external
70: * editor in-place inside the editor area.
71: *
72: * @return <code>true</code> if editor is in-place, and <code>false</code>
73: * otherwise
74: * @since 3.0
75: */
76: public boolean isOpenInPlace();
77:
78: /**
79: * Returns whether this editor descriptor will open an external editor
80: * in a new window outside the workbench.
81: *
82: * @return <code>true</code> if editor is external, and <code>false</code>
83: * otherwise
84: * @since 3.0
85: */
86: public boolean isOpenExternal();
87:
88: /**
89: * Returns the editor matching strategy object for editors
90: * represented by this editor descriptor, or <code>null</code>
91: * if there is no explicit matching strategy specified.
92: *
93: * @return the editor matching strategy, or <code>null</code> if none
94: * @since 3.1
95: */
96: public IEditorMatchingStrategy getEditorMatchingStrategy();
97: }
|