|
Eclipse Platform 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
A workbench page consists of an arrangement of views and editors intended to be presented together to the user in a single workbench window.
A page can contain 0 or more views and 0 or more editors. These views and editors are contained wholly within the page and are not shared with other pages. The layout and visible action set for the page is defined by a perspective.
The number of views and editors within a page is restricted to simplify part management for the user. In particular:
This interface is not intended to be implemented by clients.
IPerspectiveDescriptor
,
IEditorPart
,
IViewPart
Field Summary | |
static String |
CHANGE_ACTION_SET_HIDE
Change event id when the perspective action set is hidden. |
static String |
CHANGE_ACTION_SET_SHOW
Change event id when a perspective action set is shown. |
static String |
CHANGE_EDITOR_AREA_HIDE
Change event id when the perspective editor area is hidden. |
static String |
CHANGE_EDITOR_AREA_SHOW
Change event id when the perspective editor area is shown. |
static String |
CHANGE_EDITOR_CLOSE
Change event id when one or more perspective editors are closed. |
static String |
CHANGE_EDITOR_OPEN
Change event id when one or more perspective editors are opened. |
static String |
CHANGE_FAST_VIEW_ADD
Change event id when a perspective fast view added. |
static String |
CHANGE_FAST_VIEW_REMOVE
Change event id when the perspective fast view removed. |
static String |
CHANGE_RESET
Change event id when the perspective is reset to its original state. |
static String |
CHANGE_VIEW_HIDE
Change event id when one or more perspective views are hidden. |
static String |
CHANGE_VIEW_SHOW
Change event id when one or more perspective views are shown. |
static String |
CHANGE_WORKING_SET_REPLACE
Change event id when the page working set was replaced |
static String |
EDITOR_ID_ATTR
An optional attribute within a workspace marker ( IMarker ) which
identifies the preferred editor type to be opened when
openEditor is called. |
Method Summary | |
void |
activate(IWorkbenchPart part)
Activates the given part. |
void |
addPropertyChangeListener(IPropertyChangeListener listener)
Deprecated. individual views should store a working set if needed and register a property change listener directly with the working set manager to receive notification when the view working set is removed. |
void |
bringToTop(IWorkbenchPart part)
Moves the given part forward in the Z order of this page so as to make it visible, without changing which part has focus. |
boolean |
close()
Closes this workbench page. |
boolean |
closeAllEditors(boolean save)
Closes all of the editors belonging to this workbench page. |
boolean |
closeEditor(IEditorPart editor,
boolean save)
Closes the given editor. |
IEditorPart |
findEditor(IEditorInput input)
Returns the editor with the specified input. |
IViewPart |
findView(String viewId)
Returns the view in this page with the specified id. |
IEditorPart |
getActiveEditor()
Returns the active editor open in this page. |
IEditorPart[] |
getDirtyEditors()
Returns a list of dirty editors in this page. |
IEditorReference[] |
getEditorReferences()
Returns a array of references to open editors in this page. |
int |
getEditorReuseThreshold()
Deprecated. |
IEditorPart[] |
getEditors()
Deprecated. use getEditorReferences() instead |
IAdaptable |
getInput()
Returns the input for this page. |
String |
getLabel()
Returns the page label. |
IPerspectiveDescriptor |
getPerspective()
Returns the current perspective descriptor for this page. |
IViewReference[] |
getViewReferences()
Returns a list of the reference to views visible on this page. |
IViewPart[] |
getViews()
Deprecated. use getViewReferences() instead. |
IWorkbenchWindow |
getWorkbenchWindow()
Returns the workbench window of this page. |
IWorkingSet |
getWorkingSet()
Deprecated. individual views should store a working set if needed |
void |
hideActionSet(String actionSetID)
Hides an action set in this page. |
void |
hideView(IViewPart view)
Hides the given view. |
boolean |
isEditorAreaVisible()
Returns whether the page's current perspective is showing the editor area. |
boolean |
isEditorPinned(IEditorPart editor)
Returns true if the editor is pinned and should not be reused. |
IEditorPart |
openEditor(IEditorInput input,
String editorId)
Opens an editor on the given object. |
IEditorPart |
openEditor(IEditorInput input,
String editorId,
boolean activate)
Opens an editor on the given object. |
IEditorPart |
openEditor(IFile input)
Opens an editor on the given file resource. |
IEditorPart |
openEditor(IFile input,
String editorID)
Opens an editor on the given file resource. |
IEditorPart |
openEditor(IFile input,
String editorID,
boolean activate)
Opens an editor on the given file resource. |
IEditorPart |
openEditor(IMarker marker)
Opens an editor on the file resource of the given marker. |
IEditorPart |
openEditor(IMarker marker,
boolean activate)
Opens an editor on the file resource of the given marker. |
void |
openSystemEditor(IFile input)
Opens an operating system editor on a given file. |
void |
removePropertyChangeListener(IPropertyChangeListener listener)
Deprecated. individual views should store a working set if needed and register a property change listener directly with the working set manager to receive notification when the view working set is removed. |
void |
resetPerspective()
Changes the visible views, their layout, and the visible action sets within the page to match the current perspective descriptor. |
boolean |
saveAllEditors(boolean confirm)
Saves the contents of all dirty editors belonging to this workbench page. |
boolean |
saveEditor(IEditorPart editor,
boolean confirm)
Saves the contents of the given editor if dirty. |
void |
savePerspective()
Saves the visible views, their layout, and the visible action sets for this page to the current perspective descriptor. |
void |
savePerspectiveAs(IPerspectiveDescriptor perspective)
Saves the visible views, their layout, and the visible action sets for this page to the given perspective descriptor. |
void |
setEditorAreaVisible(boolean showEditorArea)
Show or hide the editor area for the page's active perspective. |
void |
setEditorReuseThreshold(int openEditors)
Deprecated. use IPageLayout.setEditorReuseThreshold(int openEditors) instead. |
void |
setPerspective(IPerspectiveDescriptor perspective)
Changes the visible views, their layout, and the visible action sets within the page to match the given perspective descriptor. |
void |
showActionSet(String actionSetID)
Shows an action set in this page. |
IViewPart |
showView(String viewId)
Shows a view in this page and give it focus. |
Methods inherited from interface org.eclipse.ui.IPartService |
addPartListener, getActivePart, removePartListener |
Methods inherited from interface org.eclipse.ui.ISelectionService |
addPostSelectionListener, addPostSelectionListener, addSelectionListener, addSelectionListener, getSelection, getSelection, removePostSelectionListener, removePostSelectionListener, removeSelectionListener, removeSelectionListener |
Field Detail |
public static final String EDITOR_ID_ATTR
IMarker
) which
identifies the preferred editor type to be opened when
openEditor
is called.
openEditor(org.eclipse.core.resources.IFile)
,
Constant Field Valuespublic static final String CHANGE_RESET
IPerspectiveListener
,
Constant Field Valuespublic static final String CHANGE_VIEW_SHOW
IPerspectiveListener
,
Constant Field Valuespublic static final String CHANGE_VIEW_HIDE
IPerspectiveListener
,
Constant Field Valuespublic static final String CHANGE_EDITOR_OPEN
IPerspectiveListener
,
Constant Field Valuespublic static final String CHANGE_EDITOR_CLOSE
IPerspectiveListener
,
Constant Field Valuespublic static final String CHANGE_EDITOR_AREA_SHOW
IPerspectiveListener
,
Constant Field Valuespublic static final String CHANGE_EDITOR_AREA_HIDE
IPerspectiveListener
,
Constant Field Valuespublic static final String CHANGE_ACTION_SET_SHOW
IPerspectiveListener
,
Constant Field Valuespublic static final String CHANGE_ACTION_SET_HIDE
IPerspectiveListener
,
Constant Field Valuespublic static final String CHANGE_FAST_VIEW_ADD
IPerspectiveListener
,
Constant Field Valuespublic static final String CHANGE_FAST_VIEW_REMOVE
IPerspectiveListener
,
Constant Field Valuespublic static final String CHANGE_WORKING_SET_REPLACE
IPropertyChangeListener
,
Constant Field ValuesMethod Detail |
public void activate(IWorkbenchPart part)
part
- the part to activatepublic void addPropertyChangeListener(IPropertyChangeListener listener)
listener
- the property change listener to addpublic void bringToTop(IWorkbenchPart part)
part
- the part to bring forwardpublic boolean close()
If the page has an open editor with unsaved content, the user will be given the opportunity to save it.
true
if the page was successfully closed,
and false
if it is still openpublic boolean closeAllEditors(boolean save)
If the page has open editors with unsaved content and save
is true
, the user will be given the opportunity to save them.
true
if all editors were successfully closed,
and false
if at least one is still openpublic boolean closeEditor(IEditorPart editor, boolean save)
If the editor has unsaved content and save
is true
,
the user will be given the opportunity to save it.
editor
- the editor to closesave
- true
to save the editor contents if required
(recommended), and false
to discard any unsaved changes
true
if the editor was successfully closed,
and false
if the editor is still openpublic IViewPart findView(String viewId)
viewId
- the id of the view extension to use
null
if none is foundpublic IEditorPart getActiveEditor()
This is the visible editor on the page, or, if there is more than one visible editor, this is the one most recently brought to top.
null
if no editor is activepublic IEditorPart findEditor(IEditorInput input)
input
public IEditorPart[] getEditors()
Note that each page has its own editors; editors are never shared between pages.
public IEditorReference[] getEditorReferences()
Note that each page has its own editors; editors are never shared between pages.
public IEditorPart[] getDirtyEditors()
public IAdaptable getInput()
null
if nonepublic String getLabel()
public IPerspectiveDescriptor getPerspective()
setPerspective(org.eclipse.ui.IPerspectiveDescriptor)
,
savePerspective()
public IViewReference[] getViewReferences()
Note that each page has its own views; views are never shared between pages.
public IViewPart[] getViews()
Note that each page has its own views; views are never shared between pages.
public IWorkbenchWindow getWorkbenchWindow()
public IWorkingSet getWorkingSet()
public void hideActionSet(String actionSetID)
In most cases where this method is used the caller is tightly coupled to
a particular action set. They define it in the registry and may make it
visible in certain scenarios by calling showActionSet
.
A static variable is often used to identify the action set id in caller
code.
public void hideView(IViewPart view)
view
- the view to hidepublic boolean isEditorAreaVisible()
true
when editor area visible, false
otherwisepublic IEditorPart openEditor(IFile input) throws PartInitException
If this page already has an editor open on the target object that editor is activated; otherwise, a new editor is opened.
An appropriate editor for the input is determined using a multistep process.
IEditorRegistry.getDefaultEditor(IFile)
.
input
- the file to edit
PartInitException
- if the editor could not be initializedpublic IEditorPart openEditor(IFile input, String editorID, boolean activate) throws PartInitException
If this page already has an editor open on the target object that editor is
brought to front; otherwise, a new editor is opened. If
activate == true
the editor will be activated.
The editor type is determined by mapping editorId
to an editor
extension registered with the workbench. An editor id is passed rather than
an editor object to prevent the accidental creation of more than one editor
for the same input. It also guarantees a consistent lifecycle for editors,
regardless of whether they are created by the user or restored from saved
data.
input
- the file to editactivate
- if true
the editor will be activated
PartInitException
- if the editor could not be initializedpublic IEditorPart openEditor(IFile input, String editorID) throws PartInitException
If this page already has an editor open on the target object that editor is activated; otherwise, a new editor is opened.
The editor type is determined by mapping editorId
to an editor
extension registered with the workbench. An editor id is passed rather than
an editor object to prevent the accidental creation of more than one editor
for the same input. It also guarantees a consistent lifecycle for editors,
regardless of whether they are created by the user or restored from saved
data.
input
- the file to edit
PartInitException
- if the editor could not be initializedpublic IEditorPart openEditor(IMarker marker) throws PartInitException
If this page already has an editor open on the target object that editor is activated; otherwise, a new editor is opened. The cursor and selection state of the editor is then updated from information recorded in the marker.
If the marker contains an EDITOR_ID_ATTR
attribute
the attribute value will be used to determine the editor type to be opened.
If not, the registered editor for the marker resource will be used.
marker
- the marker to open
PartInitException
- if the editor could not be initializedIEditorPart.gotoMarker(org.eclipse.core.resources.IMarker)
public IEditorPart openEditor(IMarker marker, boolean activate) throws PartInitException
If this page already has an editor open on the target object that editor is
brought to front; otherwise, a new editor is opened. If
activate == true
the editor will be activated. The cursor and
selection state of the editor are then updated from information recorded in
the marker.
If the marker contains an EDITOR_ID_ATTR
attribute
the attribute value will be used to determine the editor type to be opened.
If not, the registered editor for the marker resource will be used.
marker
- the marker to openactivate
- if true
the editor will be activated
PartInitException
- if the editor could not be initializedIEditorPart.gotoMarker(org.eclipse.core.resources.IMarker)
public IEditorPart openEditor(IEditorInput input, String editorId) throws PartInitException
If this page already has an editor open on the target object that editor is activated; otherwise, a new editor is opened.
The editor type is determined by mapping editorId
to an editor
extension registered with the workbench. An editor id is passed rather than
an editor object to prevent the accidental creation of more than one editor
for the same input. It also guarantees a consistent lifecycle for editors,
regardless of whether they are created by the user or restored from saved
data.
input
- the editor inputeditorId
- the id of the editor extension to use
PartInitException
- if the editor could not be initializedpublic IEditorPart openEditor(IEditorInput input, String editorId, boolean activate) throws PartInitException
If this page already has an editor open on the target object that editor is
brought to the front; otherwise, a new editor is opened. If
activate == true
the editor will be activated.
The editor type is determined by mapping editorId
to an editor
extension registered with the workbench. An editor id is passed rather than
an editor object to prevent the accidental creation of more than one editor
for the same input. It also guarantees a consistent lifecycle for editors,
regardless of whether they are created by the user or restored from saved
data.
input
- the editor inputeditorId
- the id of the editor extension to useactivate
- if true
the editor will be activated
PartInitException
- if the editor could not be initializedpublic void openSystemEditor(IFile input) throws PartInitException
input
- the file to edit
PartInitException
- if the editor could not be opened.public void removePropertyChangeListener(IPropertyChangeListener listener)
listener
- the property change listener to removepublic void resetPerspective()
For more information on perspective change seesetPerspective()
.
public boolean saveAllEditors(boolean confirm)
If confirm
is true
the user is prompted to
confirm the command.
confirm
- true
to ask the user before saving unsaved
changes (recommended), and false
to save unsaved changes
without asking
true
if the command succeeded, and false
if at least one editor with unsaved changes was not savedpublic boolean saveEditor(IEditorPart editor, boolean confirm)
If confirm
is true
the user is prompted to
confirm the command. Otherwise, the save happens without prompt.
The editor must belong to this workbench page.
editor
- the editor to closeconfirm
- true
to ask the user before saving unsaved
changes (recommended), and false
to save unsaved changes
without asking
true
if the command succeeded, and false
if the editor was not savedpublic void savePerspective()
public void savePerspectiveAs(IPerspectiveDescriptor perspective)
perspective
- the perspective descriptor to save topublic void setEditorAreaVisible(boolean showEditorArea)
showEditorArea
- true
to show the editor area, false
to hide the editor areapublic void setPerspective(IPerspectiveDescriptor perspective)
When a perspective change occurs the old perspective is deactivated (hidden) and cached for future reference. Then the new perspective is activated (shown). The views within the page are shared by all existing perspectives to make it easy for the user to switch between one perspective and another quickly without loss of context.
During activation the action sets are modified. If an action set is specified in the new perspective which is not visible in the old one it will be created. If an old action set is not specified in the new perspective it will be disposed.
The visible views and their layout within the page also change. If a view is specified in the new perspective which is not visible in the old one a new instance of the view will be created. If an old view is not specified in the new perspective it will be hidden. This view may reappear if the user selects it from the View menu or if they switch to a perspective (which may be the old one) where the view is visible.
The open editors are not modified by this method.
perspective
- the perspective descriptorpublic void showActionSet(String actionSetID)
In most cases where this method is used the caller is tightly coupled to
a particular action set. They define it in the registry and may make it
visible in certain scenarios by calling showActionSet
.
A static variable is often used to identify the action set id in caller
code.
public IViewPart showView(String viewId) throws PartInitException
The view type is determined by mapping viewId
to a view extension
registered with the workbench. A view id is passed rather than a view object
to prevent the accidental creation of more than one view of a particular type.
It also guarantees a consistent lifecycle for views, regardless of whether
they are created by the user or restored from saved data.
viewId
- the id of the view extension to use
PartInitException
- if the view could not be initializedpublic boolean isEditorPinned(IEditorPart editor)
public int getEditorReuseThreshold()
public void setEditorReuseThreshold(int openEditors)
|
Eclipse Platform 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |