Eclipse zest note
基本zest viewer建立 public class BaseViewer extends ViewPart implements IZoomableWorkbenchPart { @Override public void createPartControl(Composite parent) { view = new GraphViewer(parent, SWT.NONE); view.setContentProvider(new NodeContentProvider()); view.setLabelProvider(new NodeLabelProvider()); view.setLayoutAlgorithm(new MultiLayoutAlgorithm(), true); //設定layout並執行 fillToolbar(); } //設定viewer的toolbar提供zoom的選項 private void fillToolbar() { ZoomContributionViewItem toolbarZoomContributionViewItem = new ZoomContributionViewItem( this); IActionBars bars = getViewSite().getActionBars(); bars.getMenuManager().add(toolbarZoomContributionViewItem); } @Override public AbstractZoomableViewer getZoomableViewer() { return view; } } viewer.applyLayout(); //執行layout /* 把有連線的node獨立出來執行baselayout * 沒有連線的node用類似gridlayout的方式處理,避免交互影響讓layout不好看 ...