每个EditPolicy都扮演一个角色(role),只有正确设置角色,EditPolicy才能正常工作。你可以在EditPart的createEditPolicies中为这个EditPart添加EditPolicy。
下面给出一些角色和它们对应的EditPolicy,其中也包括上面提到的几个EditPolicy:
EditPolicy.LAYOUT_ROLE:对应所有的LayoutEditPolicy,对于具有子EditPart的Part是必须的。
EditPolicy.COMPONENT_ROLE:对应所有的ComponentEditPolicy,元素能够被删除的话,你应该添加这个角色。
EditPolicy.DIRECT_EDIT_ROLE:对应DirectEditManager,它用来处理在位编辑(In place edit),关于在位编辑的话题,也许将来会在一个小品文中叙述。
EditPolicy.GRAPHICAL_NODE_ROLE:对应GraphicalNodeEditPolicy,如果这个块状元素能够被连接附着,那么它应该使用这个policy,我会在讲连接的时候说明这个policy的用法。
EditPolicy.SELECTION_FEEDBACK_ROLE:对应GraphicalEditPolicy,这是一个处理鼠标选中的反馈角色,比如你想另元素具有热敏特性,可以使用这个角色。同样,关于这个角色的话题,也会出现在某个小品文中。
EditPolicy.CONNECTION_ENDPOINTS_ROLE:对应ConnectionEndpointEditPolicy,这是一个关于连接的角色,这个类是可以直接被实例化的。
下面给出一些角色和它们对应的EditPolicy,其中也包括上面提到的几个EditPolicy:
EditPolicy.LAYOUT_ROLE:对应所有的LayoutEditPolicy,对于具有子EditPart的Part是必须的。
EditPolicy.COMPONENT_ROLE:对应所有的ComponentEditPolicy,元素能够被删除的话,你应该添加这个角色。
EditPolicy.DIRECT_EDIT_ROLE:对应DirectEditManager,它用来处理在位编辑(In place edit),关于在位编辑的话题,也许将来会在一个小品文中叙述。
EditPolicy.GRAPHICAL_NODE_ROLE:对应GraphicalNodeEditPolicy,如果这个块状元素能够被连接附着,那么它应该使用这个policy,我会在讲连接的时候说明这个policy的用法。
EditPolicy.SELECTION_FEEDBACK_ROLE:对应GraphicalEditPolicy,这是一个处理鼠标选中的反馈角色,比如你想另元素具有热敏特性,可以使用这个角色。同样,关于这个角色的话题,也会出现在某个小品文中。
EditPolicy.CONNECTION_ENDPOINTS_ROLE:对应ConnectionEndpointEditPolicy,这是一个关于连接的角色,这个类是可以直接被实例化的。