Запуск окна/процесса SWT из приложения RCP

Хорошо, у меня есть RCP-приложение (которое я не писал) и приложение, которое я разработал, используя только SWT. Что я хочу сделать, так это импортировать и запустить основной метод приложения SWT с аргументами, чтобы он запускался в другом окне, как будто это другой процесс. Аргумент, который я хочу передать, представляет собой сложную структуру данных, которую я не хочу сериализовать.

Первоначально я думал, что могу просто спроектировать свое SWT-приложение как библиотеку и импортировать его, создать свою оболочку и т. д. Но я забыл подумать о том, как основной цикл SWT-приложения должен работать в основном потоке, что кажется проблематичным. Поэтому я начал искать возможность интеграции его с архитектурой плагинов eclipse. Проблема: я ничего не знаю об архитектуре плагина eclipse или RCP, и когда я пытаюсь учиться, я сталкиваюсь с непостижимой стеной вещей, которые совершенно не похожи на то, что я хочу сделать (например, создание новых кнопок на рабочем месте eclipse) . Как начать разработку плагина, который просто запускает другое окно?


person jsn    schedule 01.03.2010    source источник


Ответы (1)


Вам понадобится какая-то кнопка для запуска вашего приложения, поэтому просто подключитесь к системе меню Eclipse.

Пытаться:

1) В Eclipse Файл -> Новый проект-> Проект подключаемого модуля

2) Убедитесь, что вы отметили «Этот плагин внесет вклад в пользовательский интерфейс».

3) Снимите галочку с "генерировать активатор", так как он вам не понадобится

4) Выберите команду «Hello World» из шаблона кода.

Теперь у вас будет образец обработчика и метод с именем execute, с помощью которого вы сможете вызывать свое SWT-приложение с дисплеем, который вы используете в RCP-приложении. Если вам действительно необходимо вызвать void main(String[] args), вы можете получить отображение, вызвав Display.getDefault(), который либо создаст новый дисплей, либо будет использовать тот, что из RCP-приложения.

Вам также придется изменить файл plugin.xml, чтобы он указывал на правильное меню в вашем RCP-приложении. Если вы хотите, чтобы ваша команда запуска находилась в меню файлов и т. д.

Наконец, щелкните правой кнопкой мыши свой проект и выберите «Экспорт» -> «Разработка подключаемых модулей» и создайте jar-файл, в котором будет находиться ваша программа запуска. Перетащите этот jar-файл в папку плагинов RCP-приложения, и вы сможете запустить SWT-приложение из только что созданной вами команды.

На пути, вероятно, будет пара неровностей, но это примерно то, что вам придется сделать.

person Kire Haglin    schedule 02.03.2010