Я работаю над тем, чтобы максимизировать EditorPart в моем приложении RCP на основе Eclipse, чтобы он был полностью полноэкранным, без обрезки, без меню и так далее. На самом деле, это редактор ГЭФ. Это что-то вроде хака, но это отчасти работает:
GraphicalViewer viewer = (GraphicalViewer)getWorkbenchPart().getAdapter(GraphicalViewer.class);
Control control = viewer.getControl();
Composite oldParent = control.getParent();
Shell shell = new Shell(SWT.APPLICATION_MODAL);
shell.setFullScreen(true);
shell.setMaximized(true);
// Some code here to listen to Esc key to dispose Shell and return...
shell.setLayout(new FillLayout());
control.setParent(shell);
shell.open();
По сути, он устанавливает родительский элемент элемента управления GraphicalViewer для вновь созданной развернутой оболочки. Нажатие escape вернет элемент управления его первоначальному родителю (код не показан для краткости).
Единственное, что не работает, это получение глобальных нажатий клавиш ( Del , Ctrl + Z , Ctrl + A ) те, которые объявлены для Workbench и перенаправлены в EditorPart. Есть ли способ, которым я могу подключиться к ним или перенаправить их из EditorPart, чтобы переслать их в GraphicalViewer?
Заранее спасибо