changelayoutaction.java
来自「mywork是rcp开发的很好的例子」· Java 代码 · 共 48 行
JAVA
48 行
package net.sf.freenote.mindmap;
import net.sf.freenote.FreeNoteConstants;
import net.sf.freenote.commands.ModelPropertyCommand;
import net.sf.freenote.mindmap.model.BranchShape;
import org.eclipse.gef.ui.actions.SelectionAction;
import org.eclipse.ui.IWorkbenchPart;
/**
* 更换mm的布局,支持
* 1.星形
* 2.横向
* 3.竖向
* @author levin
* @since 2008-2-24 下午10:20:23
*/
public class ChangeLayoutAction extends SelectionAction {
private String layout;
public ChangeLayoutAction(IWorkbenchPart part,String layout) {
super(part);
this.layout=layout;
setText(layout);
setToolTipText("调整布局样式为"+layout);
setId(FreeNoteConstants.CHANGE_LAYOUT_ACTION+"."+layout);
}
@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);
BranchShape shape=part.getCastedModel();
int style=2;
if(layout.equals(FreeNoteConstants.LAYOUT_HANGING))
style=1;
else if(layout.equals(FreeNoteConstants.LAYOUT_STAR))
style=3;
getCommandStack().execute(new ModelPropertyCommand(shape,style,FreeNoteConstants.STYLE_PROP));
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?