Редактор Rcl Редактор Eclipse после добавления виджета
В моем редакторе плагинов Eclipse есть кнопка "Добавить график", которая добавляет композит с графиком в другой уже созданный композит с "Grid Layout", но созданный композит не появляется до изменения размера редактора вручную или переключения на другой редактор и вернитесь
я также использовал
parentComposite.pack();
parentComposite.layout();
но добавленный композит отображается с небольшим размером, и он также корректируется после изменения размера редактора вручную или переключения на другой редактор и возврата.
Поэтому мой вопрос заключается в том, как вызвать тот же обработчик, который запускается при изменении размера редактора вручную или переключении на другой редактор и обратно. для настройки моего представления после добавления нового композита.
Добавление примера:
public class MyEditor extends EditorPart {
private Composite compGraphesArea;
@Override
public void createPartControl(Composite parent) {
Composite container = new Composite(parent, SWT.NONE);
container.setLayout(new GridLayout(2, false));
Button btnAddGraph = new Button(container, SWT.NONE);
btnAddGraph.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
createGraph(compGraphesArea);
}
});
btnAddGraph.setText("Add Graph");
compGraphesArea = new Composite(container, SWT.NONE);
compGraphesArea.setLayout(new GridLayout(1, true));
compGraphesArea.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
createGraph(compGraphesArea);
}
private void createGraph(Composite compGraphArea) {
JFreeChart chart = chartHandler.getChart();
compGraphPlot = new Composite(compGraphArea, SWT.BORDER | SWT.EMBEDDED);
compGraphPlot.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
Frame chartFrame = SWT_AWT.new_Frame(compGraphPlot);
ChartPanel label = new ChartPanel(chart);
chartFrame.add(label);
chartFrame.pack();
chartFrame.setVisible(true);
XYPlot plot = chart.getXYPlot();
ValueAxis axis = plot.getDomainAxis();
axis.setFixedAutoRange(1000000 + slider.getMaximum() / 2);
}
И это то, что я получил после нажатия "Добавить график":
и это то, что я ожидаю, и что я получил после внесения каких-либо изменений в Редактор вручную:
- Вопросы
- Eclipse-rcp
- Редактор Rcl Редактор Eclipse после добавления виджета