阅读量:0
以下是CollapseAllHandler类的一个使用实例:
import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.jdt.ui.actions.CollapseAllAction; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.ui.handlers.HandlerUtil; public class CollapseAllHandler extends AbstractHandler { @Override public Object execute(ExecutionEvent event) throws ExecutionException { // 获取当前的选择 ISelection selection = HandlerUtil.getCurrentSelection(event); // 判断选择是否为树状视图 if (selection instanceof IStructuredSelection) { // 获取树状视图 TreeViewer treeViewer = (TreeViewer) HandlerUtil.getActivePart(event).getSite().getSelectionProvider(); // 创建CollapseAllAction实例 CollapseAllAction collapseAllAction = new CollapseAllAction(treeViewer); // 执行折叠所有操作 collapseAllAction.run(); } return null; } }
这个示例中,我们创建了一个名为CollapseAllHandler的类,该类继承自AbstractHandler类。在execute方法中,我们首先获取当前的选择,然后判断选择是否为树状视图。如果是,我们获取树状视图的TreeViewer对象,并创建一个CollapseAllAction实例。最后,我们调用CollapseAllAction的run方法来执行折叠所有操作。