有人有想法吗,如何在 RCP 中实现布局,其中视图看起来像选项卡并出现嵌套?
选项卡应该具有视图的所有优点 - 可以拖动到桌面以成为分离视图,彼此靠近平铺,重新排列等。
图片上的视图:View4 和 View5 嵌套在 View1 中。
有人有想法吗,如何在 RCP 中实现布局,其中视图看起来像选项卡并出现嵌套?
选项卡应该具有视图的所有优点 - 可以拖动到桌面以成为分离视图,彼此靠近平铺,重新排列等。
图片上的视图:View4 和 View5 嵌套在 View1 中。
以我的经验,这样的事情并不容易——在你的未来可能会有很多自定义编码。我将尝试从高级架构的角度更多地介绍这一点,因为您需要根据自己的要求和优势来确定很多细节。
我认为有两种方法可以解决这个问题:
1. 编写一个视图扩展,其中该视图的内容是其他视图。
这会减少前期工作,但可能更难让视图重新排列工作。根据您的模型,这意味着 View1 是该视图的一个实例,并负责呈现 View4/View5 的选项卡控件,并告诉这些视图呈现其内容。您可能会寻找MultiPageEditorPart
一些灵感,尽管您可能希望将选项卡渲染得更好一些。
在这种情况下,您的子视图可能会专门插入其父视图。视图中的拖放支持不会太糟糕,尽管将它们拉出视图会涉及一些工作。 本文提供了拖放的基本介绍;谷歌可以提供其余的。
2. 编写自定义演示文稿以这种方式呈现您的视图。
这可能需要更多的工作来了解表示层的工作原理,但一旦完成,可能会更容易获得您正在寻找的所有功能。有关表示层的介绍, 请参阅本文。
在这种情况下,插件系统会将您的所有视图视为顶级视图 - 您的表示层决定在哪里呈现视图内容的区域。我已经将表示层用于类似的事情,但在我的情况下,视图都是静态定位的。也就是说,由于一切都是常规视图,因此您应该能够重用现有的拖放功能来重新排列视图,而比其他选项更省力。