diff options
Diffstat (limited to 'target_explorer/plugins/org.eclipse.tm.te.ui.views/src/org/eclipse/tm/te/ui/views/internal/editor/Editor.java')
-rw-r--r-- | target_explorer/plugins/org.eclipse.tm.te.ui.views/src/org/eclipse/tm/te/ui/views/internal/editor/Editor.java | 215 |
1 files changed, 0 insertions, 215 deletions
diff --git a/target_explorer/plugins/org.eclipse.tm.te.ui.views/src/org/eclipse/tm/te/ui/views/internal/editor/Editor.java b/target_explorer/plugins/org.eclipse.tm.te.ui.views/src/org/eclipse/tm/te/ui/views/internal/editor/Editor.java deleted file mode 100644 index 49460e3c9..000000000 --- a/target_explorer/plugins/org.eclipse.tm.te.ui.views/src/org/eclipse/tm/te/ui/views/internal/editor/Editor.java +++ /dev/null @@ -1,215 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Wind River Systems, Inc. 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: - * Wind River Systems - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.te.ui.views.internal.editor; - -import org.eclipse.core.runtime.Assert; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.tm.te.ui.views.extensions.EditorPageBinding; -import org.eclipse.tm.te.ui.views.extensions.EditorPageBindingExtensionPointManager; -import org.eclipse.tm.te.ui.views.extensions.EditorPageExtensionPointManager; -import org.eclipse.tm.te.ui.views.interfaces.IEditorPage; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorSite; -import org.eclipse.ui.IMemento; -import org.eclipse.ui.IPersistable; -import org.eclipse.ui.IPersistableEditor; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.XMLMemento; -import org.eclipse.ui.forms.editor.FormEditor; -import org.eclipse.ui.forms.editor.IFormPage; - - -/** - * Details editor. - */ -public class Editor extends FormEditor implements IPersistableEditor { - - // The reference to an memento to restore once the editor got activated - private IMemento mementoToRestore; - - /* (non-Javadoc) - * @see org.eclipse.ui.forms.editor.FormEditor#addPages() - */ - @Override - protected void addPages() { - // Read extension point and add the contributed pages. - IEditorInput input = getEditorInput(); - // Get all applicable editor page bindings - EditorPageBinding[] bindings = EditorPageBindingExtensionPointManager.getInstance().getApplicableEditorPageBindings(input); - for (EditorPageBinding binding : bindings) { - String pageId = binding.getPageId(); - if (pageId != null) { - // Get the corresponding editor page instance - IEditorPage page = EditorPageExtensionPointManager.getInstance().getEditorPage(pageId, true); - if (page != null) { - try { - // Associate this editor with the page instance. - // This is typically done in the constructor, but we are - // utilizing a default constructor to instantiate the page. - page.initialize(this); - - // Read in the "insertBefore" and "insertAfter" properties of the binding - String insertBefore = binding.getInsertBefore().trim(); - String insertAfter = binding.getInsertAfter().trim(); - - // insertBefore will eclipse insertAfter is both is specified. - if (!"".equals(insertBefore)) { //$NON-NLS-1$ - // If it is "first", we insert the page at index 0 - if ("first".equalsIgnoreCase(insertBefore)) { //$NON-NLS-1$ - addPage(0, page); - } else { - // Find the index of the page we shall insert this page before - int index = getIndexOf(insertBefore); - if (index != -1) addPage(index, page); - else addPage(page); - } - } else if (!"".equals(insertAfter) && !"last".equalsIgnoreCase(insertAfter)) { //$NON-NLS-1$ //$NON-NLS-2$ - // Find the index of the page we shall insert this page after - int index = getIndexOf(insertAfter); - if (index != -1 && index + 1 < pages.size()) addPage(index + 1, page); - else addPage(page); - } else { - // And add the page to the editor as last page. - addPage(page); - } - } catch (PartInitException e) { /* ignored on purpose */ } - } - } - } - - if (mementoToRestore != null) { - // Loop over all registered pages and pass on the editor specific memento - // to the pages which implements IPersistableEditor as well - for (Object page : pages) { - if (page instanceof IPersistableEditor) { - ((IPersistableEditor)page).restoreState(mementoToRestore); - } - } - mementoToRestore = null; - } - } - - /** - * Returns the index of the page with the given id. - * - * @param pageId The page id. Must not be <code>null</code>. - * @return The page index or <code>-1</code> if not found. - */ - private int getIndexOf(String pageId) { - Assert.isNotNull(pageId); - for (int i = 0; i < pages.size(); i++) { - Object page = pages.get(i); - if (page instanceof IFormPage) { - IFormPage fpage = (IFormPage)page; - if (fpage.getId().equals(pageId)) - return i; - } - } - return -1; - } - - /* (non-Javadoc) - * @see org.eclipse.ui.forms.editor.FormPage#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput) - */ - @Override - public void init(IEditorSite site, IEditorInput input) throws PartInitException { - super.init(site, input); - - // Update the part name - if (!"".equals(input.getName())) setPartName(input.getName()); //$NON-NLS-1$ - } - - /* (non-Javadoc) - * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor) - */ - @Override - public void doSave(IProgressMonitor monitor) { - commitPages(true); - editorDirtyStateChanged(); - } - - /* (non-Javadoc) - * @see org.eclipse.ui.part.EditorPart#doSaveAs() - */ - @Override - public void doSaveAs() { - } - - /* (non-Javadoc) - * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed() - */ - @Override - public boolean isSaveAsAllowed() { - return false; - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IPersistableEditor#restoreState(org.eclipse.ui.IMemento) - */ - @Override - public void restoreState(IMemento memento) { - // Get the editor specific memento - mementoToRestore = internalGetMemento(memento); - } - - /* (non-Javadoc) - * @see org.eclipse.ui.IPersistable#saveState(org.eclipse.ui.IMemento) - */ - @Override - public void saveState(IMemento memento) { - // Get the editor specific memento - memento = internalGetMemento(memento); - // Loop over all registered pages and pass on the editor specific memento - // to the pages which implements IPersistable as well - for (Object page : pages) { - if (page instanceof IPersistable) { - ((IPersistable)page).saveState(memento); - } - } - } - - /** - * Internal helper method accessing our editor local child memento - * from the given parent memento. - */ - private IMemento internalGetMemento(IMemento memento) { - // Assume the editor memento to be the same as the parent memento - IMemento editorMemento = memento; - - // If the parent memento is not null, create a child within the parent - if (memento != null) { - editorMemento = memento.getChild(Editor.class.getName()); - if (editorMemento == null) { - editorMemento = memento.createChild(Editor.class.getName()); - } - } else { - // The parent memento is null. Create a new internal instance - // of a XMLMemento. This case is happening if the user switches - // to another perspective an the view becomes visible by this switch. - editorMemento = XMLMemento.createWriteRoot(Editor.class.getName()); - } - - return editorMemento; - } - - /* (non-Javadoc) - * @see org.eclipse.ui.part.MultiPageEditorPart#getAdapter(java.lang.Class) - */ - @Override - public Object getAdapter(Class adapter) { - // We pass on the adapt request to the currently active page - Object adapterInstance = getActivePageInstance() != null ? getActivePageInstance().getAdapter(adapter) : null; - if (adapterInstance == null) { - // If failed to adapt via the currently active page, pass on to the super implementation - adapterInstance = super.getAdapter(adapter); - } - return adapterInstance; - } -} |