From 6694aa7ae26fee9b5f47ffdbd81be8fb954d9cb5 Mon Sep 17 00:00:00 2001 From: David McKnight Date: Wed, 4 Jul 2007 20:40:00 +0000 Subject: [PATCH] [193148] Kevin's patch so that Clear Selection Action only enabled on root elements --- .../ui/view/scratchpad/ClearSelectedAction.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/scratchpad/ClearSelectedAction.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/scratchpad/ClearSelectedAction.java index fa3a9820297..30b25cfa597 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/scratchpad/ClearSelectedAction.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/scratchpad/ClearSelectedAction.java @@ -14,12 +14,15 @@ * Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry * Kevin Doyle (IBM) - [189150] setSelection(null) added to clear() + * Kevin Doyle (IBM) - [193148] Clear Selected Action enabled when not on a root element ********************************************************************************/ package org.eclipse.rse.internal.ui.view.scratchpad; import java.util.Iterator; import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.jface.viewers.TreePath; +import org.eclipse.jface.viewers.TreeSelection; import org.eclipse.rse.core.RSECorePlugin; import org.eclipse.rse.core.events.ISystemResourceChangeEvents; import org.eclipse.rse.core.events.SystemResourceChangeEvent; @@ -54,6 +57,20 @@ public class ClearSelectedAction extends BrowseAction setEnabled(false); return; } + else + { + if (selection instanceof TreeSelection) + { + TreeSelection treeSelection = (TreeSelection) selection; + TreePath[] paths = treeSelection.getPathsFor(obj); + // if paths[0].getSegmentCount is not 1 then it's not a root + if (paths.length > 0 && paths[0].getSegmentCount() != 1) + { + setEnabled(false); + return; + } + } + } } setEnabled(true); return;