diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/XmlEditorMultiOutline.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/XmlEditorMultiOutline.java | 221 |
1 files changed, 0 insertions, 221 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/XmlEditorMultiOutline.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/XmlEditorMultiOutline.java deleted file mode 100644 index 61db9f313..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/XmlEditorMultiOutline.java +++ /dev/null @@ -1,221 +0,0 @@ -/* - * Copyright (C) 2012 The Android Open Source Project - * - * Licensed under the Eclipse Public License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.eclipse.org/org/documents/epl-v10.php - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.ide.eclipse.adt.internal.editors; - -import com.android.ide.eclipse.adt.AdtPlugin; - -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.action.IStatusLineManager; -import org.eclipse.jface.action.IToolBarManager; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.ui.IActionBars; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.part.IPageBookViewPage; -import org.eclipse.ui.part.Page; -import org.eclipse.ui.part.PageBook; -import org.eclipse.ui.views.contentoutline.IContentOutlinePage; - -import java.util.ArrayList; -import java.util.List; - -/** - * Outline used for XML editors that have multiple pages with separate outlines: - * switches between them - * <p> - * See https://bugs.eclipse.org/bugs/show_bug.cgi?id=1917 - * <p> - * Modeled after .org.eclipse.pde.internal.ui.editor.PDEMultiPageContentOutline - */ -public class XmlEditorMultiOutline extends Page implements IContentOutlinePage, - ISelectionChangedListener { - private boolean mDisposed; - private PageBook mPageBook; - private IContentOutlinePage mCurrentPage; - private IActionBars mActionBars; - private IContentOutlinePage mEmptyPage; - private List<ISelectionChangedListener> mListeners; - private ISelection mSelection; - - public XmlEditorMultiOutline() { - } - - @Override - public Control getControl() { - return mPageBook; - } - - @Override - public void createControl(Composite parent) { - mPageBook = new PageBook(parent, SWT.NONE); - } - - @Override - public void dispose() { - mDisposed = true; - mListeners = null; - if (mPageBook != null && !mPageBook.isDisposed()) { - mPageBook.dispose(); - mPageBook = null; - } - if (mEmptyPage != null) { - mEmptyPage.dispose(); - mEmptyPage = null; - } - } - - public boolean isDisposed() { - return mDisposed; - } - - @Override - public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, - IStatusLineManager statusLineManager) { - } - - @Override - public void setActionBars(IActionBars actionBars) { - mActionBars = actionBars; - if (mCurrentPage != null) { - setPageActive(mCurrentPage); - } - } - - @Override - public void setFocus() { - if (mCurrentPage != null) { - mCurrentPage.setFocus(); - } - } - - @Override - public void addSelectionChangedListener(ISelectionChangedListener listener) { - if (mListeners == null) { - mListeners = new ArrayList<ISelectionChangedListener>(2); - } - mListeners.add(listener); - } - - @Override - public void removeSelectionChangedListener(ISelectionChangedListener listener) { - mListeners.remove(listener); - } - - @Override - public ISelection getSelection() { - return mSelection; - } - - @Override - public void selectionChanged(SelectionChangedEvent event) { - setSelection(event.getSelection()); - } - - public void setPageActive(IContentOutlinePage page) { - if (page == null) { - if (mEmptyPage == null) { - mEmptyPage = new EmptyPage(); - } - page = mEmptyPage; - } - if (mCurrentPage != null) { - mCurrentPage.removeSelectionChangedListener(this); - } - page.addSelectionChangedListener(this); - mCurrentPage = page; - // Still initializing? - if (mPageBook == null) { - return; - } - Control control = page.getControl(); - if (control == null || control.isDisposed()) { - if (page instanceof IPageBookViewPage) { - try { - ((IPageBookViewPage) page).init(getSite()); - } catch (PartInitException e) { - AdtPlugin.log(e, null); - } - } - page.createControl(mPageBook); - page.setActionBars(mActionBars); - control = page.getControl(); - } - mPageBook.showPage(control); - } - - @Override - public void setSelection(ISelection selection) { - mSelection = selection; - if (mListeners != null) { - SelectionChangedEvent e = new SelectionChangedEvent(this, selection); - for (int i = 0; i < mListeners.size(); i++) { - mListeners.get(i).selectionChanged(e); - } - } - } - - private static class EmptyPage implements IContentOutlinePage { - private Composite mControl; - - private EmptyPage() { - } - - @Override - public void createControl(Composite parent) { - mControl = new Composite(parent, SWT.NULL); - } - - @Override - public void dispose() { - } - - @Override - public Control getControl() { - return mControl; - } - - @Override - public void setActionBars(IActionBars actionBars) { - } - - @Override - public void setFocus() { - } - - @Override - public void addSelectionChangedListener(ISelectionChangedListener listener) { - } - - @Override - public ISelection getSelection() { - return StructuredSelection.EMPTY; - } - - @Override - public void removeSelectionChangedListener(ISelectionChangedListener listener) { - } - - @Override - public void setSelection(ISelection selection) { - } - } -} |