单击尚未选择的EditParts(因此没有“直接编辑请求”)时,不会调用EditPart的方法performRequest(Request)

那应该是这样吗?如果是这样,Request类型的REQ_SELECTION表示什么?该文档说它“指示选择请求”,我认为就是上述情况。

最佳答案

在两个位置调用performRequest()方法:当用户双击元素时和在已经选择EditPart之后用户单击时。在第一种情况下,该方法用REQ_OPEN请求调用,在第二种情况下,用REQ_DIRECT_EDIT请求调用。

其他请求(如REQ_SELECTION)不会传递给EditPart。它们用于查找可以处理请求的匹配EditPolicy,然后传递给此EditPolicy。为什么我对这两个请求不是这样,这是我从未理解的,但这就是事情的运作方式。

07-26 00:58