Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchProxy.java')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchProxy.java172
1 files changed, 0 insertions, 172 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchProxy.java
deleted file mode 100644
index 5db6cbb17..000000000
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/update/LaunchProxy.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 IBM Corporation 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.ui.viewers.update;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchesListener2;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.IModelDelta;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext;
-import org.eclipse.debug.internal.ui.viewers.model.provisional.ModelDelta;
-import org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy;
-import org.eclipse.jface.viewers.Viewer;
-
-/**
- * Model proxy for launch object.
- *
- * @since 3.3
- */
-public class LaunchProxy extends AbstractModelProxy implements ILaunchesListener2 {
-
- private ILaunch fLaunch;
-
- /**
- * Set of launch's previous children. When a child is added,
- * its model proxy is installed.
- */
- private Set fPrevChildren = new HashSet();
-
- /**
- * Constructs a new model proxy for the given launch.
- *
- * @param launch
- */
- public LaunchProxy(ILaunch launch) {
- fLaunch = launch;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.ui.viewers.AbstractModelProxy#init(org.eclipse.debug.internal.ui.viewers.IPresentationContext)
- */
- public void init(IPresentationContext context) {
- super.init(context);
- DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.ui.viewers.provisional.AbstractModelProxy#installed(org.eclipse.jface.viewers.Viewer)
- */
- public void installed(Viewer viewer) {
- // install model proxies for existing children
- installModelProxies();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.ui.viewers.AbstractModelProxy#dispose()
- */
- public void dispose() {
- super.dispose();
- DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);
- fPrevChildren.clear();
- fLaunch = null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchesListener2#launchesTerminated(org.eclipse.debug.core.ILaunch[])
- */
- public void launchesTerminated(ILaunch[] launches) {
- for (int i = 0; i < launches.length; i++) {
- if (launches[i] == fLaunch) {
- fireDelta(IModelDelta.STATE | IModelDelta.CONTENT | IModelDelta.UNINSTALL);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchesListener#launchesRemoved(org.eclipse.debug.core.ILaunch[])
- */
- public void launchesRemoved(ILaunch[] launches) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchesListener#launchesAdded(org.eclipse.debug.core.ILaunch[])
- */
- public void launchesAdded(ILaunch[] launches) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchesListener#launchesChanged(org.eclipse.debug.core.ILaunch[])
- */
- public void launchesChanged(ILaunch[] launches) {
- for (int i = 0; i < launches.length; i++) {
- if (launches[i] == fLaunch) {
- fireDelta(IModelDelta.STATE | IModelDelta.CONTENT);
- installModelProxies();
- }
- }
- }
-
- /**
- * Installs model proxies for any new children in the given launch.
- *
- * @param launch
- */
- protected void installModelProxies() {
- boolean changes = false;
- ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
- ILaunch[] allLaunches = manager.getLaunches();
- ModelDelta root = new ModelDelta(manager, 0, IModelDelta.NO_CHANGE, allLaunches.length);
- Object[] children = fLaunch.getChildren();
- ModelDelta launchDelta = root.addNode(fLaunch, indexOf(fLaunch, allLaunches), IModelDelta.EXPAND, children.length);
- for (int j = 0; j < children.length; j++) {
- Object child = children[j];
- if (fPrevChildren.add(child)) {
- changes = true;
- launchDelta.addNode(child, indexOf(child, children), IModelDelta.INSTALL, -1);
- }
- }
- List childrenList = Arrays.asList(children);
- for (Iterator itr = fPrevChildren.iterator(); itr.hasNext();) {
- Object child = itr.next();
- if (!childrenList.contains(child)) {
- itr.remove();
- changes = true;
- launchDelta.addNode(child, IModelDelta.UNINSTALL);
- }
- }
- if (changes) {
- fireModelChanged(root);
- }
- }
-
- /**
- * Finds the index of the selected element in the given list
- * @param element the element to get the index for
- * @param list the list to search for the index
- * @return the index of the specified element in the given array or -1 if not found
- */
- protected int indexOf(Object element, Object[] list) {
- for (int i = 0; i < list.length; i++) {
- if (element == list[i]) {
- return i;
- }
- }
- return -1;
- }
-
- /**
- * Convenience method to fire a delta
- * @param flags the flags to set on the delta
- */
- protected void fireDelta(int flags) {
- ModelDelta delta = new ModelDelta(DebugPlugin.getDefault().getLaunchManager(), IModelDelta.NO_CHANGE);
- delta.addNode(fLaunch, flags);
- fireModelChanged(delta);
- }
-
-}

Back to the top