aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvasViewer.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvasViewer.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvasViewer.java165
1 files changed, 0 insertions, 165 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvasViewer.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvasViewer.java
deleted file mode 100644
index e349a1cb0..000000000
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/gle2/LayoutCanvasViewer.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright (C) 2010 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.layout.gle2;
-
-import com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditorDelegate;
-import com.android.ide.eclipse.adt.internal.editors.layout.gre.RulesEngine;
-
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.jface.util.SafeRunnable;
-import org.eclipse.jface.viewers.IPostSelectionProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.TreePath;
-import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-
-
-/**
- * JFace {@link Viewer} wrapper around {@link LayoutCanvas}.
- * <p/>
- * The viewer is owned by {@link GraphicalEditorPart}.
- * <p/>
- * The viewer is an {@link ISelectionProvider} instance and is set as the
- * site's main {@link ISelectionProvider} by the editor part. Consequently
- * canvas' selection changes are broadcasted to anyone listening, which includes
- * the part itself as well as the associated outline and property sheet pages.
- */
-class LayoutCanvasViewer extends Viewer implements IPostSelectionProvider {
-
- private LayoutCanvas mCanvas;
- private final LayoutEditorDelegate mEditorDelegate;
-
- public LayoutCanvasViewer(LayoutEditorDelegate editorDelegate,
- RulesEngine rulesEngine,
- Composite parent,
- int style) {
- mEditorDelegate = editorDelegate;
- mCanvas = new LayoutCanvas(editorDelegate, rulesEngine, parent, style);
-
- mCanvas.getSelectionManager().addSelectionChangedListener(mSelectionListener);
- }
-
- private ISelectionChangedListener mSelectionListener = new ISelectionChangedListener() {
- @Override
- public void selectionChanged(SelectionChangedEvent event) {
- fireSelectionChanged(event);
- firePostSelectionChanged(event);
- }
- };
-
- @Override
- public Control getControl() {
- return mCanvas;
- }
-
- /**
- * Returns the underlying {@link LayoutCanvas}.
- * This is the same control as returned by {@link #getControl()} but clients
- * have it already casted in the right type.
- * <p/>
- * This can never be null.
- * @return The underlying {@link LayoutCanvas}.
- */
- public LayoutCanvas getCanvas() {
- return mCanvas;
- }
-
- /**
- * Returns the current layout editor's input.
- */
- @Override
- public Object getInput() {
- return mEditorDelegate.getEditor().getEditorInput();
- }
-
- /**
- * Unused. We don't support switching the input.
- */
- @Override
- public void setInput(Object input) {
- }
-
- /**
- * Returns a new {@link TreeSelection} where each {@link TreePath} item
- * is a {@link CanvasViewInfo}.
- */
- @Override
- public ISelection getSelection() {
- return mCanvas.getSelectionManager().getSelection();
- }
-
- /**
- * Sets a new selection. <code>reveal</code> is ignored right now.
- * <p/>
- * The selection can be null, which is interpreted as an empty selection.
- */
- @Override
- public void setSelection(ISelection selection, boolean reveal) {
- if (mEditorDelegate.getEditor().getIgnoreXmlUpdate()) {
- return;
- }
- mCanvas.getSelectionManager().setSelection(selection);
- }
-
- /** Unused. Refreshing is done solely by the owning {@link LayoutEditorDelegate}. */
- @Override
- public void refresh() {
- // ignore
- }
-
- public void dispose() {
- if (mSelectionListener != null) {
- mCanvas.getSelectionManager().removeSelectionChangedListener(mSelectionListener);
- }
- if (mCanvas != null) {
- mCanvas.dispose();
- mCanvas = null;
- }
- }
-
- // ---- Implements IPostSelectionProvider ----
-
- private ListenerList mPostChangedListeners = new ListenerList();
-
- @Override
- public void addPostSelectionChangedListener(ISelectionChangedListener listener) {
- mPostChangedListeners.add(listener);
- }
-
- @Override
- public void removePostSelectionChangedListener(ISelectionChangedListener listener) {
- mPostChangedListeners.remove(listener);
- }
-
- protected void firePostSelectionChanged(final SelectionChangedEvent event) {
- Object[] listeners = mPostChangedListeners.getListeners();
- for (int i = 0; i < listeners.length; i++) {
- final ISelectionChangedListener l = (ISelectionChangedListener) listeners[i];
- SafeRunnable.run(new SafeRunnable() {
- @Override
- public void run() {
- l.selectionChanged(event);
- }
- });
- }
- }
-}