如何询问用户是否要始终显示欢迎页面?

发布于 2024-12-25 09:28:32 字数 624 浏览 0 评论 0原文

在我的 RCP 应用程序中,我有一个介绍页面,其中有一些有关产品本身的说明。
但简介仅在第一次打开应用程序时显示。
有没有办法询问用户是否想要“启动时不再显示此内容”? 我的介绍内容:

<?xml version="1.0" encoding="utf-8" ?>
<introContent>
    <page id="root" content="content/root.xhtml" />
    <page id="concept1" content="content/concept1.xhtml" />
    <page id="concept2" content="content/concept2.xhtml" />

    <contentProvider id="awc"
        class="org.eclipse.ui.intro.contentproviders.AlwaysWelcomeCheckbox"
        pluginId="org.eclipse.ui.intro">
    </contentProvider>
</introContent>

有什么想法吗?

提前致谢

In my RCP application, I have a intro page, which has a few explanations about the product itself.
But the intro only shows up on the first time that the application is opened.
Is there a way to ask user if he wants to 'never show this again on startup'?
my introContent:

<?xml version="1.0" encoding="utf-8" ?>
<introContent>
    <page id="root" content="content/root.xhtml" />
    <page id="concept1" content="content/concept1.xhtml" />
    <page id="concept2" content="content/concept2.xhtml" />

    <contentProvider id="awc"
        class="org.eclipse.ui.intro.contentproviders.AlwaysWelcomeCheckbox"
        pluginId="org.eclipse.ui.intro">
    </contentProvider>
</introContent>

any ideas?

thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

奈何桥上唱咆哮 2025-01-01 09:28:32

IWorkbenchPreferenceConstants。如果这是true,则在启动期间打开介绍页面。

您必须自己实现询问用户部分(例如,通过显示 MessageDialogWithToggle(当 Intro 视图关闭时)。

There's a workbench preference SHOW_INTRO defined in IWorkbenchPreferenceConstants. If this is true then intro page is opened during startup.

You would have to implement the asking the user part yourself (e.g. by showing a MessageDialogWithToggle when the Intro view is closed).

久隐师 2025-01-01 09:28:32

我已经完成了以下操作:

public void postWindowOpen(){
     addPartListener();
}

    private void addPartListener() {
            PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().addPartListener(new PartListenerAdapter() {

                @Override
                public void partClosed(IWorkbenchPart part) {
                    if(part.getClass().getCanonicalName().equals("org.eclipse.ui.internal.ViewIntroAdapterPart")){
                        //fechou a intro
                        System.out.println(part.getTitle());
                        MessageDialogWithToggle openToggle = MessageHelper.openToggle("Deseja mostrar a ajuda sempre?");
                        if(openToggle.open() == IDialogConstants.OK_ID){
                            if(openToggle.getToggleState()){
                                PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants.SHOW_INTRO, true);
                            }
                        }
                    }
                }
            });
        }

这只是一个“alpha”版本,但它正在工作!谢谢你们

i've done the following:

public void postWindowOpen(){
     addPartListener();
}

    private void addPartListener() {
            PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().addPartListener(new PartListenerAdapter() {

                @Override
                public void partClosed(IWorkbenchPart part) {
                    if(part.getClass().getCanonicalName().equals("org.eclipse.ui.internal.ViewIntroAdapterPart")){
                        //fechou a intro
                        System.out.println(part.getTitle());
                        MessageDialogWithToggle openToggle = MessageHelper.openToggle("Deseja mostrar a ajuda sempre?");
                        if(openToggle.open() == IDialogConstants.OK_ID){
                            if(openToggle.getToggleState()){
                                PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants.SHOW_INTRO, true);
                            }
                        }
                    }
                }
            });
        }

it's just an 'alpha' version, but it's working! thank you guys

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文