如何推断 getSelectedModel 的 viewPath

How to deduce the viewPath for getSelectedModel

从由多个边框、拆分等组成的视图中的操作,我想访问位于视图的不同表中的数据。

为此,我尝试推导出 getSelectedModel、getModel 方法的 viewPath 参数。

视图的结构是什么,如何在不同的表之间导航以及推导 viewPath 以便调用 getSelectedModel / getModel...?

视图路径是一个索引数组,允许在包含层次结构 中从一个视图导航到另一个视图。它用在 AbstractActionContextAware class 的几种方法中,由所有操作扩展,但您也可以从任何需要实用程序方法的应用程序 class 扩展 动作上下文.

此视图路径背后的基本原理是从触发操作的视图开始,并沿着视图路径到达目标视图,例如,获取其选定的索引。

导航规则如下:

  • 路径中的负步​​长索引 (-n) 表示导航到第 n'th parent
  • 路径中的正步长索引 (+n) 表示向下导航到第 n'th child

找到正向步骤时 child 视图的索引取决于您所在容器的类型。规则如下:

  • children指数为zero-based.
  • border container 的 children 的索引遵循以下固定顺序:north, 西。我缺少一个 child 那么它就不会被考虑在内,例如在只有北部和中心 children 视图的边界中,中心 child 将具有索引 1.
  • 网格容器的childrenevenconstrained), tab container 按照它们的 声明顺序 进行索引 。
  • split container 的 children 索引从 topbottomleftright 取决于它的方向。

例如,给定以下 UI :

split_horizontal {
  left {
    tabs {
      form
      table('A')
    }
  }
  right {
    border {
      top {
        form
      }
      center {
        table('B')
      }
    }
  }
}

从 table `A` 到 table `B` 的视图路径将是: [-1, -1, 1, 1]