X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.browsing.ui.common%2Fsrc%2Forg%2Fsimantics%2Fbrowsing%2Fui%2Fcommon%2Factions%2FCollapseSelected.java;fp=bundles%2Forg.simantics.browsing.ui.common%2Fsrc%2Forg%2Fsimantics%2Fbrowsing%2Fui%2Fcommon%2Factions%2FCollapseSelected.java;h=9cad76755feeed470bdeb834f911c54b3df94784;hp=0000000000000000000000000000000000000000;hb=969bd23cab98a79ca9101af33334000879fb60c5;hpb=866dba5cd5a3929bbeae85991796acb212338a08 diff --git a/bundles/org.simantics.browsing.ui.common/src/org/simantics/browsing/ui/common/actions/CollapseSelected.java b/bundles/org.simantics.browsing.ui.common/src/org/simantics/browsing/ui/common/actions/CollapseSelected.java new file mode 100644 index 000000000..9cad76755 --- /dev/null +++ b/bundles/org.simantics.browsing.ui.common/src/org/simantics/browsing/ui/common/actions/CollapseSelected.java @@ -0,0 +1,43 @@ +/******************************************************************************* + * Copyright (c) 2016 Association for Decentralized Information Management + * in Industry THTH ry. + * 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: + * Semantum Oy - initial API and implementation + *******************************************************************************/ +package org.simantics.browsing.ui.common.actions; + +import java.util.Set; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.ui.handlers.HandlerUtil; +import org.simantics.browsing.ui.GraphExplorer; +import org.simantics.browsing.ui.NodeContext; +import org.simantics.browsing.ui.common.NodeContextUtil; +import org.simantics.utils.ui.ISelectionUtils; + +/** + * @author Tuukka Lehtonen + * @since 1.24.0 + */ +public class CollapseSelected extends AbstractHandler { + + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + GraphExplorer explorer = HandlerUtil.getActivePart(event).getAdapter(GraphExplorer.class); + if (explorer == null) + return null; + Set nodes = ISelectionUtils.filterSetSelection(HandlerUtil.getCurrentSelection(event), NodeContext.class); + if (nodes.isEmpty()) + return null; + NodeContextUtil.collapseNodesUnder(explorer, nodes); + return null; + } + +}