2012-01-28 4 views
0

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

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

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

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

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

+0

Есть ли какая-либо конкретная причина, по которой ваш композитор называется swtAwtComponent? У Zest есть SWT-виджет, поэтому перевод AWT не требуется. –

ответ

0

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

Однако, если я правильно понимаю вашу задачу, вы можете создать SWT SashForm и использовать это как контейнер как для графика Zest, так и для соответствующего Composite с Combos. У SashForm также есть API, чтобы установить один из своих Sash единственным видимым компонентом (с помощью метода 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