Как изменить заголовок страницы настроек в приложении Eclipse RCP?

Как изменить title страницу настроек по умолчанию с «Предпочтения» на «Настройки» в Eclipse RCP?


person Ria_546    schedule 22.07.2012    source источник


Ответы (1)


Если вы используете org.eclipse.ui.preferencePages, я думаю, это невозможно. Помощь того же говорит:

Инструментальные средства предоставляют одно общее диалоговое окно для настроек. Назначение этой точки расширения - разрешить подключаемым модулям добавлять страницы в диалоговое окно настроек. Когда открывается диалоговое окно предпочтений (запускается из строки меню), страницы, добавленные таким образом, будут добавлены в диалоговое окно.

Но есть обходной путь. Выполните следующие действия (Это просто показывает, как вы можете изменить текст заголовка):

  1. Создайте действие для открытия диалогового окна настроек
  2. Создайте новый класс, расширяющий org.eclipse.jface.preference.PreferenceDialog
  3. В подклассе переопределите метод configureShell
  4. Вызвать PreferenceDialog из созданного выше действия

Extended Class

class MyPreferenceDialog extends PreferenceDialog
{
    public MyPreferenceDialog(Shell parentShell, PreferenceManager manager) {
        super(parentShell, manager);
    }

    protected void configureShell(Shell newShell) {
        super.configureShell(newShell);
        newShell.setText("Settings"); 
    }
}

Code For Invocation

Button prefButton = new Button(top, SWT.PUSH);
prefButton.setText("Preference");
prefButton.addSelectionListener(new SelectionListener() {
    public void widgetSelected(SelectionEvent e) {
        final PreferenceManager preferenceManager = PlatformUI.getWorkbench().getPreferenceManager();
        MyPreferenceDialog dialog = new MyPreferenceDialog(top.getShell(), preferenceManager);
        dialog.create();
        dialog.open();
    }
    public void widgetDefaultSelected(SelectionEvent e) {
    }
});

В результате диалоговое окно предпочтений выглядит следующим образом:

введите описание изображения здесь

person Favonius    schedule 01.08.2012