【问题标题】:Hidden Viewpart in Eclipse RCP with iFolderLayout在 Eclipse RCP 中使用 iFolderLayout 隐藏 Viewpart
【发布时间】:2013-06-17 15:50:26
【问题描述】:

我正在开发一个 Eclipse (3.X) RCP 应用程序。我正在尝试实现一种在预定义占位符(IFolderLayout)中显示 ViewPart 的方法。但问题是,每当我最初启动应用程序时,占位符都会在应用程序中显示为深灰色区域。我不希望在我的应用程序启动时显示该占位符。我只希望 ViewPart 在我调用它时出现占位符。我一直在寻找一种方法来做到这一点。我知道,由于 IFolderLayout 不耐用,它会在 ViewPart 关闭时关闭。这是理想的效果,但我不希望在启动应用程序时显示 IFolderLayout。我的代码是在被覆盖的createInitialLayout(IPageLayout layout) 方法中创建的

澄清一下:想象一下,我有一个占据整个屏幕的视图。当我单击一个按钮时,另一个 ViewPart 出现在下半部分,将原始视图向上推,为新的 ViewPart 腾出空间,因此它们都被平等地显示。我不希望在应用程序启动时显示 IFolderLayout 占位符。

这是我的占位符代码:

IFolderLayout bottomHalf = layout.createFolder(args here);
bottomHalf.addPlaceHolder(BottomHalfView.ID);

任何关于此事的帮助将不胜感激!

【问题讨论】:

    标签: java eclipse eclipse-rcp rcp


    【解决方案1】:

    不是调用layout.createFolder(),而是调用layout.createPlaceholderFolder(),参数相同,但返回类型不同。

    IPlaceholderFolderLayout bottomHalf = layout.createPlaceholderFolder( ... );
    bottomHalf.addPlaceHolder(BottomHalfView.ID);
    

    【讨论】:

    • 谢谢...成功了一半。我仍然遇到的问题是,如果我以不同的视角启动应用程序并切换到其中包含此框的视角,则会出现此框。但是当我在透视图中启动应用程序时,它并没有出现。
    • 奇数。您可以尝试的一件事是删除配置目录(可能由 -Dosgi.configuration.area 和 -Dosgi.instance.area 指定),以确保以前的透视布局没有保留任何内容。跨度>
    • 好的,现在可以了!但是该视图现在出现在原始视图的顶部而不是它的下方,即使我将其设置为显示它... layout.createPlaceholderFolder(BottomId, IPageLayout.BOTTOM, 0.70f, TopId)
    • 问题现已修复!感谢您的解决方案!只要允许,我会尽快升级!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-25
    相关资源
    最近更新 更多