【问题标题】:Make my own Eclipse Intro page制作我自己的 Eclipse 介绍页面
【发布时间】:2009-07-13 09:08:59
【问题描述】:

我在制作自己的 Eclipse 介绍页面 (as shown here) 时遇到困难。

我的产品 ID 似乎有些问题,但我不知道如何获取产品 ID,我尝试扩展 org.eclipse.core.runtime.products 但当它询问我要注册哪个应用程序时我不知道该回答什么,这似乎是问题的一部分……有人知道吗?

【问题讨论】:

    标签: eclipse plugins product


    【解决方案1】:

    这是我最终所做的......

    public class IntroPart implements IIntroPart {
    
     //VITAL : you must implement
        public void createPartControl(Composite container) {
            Composite outerContainer = new Composite(container, SWT.NONE);
            GridLayout gridLayout = new GridLayout();
            outerContainer.setLayout(gridLayout);
            outerContainer.setBackground(outerContainer.getDisplay()
                    .getSystemColor(SWT.COLOR_TITLE_BACKGROUND_GRADIENT));
            Label label = new Label(outerContainer, SWT.CENTER);
            label.setText("WELCOME TO ECLIPSE");
            GridData gd = new GridData(GridData.GRAB_HORIZONTAL
                    | GridData.GRAB_VERTICAL);
            gd.horizontalAlignment = GridData.CENTER;
            gd.verticalAlignment = GridData.CENTER;
            label.setLayoutData(gd);
            label.setBackground(outerContainer.getDisplay().getSystemColor(
                    SWT.COLOR_TITLE_BACKGROUND_GRADIENT));
        }
    
     //VITAL : you must implement
        public String getTitle() {
            return "My Title";
        }
    
     //VITAL : you must implement
        public Image getTitleImage() {
            return new Image(Display.getCurrent(), this.getClass()
                    .getResourceAsStream("splash.bmp"));
        }
    
        public void addPropertyListener(IPropertyListener listener) {
             //NON-VITAL : implement accordingly to your needs
        }
    
        public void dispose() {
             //NON-VITAL : implement accordingly to your needs
        }
    
        public IIntroSite getIntroSite() {
             //NON-VITAL : implement accordingly to your needs
            return null;
        }
    
        public void init(IIntroSite site, IMemento memento)
                throws PartInitException {
             //NON-VITAL : implement accordingly to your needs
        }
    
        public void removePropertyListener(IPropertyListener listener) {
             //NON-VITAL : implement accordingly to your needs
        }
    
        public void saveState(IMemento memento) {
             //NON-VITAL : implement accordingly to your needs
        }
    
        public void setFocus() {
             //NON-VITAL : implement accordingly to your needs
        }
    
        public void standbyStateChanged(boolean standby) {
             //NON-VITAL : implement accordingly to your needs
        }
    
        public Object getAdapter(Class adapter) {
             //NON-VITAL : implement accordingly to your needs
            return null;
        }
    }

    使用的图片是我的一张,当您显示欢迎页面时,它会作为标签图标...

    很奇怪,title 和 image 没有默认值……但是嘿……这就是生活。

    希望对你有所帮助^^

    【讨论】:

    • 我建议改为扩展抽象类 org.eclipse.ui.part.IntroPart。然后,您可以删除那些不重要的方法。
    • 有趣的是,这个 5 年前的帖子偶尔会保持活跃:s
    • 它已有 5 年历史,但介绍页面显然仍然是一回事。 :) 更新文档是有意义的,恕我直言。
    • 从来没有说过这没有意义只是说这很有趣:)
    【解决方案2】:

    您需要定义一个新的 id,还是只想要一个仅显示您的内容的最小配置?

    如果是后者,您是否看过相同帮助的后面部分? Defining a minimal intro configuration,建议使用 org.eclipse.intro.minimal,这样它只会显示您的内容。

    【讨论】:

    • 不,事实上我真的需要与我的示例中描述的相同的介绍页面(作为起点)......你的例子很好,但它适用于 HTML 制作的介绍页面我需要 SWT 制作。
    • 抱歉,我不清楚问题出在哪里,您能否修改您的问题以包含您遇到问题的配置?
    • 我确实希望在我的链接中显示示例,但是当我决定覆盖该类的所有方法时,我设法使其工作。事实是,在 eclipse 文档中他们没有指定它,所以我只编写了他们所说的内容......有时我有点愚蠢,但 eclipse 文档制作得有点糟糕......
    • @Ar3s,您可以发布您的更改作为答案吗?如果你让它工作,它会对其他有同样问题的人有用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-24
    • 2019-02-07
    • 1970-01-01
    相关资源
    最近更新 更多