2015-02-09 3 views
0

Я создал плагин eclipse с проектом вида. У меня есть файл contexts.xml, и я его настроил. См. Следующий код.как вызвать файл contexts.xml в плагине eclipse

<contexts> 
<context id="Help" title="Plug-in Help"> 
    <description>context help for the sample view</description> 
    <topic href="resources/text.html" label="Context-sensitive help"> 
    </topic> 
</context> 
</contexts> 

У меня есть html-файл с именем «text» в папке ресурсов внутри проекта плагина.

//Listener to invoke the help method of RepositoryAccessor class 
bHelp.addMouseListener(new MouseAdapter() { 
    @Override 
    public void mouseDown(MouseEvent arg0){ 

    Display display=PlatformUI.getWorkbench().getDisplay(); 
    Shell shell = new Shell(display); 

    GridLayout grid11=new GridLayout(3,true); 

    //Layout of controls inside the plugin view 
    shell.setLayout(grid11); 

    Text text = new Text(shell, SWT.NONE); 

    PlatformUI.getWorkbench().getHelpSystem().setHelp(text,"help"); 
    PlatformUI.getWorkbench().getHelpSystem().displayHelp("help"); 
} 
} 

bПомощь - кнопка. Как только я запустил плагин eclipse и нажал кнопку bHelp, я получу новое окно оболочки, и я вижу только пустую метку.

Пожалуйста, предложите метод присвоения содержимого html метке, созданной во всплывающем окне (новая оболочка). enter image description here

На шаге 1 я нажимаю значок «Справка», и открывается новая оболочка. На шаге 2 метка все еще показывает «sfsf» вместо содержимого в «text.html».

ответ

0

Вы должны использовать точку org.eclipse.help.contexts расширения сказать Eclipse, о вашем contexts.xml:

<extension point="org.eclipse.help.contexts"> 
    <contexts file="contexts.xml"/> 
</extension> 

Также setHelp вызов регистрирует только помощь для управления, он не отображает помощь. Если вы хотите отобразить справку использовать контекст ID:

PlatformUI.getWorkbench().getHelpSystem().displayHelp("your context id"); 

Обратите внимание, что система помощи всегда открывает свою собственную точку зрения, чтобы отобразить справку (или расширяющийся диалог, если вы используете TrayDialog или один из его подклассов).

Так что если у вас есть Button вы бы вызвать помощь:

button.addSelectionListener(new SelectionAdapter() 
    { 
    @Override 
    public void widgetSelected(SelectionEvent e) 
    { 
     PlatformUI.getWorkbench().getHelpSystem().displayHelp("your context id"); 
    } 
    }); 
+0

Я зарегистрировал contexts.xml с моим plugin.xml – TheGaME

+0

Как я вызвать помощь, когда я нажимаю на значок справки. Я попробовал шаги, которые вы упомянули выше, но он не работает. Если какой-либо учебник вы можете мне предложить, это будет очень полезно. – TheGaME

+0

Я редактировал мой код выше. Пожалуйста, проверьте и скажите мне, где я сделал ошибку. Когда я нажимаю кнопку «Справка», появляется новое всплывающее окно, и в нем есть текстовое поле, в котором я собираюсь отображать описание справки, но этого не происходит. Пожалуйста, помогите или дайте предложения. – TheGaME

Смежные вопросы