Source:
public void createPartControl(final Composite parent) { setPartName("XYZ"); setContentDescription("ABC"); createAdditionalToolbarActions(); GridLayout gl_parent = new GridLayout(1, false); parent.setLayout(gl_parent); parent.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, true, 1, 1)); scrollView = new ScrolledComposite(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); scrollView.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); scrollView.setExpandHorizontal(true); scrollView.setExpandVertical(true); Composite composite = new Composite(scrollView, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); composite.setLayout(new GridLayout(1, false)); scrollView.setContent(composite); Point fontSize = UIUtils.computeFontSize(composite); Composite hd = headerSection(composite, fontSize); tabFolder = new TabFolder(composite, SWT.NONE); tabFolder.setLayout(new GridLayout(1, false)); tabFolder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); compButton = buttonSection(composite); summaryTab = new SummaryTabView(); summaryTab.create(tabFolder, fChangeInfo); Point hScrolBarSize = scrollView.getHorizontalBar().getSize(); messageTab = new MessageTabView(); messageTab.create(tabFolder, fCommitInfo, fChangeInfo); filesTab = new FilesTabView(); filesTab.create(tabFolder, fChangeInfo); filesTab.addObserver(chDetailEditor); historytab = new HistoryTabView(); historytab.create(tabFolder, fChangeInfo.getMessages()); tabFolder.pack(); Point ptHeader = hd.getSize(); Point ptButton = compButton.getSize(); int minimumWidth = Math.max(ptHeader.x, ptButton.x); minimumWidth = Math.max(minimumWidth, tabFolder.getSize().x); int minimumHeight = ptHeader.y + 2 * historytab.getTableHistoryViewer().getTable().getSize().y + ptButton.y + hScrolBarSize.y; scrollView.setMinSize(minimumWidth, minimumHeight); }

Target:
public void createPartControl(final Composite parent) { createAdditionalToolbarActions(); GridLayout gl_parent = new GridLayout(1, false); parent.setLayout(gl_parent); parent.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, true, 1, 1)); scrollView = new ScrolledComposite(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); scrollView.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); scrollView.setExpandHorizontal(true); scrollView.setExpandVertical(true); Composite composite = new Composite(scrollView, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); composite.setLayout(new GridLayout(1, false)); scrollView.setContent(composite); Point fontSize = UIUtils.computeFontSize(composite); Composite hd = headerSection(composite, fontSize); tabFolder = new TabFolder(composite, SWT.NONE); tabFolder.setLayout(new GridLayout(1, false)); tabFolder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); compButton = buttonSection(composite); summaryTab = new SummaryTabView(); summaryTab.create(tabFolder, fChangeInfo); Point hScrolBarSize = scrollView.getHorizontalBar().getSize(); messageTab = new MessageTabView(); messageTab.create(tabFolder, fCommitInfo, fChangeInfo); filesTab = new FilesTabView(); filesTab.create(tabFolder, fChangeInfo); filesTab.addObserver(chDetailEditor); historytab = new HistoryTabView(); historytab.create(tabFolder, fChangeInfo.getMessages()); tabFolder.pack(); Point ptHeader = hd.getSize(); Point ptButton = compButton.getSize(); int minimumWidth = Math.max(ptHeader.x, ptButton.x); minimumWidth = Math.max(minimumWidth, tabFolder.getSize().x); int minimumHeight = ptHeader.y + 2 * historytab.getTableHistoryViewer().getTable().getSize().y + ptButton.y + hScrolBarSize.y; scrollView.setMinSize(minimumWidth, minimumHeight); }