draw2d中的Figure的双击事件是不能通过MouseListener里面的mouseDoubleClicked(MouseEvent me)方法来实现的,而是需要在editorpart里面实现performRequest(Request req)方法来实现,双击事件对应的请求类型为RequestConstants.REQ_OPEN,editorpart有getFigure()方法可以获取对应的figure,从而对figure进行处理。
public void performRequest(Request req) {
if (req.getType().equals(RequestConstants.REQ_OPEN)){
if(getFigure() instanceof TreeBranch){
TreeBranch branch = (TreeBranch) getFigure();
doExpandCollapse(branch);
}
}
}
if (req.getType().equals(RequestConstants.REQ_OPEN)){
if(getFigure() instanceof TreeBranch){
TreeBranch branch = (TreeBranch) getFigure();
doExpandCollapse(branch);
}
}
}