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 + -
显示快捷键?