Я довольно плохо знаком с затмением и пытаюсь написать простое приложение RCP для автоматического создания файлов конфигурации для маршрутизаторов и т. Д.
У меня есть мастер, который собирает необходимую информацию (например, IP-адрес)), а затем обновляет модель с помощью пользовательских данных.Когда мастер завершает работу, он запускает модель для записи файла.
На моей последней странице мастера я предлагаю пользователю сохранить файл и у меня есть кнопка «Обзор», которая запускает команду, которая отображает «сохранить» FileDialog .Команда вызывается при нажатии кнопки:
browseButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e){
IHandlerService handlerService = (IHandlerService) (PlatformUI.getWorkbench().getService(IHandlerService.class));
try {
filename = (String) handlerService.executeCommand("ie.btireland.cm.config.projectFileAs", null);
path.setText(filename);
setPageComplete(true);
}catch(Exception E){ // handle error }
}
});
Все работает нормально, однако я хочу передать объект String в команду, чтобы он мог использовать его на FileDialog.setFileName()
при создании диалога.Моя цель состоит в том, чтобы предложенное имя файла уже было заполнено при появлении окна FileDialog.
Я был вокруг блока в поисках ответа, и я просто не могу его решить.Поскольку на команду ссылается только ее идентификатор, я не могу понять, как передать ей переменную.
В конце я сдался и сейчас записываю строку во временный файл, который я читаю вобработчик команд, но очевидно, что это сумасшедшее решение.Конечно, должен быть более простой способ?
Любая помощь будет наиболее ценной,
Катал.