2

我使用 Logic 示例作为参考,将端口作为子项添加到矩形 Figure/EditPart/Model 中。端口 Figures 按预期显示,调试显示 EditParts 和 Models 已创建并添加到父级,但子级不可选择。

在子项的 EditPart 中,我重写 isSelectable() 以返回 true。

在父级中,我尝试重写 createChildEditPolicy() 以返回 NonResizableEditPolicy,方法是颠倒使儿童在此处不可选择的建议,但它似乎什么也没做。如果我在孩子的 EditPart 中将 NonResizableEditPolicy 安装为 SELECTION_FEEDBACK_ROLE,则最初在创建时选择它,但以后无法选择。

此外,当单击子图形时,也不会选择父图形 - 这是一个死点,单击不会更改选择。

我是否遗漏了一些使它可以选择的东西,或者可能有其他东西在干扰?

4

2 回答 2

2

您可以尝试使用调试器为查看器设置断点 getEditPartAt(Point) 并从那里开始。当你点击孩子时,这应该被触发。

可能只是没有创建任何选择反馈,因此您也可以尝试输出 viewer.getSelectedEditParts() 以检查实际存在的选择,但缺少反馈。

于 2011-01-16T11:52:29.150 回答
0

我遇到了同样的问题,并修复了它:尝试在编辑部分安装合适的策略。

   @Override
   protected void createEditPolicies() {
       installEditPolicy(EditPolicy.LAYOUT_ROLE, yourEditPolicy());
   }
于 2014-08-26T06:04:27.530 回答