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

时间:2012-01-05 19:14:37

标签: java eclipse eclipse-plugin eclipse-rcp

在我的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>

任何想法?

提前致谢

2 个答案:

答案 0 :(得分:3)

IWorkbenchPreferenceConstants中定义了工作台首选项SHOW_INTRO。如果这是 true ,则在启动期间打开介绍页面。

您必须自己实现询问用户部分(例如,在介绍视图关闭时显示MessageDialogWithToggle)。

答案 1 :(得分:0)

我做了以下事情:

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'版本,但它正在运行!谢谢你们