GEF应用程序通常使用工具在视窗中操作,例如选择选择工具,选择某图形删除,移动,改变大小etc..editDomain与激活工具保持联系,应用工具在画板中显示。工具类似状态机,基于事件状态,一个工具执行相应的actions,这些actions包括:
[img]/upload/attachment/70623/da8d1529-b999-3dbe-aae9-00509ca93607.gif[/img]
1 访问editpart是否隐藏显示feedback
2 从editpart中获取command
3 在command stack中执行命令
4 更新鼠标样式
[img]/upload/attachment/70625/c4f35643-e82c-3c73-a6e0-89f57472d150.gif[/img]
每次只有一个激活工具。
策略是一系列动作的结合,而GEF通过role来规定,什么role可以做什么策略。可以把策略理解成操作集,comand是操作,role是权限名。那么有些什么样的role对应?
[img]/upload/attachment/70627/75758727-8d89-353d-ba28-0771a5c0e074.gif[/img]
[img]/upload/attachment/70629/c3d8bdff-4329-3476-8705-1ca0830cd6d5.gif[/img]
[img]/upload/attachment/70631/b9ee76ed-1e12-39a3-9a26-d58256c960c1.gif[/img]
[img]/upload/attachment/70634/906709c2-a5b0-36a8-b177-0811c8733771.gif[/img]
[img]/upload/attachment/70636/80d615aa-b555-39f7-81e4-551afe6058f2.gif[/img]
[img]/upload/attachment/70638/34359e19-3a98-3145-9a46-756ad32a5b26.gif[/img]
[img]/upload/attachment/70640/ac195c20-fefc-3fc1-942d-ea5a6d86e783.gif[/img]
[img]/upload/attachment/70623/da8d1529-b999-3dbe-aae9-00509ca93607.gif[/img]
1 访问editpart是否隐藏显示feedback
2 从editpart中获取command
3 在command stack中执行命令
4 更新鼠标样式
[img]/upload/attachment/70625/c4f35643-e82c-3c73-a6e0-89f57472d150.gif[/img]
每次只有一个激活工具。
策略是一系列动作的结合,而GEF通过role来规定,什么role可以做什么策略。可以把策略理解成操作集,comand是操作,role是权限名。那么有些什么样的role对应?
[img]/upload/attachment/70627/75758727-8d89-353d-ba28-0771a5c0e074.gif[/img]
[img]/upload/attachment/70629/c3d8bdff-4329-3476-8705-1ca0830cd6d5.gif[/img]
[img]/upload/attachment/70631/b9ee76ed-1e12-39a3-9a26-d58256c960c1.gif[/img]
[img]/upload/attachment/70634/906709c2-a5b0-36a8-b177-0811c8733771.gif[/img]
[img]/upload/attachment/70636/80d615aa-b555-39f7-81e4-551afe6058f2.gif[/img]
[img]/upload/attachment/70638/34359e19-3a98-3145-9a46-756ad32a5b26.gif[/img]
[img]/upload/attachment/70640/ac195c20-fefc-3fc1-942d-ea5a6d86e783.gif[/img]