单击尚未选择的EditParts
(因此没有“直接编辑请求”)时,不会调用EditPart
的方法performRequest(Request)
。
那应该是这样吗?如果是这样,Request
类型的REQ_SELECTION
表示什么?该文档说它“指示选择请求”,我认为就是上述情况。
最佳答案
在两个位置调用performRequest()
方法:当用户双击元素时和在已经选择EditPart
之后用户单击时。在第一种情况下,该方法用REQ_OPEN
请求调用,在第二种情况下,用REQ_DIRECT_EDIT
请求调用。
其他请求(如REQ_SELECTION
)不会传递给EditPart
。它们用于查找可以处理请求的匹配EditPolicy
,然后传递给此EditPolicy
。为什么我对这两个请求不是这样,这是我从未理解的,但这就是事情的运作方式。