Как добавить сгенерированный Xtext редактор на страницу свойств Eclipse? - PullRequest
1 голос
/ 26 августа 2011

Я пытаюсь включить текстовый редактор для моего DSL, который я создал с помощью Xtext, на странице свойств в приложении Eclipse RCP.

Например, я начинаю с простой грамматики Xtext:

grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals

generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"

Model:
    greetings+=Greeting*;

Greeting:
    'Hello' name=ID '!';

и сгенерируйте из него текстовый редактор. Затем я создаю страницу свойств с новым проектом плагина:

package com.example.plugin.propertypage.properties;

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.dialogs.PropertyPage;

public class SamplePropertyPage extends PropertyPage {

    public SamplePropertyPage() {
        super();
    }

    protected Control createContents(Composite parent) {
        Composite composite = new Composite(parent, SWT.NONE);
        return composite;
    }

    protected void performDefaults() {
        super.performDefaults();
    }

    public boolean performOk() {
        return true;
    }

}

(Пустая) страница свойств будет отображаться в диалоговом окне свойств для каждого экземпляра org.eclipse.core.resources.IFile:

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>

   <extension
         point="org.eclipse.ui.propertyPages">
      <page
            name="Sample Page"
            nameFilter="*.*"
            class="com.example.plugin.propertypage.properties.SamplePropertyPage"
            id="com.example.plugin.propertypage.properties.samplePropertyPage">
         <enabledWhen>
            <instanceof
                  value="org.eclipse.core.resources.IFile">
            </instanceof>
         </enabledWhen>
      </page>
   </extension>

</plugin>

Как сделать так, чтобы сгенерированный редактор появился на странице свойств?

В ходе моего исследования я взглянул на пример интеграции Xtext GMF, который поставляется с Xtext и , на которые есть ссылки в руководстве пользователя Xtext . В этом примере показано, как создать всплывающий редактор Xtext. Этот пример может содержать некоторую ценную информацию, но я не смог понять, как адаптировать это для моих целей.

Любая помощь будет принята с благодарностью. Благодаря.

...