如何在Eclipse RCP中实现嵌套的tab-views?

时间:2012-08-12 21:08:02

标签: eclipse view nested eclipse-rcp

有人有想法,如何在RCP中实现布局, 视图看起来像Tabs并显示嵌套?

选项卡应具有视图的所有优点 - 可以拖动到桌面以成为独立视图,彼此平铺,重新排列等。

在图片上,视图:View4和View5嵌套在View1中。

Layout

1 个答案:

答案 0 :(得分:1)

根据我的经验,这样的事情并不容易 - 未来很可能会有很多自定义编码。我将尝试从高级架构的角度来解决这个问题,因为根据您的要求和优势,您需要了解很多细节。

我认为有两种方法可以解决这个问题:

<强> 1。写一个视图扩展,其中该视图的内容是其他视图。

这样可以减少前期工作量,但可能更难让视图重新排列工作。基于您的模型,这意味着View1是此视图的一个实例,负责呈现View4 / View5的选项卡控件,并告诉这些视图呈现其内容。您可以查看MultiPageEditorPart获得一些灵感,但您可能希望将选项卡渲染得更好一些。

在这种情况下,您的子视图可能会专门插入其父视图。在视图中拖放支持也不会太糟糕,尽管将它们拉出视图会涉及一些工作。 This article提供了拖放的基本介绍;谷歌可以提供其余的。

<强> 2。编写自定义演示文稿以这种方式呈现您的视图。

这可能需要更多的工作来了解表示层的工作原理,但一旦完成,可能更容易获得您正在寻找的所有功能。有关表示层的介绍,请参阅this article

在这种情况下,插件系统会将您的所有视图视为顶级视图 - 您的表示层决定在何处呈现视图内容的区域。我已经使用表示层来实现与此类似的东西,但在我的情况下,视图都是静态定位的。也就是说,由于所有内容都是常规视图,因此您应该能够重新使用现有的拖放功能来重新排列视图,而不需要花费其他选项。