expandaction.java

来自「mywork是rcp开发的很好的例子」· Java 代码 · 共 45 行

JAVA
45
字号
package net.sf.freenote.mindmap;

import net.sf.freenote.FreeNoteConstants;
import net.sf.freenote.mindmap.figure.TreeBranchFigure;

import org.eclipse.gef.ui.actions.SelectionAction;
import org.eclipse.ui.IWorkbenchPart;
/**
 * 增加一个折叠展开tree的action
 * @author levin
 * @since 2008-2-12 下午06:13:42
 */
public class ExpandAction extends SelectionAction {

	public ExpandAction(IWorkbenchPart part) {
		super(part);
		setText("展开/折叠");
		setToolTipText("展开/折叠节点");
		setId(FreeNoteConstants.EXPAND_ACTION);
	}

	@Override
	protected boolean calculateEnabled() {
		if (getSelectedObjects().size() == 1 && getSelectedObjects().get(0) instanceof BranchEditPart) {
			return true;
		}
		return false;
	}

	@Override
	public void run() {
		BranchEditPart part=(BranchEditPart) getSelectedObjects().get(0);
		TreeBranchFigure figure = part.getCastedFigure();
		if (figure.getContentsPane().getChildren().isEmpty())
			return;
		if (true) {
			if (figure.isExpanded())
				figure.collapse();
			else
				figure.expand();
		} else
			figure.setExpanded(!figure.isExpanded());
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?