[Eclipse]GEF入门系列(十二、自定义Request) - 编程入门网
//Get command from the editpart
Command command = editPart.getCommand(request);
//Execute the command
this.getDomain().getCommandStack().execute(command);
return true;
}
return false;
}
}
[Eclipse]GEF入门系列(十二、自定义Request)(4)时间:2011-04-19 cnblogs bjzhanghao五、有了Tool,还需要用ToolEntry把它包装起来添加到Palette里。所以我们创建一个名 为 ChangeColorToolEntry并继承org.eclipse.gef.palette.ToolEntry的类,覆盖 createTool ()方法,让它返回我们的ChangeColorTool实例。这个ChangeColorToolEntry代 码应该很容易理解:
六、要把三个这样的ToolEntry添加到Palette里,当然是通过修改原来的PaletteFactory 类。为节约篇幅,这里就不帖它的代码了,可以下载并参考示例代码PaletteFactory.java里 的createCategories()和 createColorDrawer()方法。 到目前为止,ChangeColorRequest已经可以发出了,接下来要解决的问题是如何让 EditPart处理这个请求。 七、我们知道,gef里任何对模型的修改都是通过command完成的,因此一个 ChangeColorCommand肯定是需要的。它的execute()方法和undo()方法如下所示:
[Eclipse]GEF入门系列(十二、自定义Request)(5)时间:2011-04-19 cnblogs bjzhanghao八、EditPolicy负责接收所有的Request,所以还要创建一个 ChangeColorEditPolicy。在下面列出的代码里,你会看到我们定义了一个新的“Role”字符 串,过一会儿我们在EditPart上安装这个EditPolicy的时候要以这个字符串作为Key,以避免 覆盖EditPart上已有的其他EditPolicy。
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |