Вставить график изюминки в субкомпозит

У меня есть ViewPart в Eclipse, в который я хочу добавить несколько композитов, по одному на график изгибов (который может быть выборочно просмотрен или скрыт пользователем), а также элементы управления, метки и поля со списком. Я работал с mxgraph, чтобы сделать это, но mxgraph не полностью совместим с затмением ViewPart, поэтому я хочу переключиться на Zest.

Я попытался создать график изюминки и добавить его во встроенный композит как:

m_swtAwtComponent1 = new Composite(m_parentComposite, SWT.EMBEDDED);
m_swtAwtComponent1.setLayoutData(grid);
viewer = new GraphViewer(m_swtAwtComponent1, SWT.NONE);

Но это не работает.

Кроме того, я бы "хотел" метод Zest Graph или GraphViewer, который позволил бы мне установить конфигурацию в GridLayout и метод для изменения родительского компонента. Можно ли сделать это?

2 ответа

Родительский компонент не может быть изменен - ​​это решение SWT.

Однако, если я правильно понимаю вашу задачу, вы можете создать SWT SashForm и использовать его в качестве контейнера как графика Zest, так и соответствующего ему Composite с комбинациями. SashForm также имеет API для установки одного из своих Sashes единственным видимым компонентом (с помощью метода setMaximizedControl).

Таким образом, вам нужно что-то вроде следующего (не проверено в редакторе, только показывает основную идею:

SashForm form = new SashForm(parent, SWT.HORIZONTAL);
viewer = new GraphViewer(form, SWT.NONE);
//Note that no layout is set here!
Composite controls = new Composite(form, SWT.NONE);
//TODO load your control widgets inside this composite
form.setWeights(new int[]{2,1}); //Making the graph use more area then the widgets

Этот пост http://lowcoupling.com/post/58916245720/integrating-zest-with-xtext содержит подробное объяснение и код о том, как создать представление Eclipse, изображающее Zest Graph. В http://lowcoupling.com/post/58705347913/defining-a-work-breakdown-structure-through-the-wbs приведен пример его использования.

Другие вопросы по тегам