Java tutorial
// The MIT License (MIT) // // Copyright (c) 2015, 2016 Arian Fornaris // // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the // "Software"), to deal in the Software without restriction, including // without limitation the rights to use, copy, modify, merge, publish, // distribute, sublicense, and/or sell copies of the Software, and to permit // persons to whom the Software is furnished to do so, subject to the // following conditions: The above copyright notice and this permission // notice shall be included in all copies or substantial portions of the // Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE // USE OR OTHER DEALINGS IN THE SOFTWARE. package phasereditor.canvas.ui.editors.operations; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.jface.viewers.TreeViewer; import javafx.scene.Node; import phasereditor.canvas.ui.editors.ObjectCanvas; import phasereditor.canvas.ui.shapes.BaseObjectControl; /** * @author arian * */ public class ExpandOutlineOperation extends AbstractNodeOperation { private Set<String> _expandIds; public ExpandOutlineOperation(List<String> expandIds) { super("ExpandOperation", null); _expandIds = new HashSet<>(expandIds); } public ExpandOutlineOperation() { this(Collections.emptyList()); } public void add(String id) { _expandIds.add(id); } @Override public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { ObjectCanvas canvas = getCanvas(info); TreeViewer viewer = canvas.getOutline(); for (String id : _expandIds) { BaseObjectControl<?> control = findControl(info, id); Node node = control.getNode(); viewer.expandToLevel(node, 1); } return Status.OK_STATUS; } @Override public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { return Status.OK_STATUS; } @Override public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { return Status.OK_STATUS; } }