@Override protected Control createDialogArea(Composite parent) { Composite main = new Composite(parent, SWT.NONE); GridLayoutFactory.swtDefaults().applyTo(main); GridDataFactory.fillDefaults().indent(0, 0).grab(true, true).applyTo(main); Group fetchResultGroup = new Group(main, SWT.SHADOW_ETCHED_IN); fetchResultGroup.setText(UIText.PullResultDialog_FetchResultGroupHeader); GridLayoutFactory.fillDefaults().applyTo(fetchResultGroup); GridDataFactory.fillDefaults().grab(true, true).applyTo(fetchResultGroup); FetchResult fRes = result.getFetchResult(); if (hasFetchResults()) { GridLayoutFactory.fillDefaults().applyTo(fetchResultGroup); FetchResultDialog dlg = new FetchResultDialog(getParentShell(), repo, fRes, result.getFetchedFrom()); Control fresult = dlg.createFetchResultTable(fetchResultGroup); Object layoutData = fresult.getLayoutData(); if (layoutData instanceof GridData) GridDataFactory.createFrom((GridData) layoutData).hint(SWT.DEFAULT, 130).applyTo(fresult); } else { GridLayoutFactory.swtDefaults().applyTo(fetchResultGroup); Label noResult = new Label(fetchResultGroup, SWT.NONE); if (result.getFetchedFrom().equals(".")) // $NON-NLS-1$ noResult.setText(UIText.PullResultDialog_NothingToFetchFromLocal); else noResult.setText( NLS.bind(UIText.FetchResultDialog_labelEmptyResult, result.getFetchedFrom())); } Group mergeResultGroup = new Group(main, SWT.SHADOW_ETCHED_IN); mergeResultGroup.setText(UIText.PullResultDialog_MergeResultGroupHeader); GridDataFactory.fillDefaults().grab(true, true).applyTo(mergeResultGroup); if (hasMergeResults()) { GridLayoutFactory.fillDefaults().applyTo(mergeResultGroup); MergeResultDialog dlg = new MergeResultDialog(getParentShell(), repo, result.getMergeResult()); dlg.createDialogArea(mergeResultGroup); } else if (hasRebaseResults()) { Status status = result.getRebaseResult().getStatus(); GridLayoutFactory.fillDefaults().applyTo(mergeResultGroup); switch (status) { case OK: // fall through case FAST_FORWARD: // fall through case UP_TO_DATE: // fall through case FAILED: // fall through case ABORTED: break; case STOPPED: Label errorLabel = new Label(mergeResultGroup, SWT.NONE); errorLabel.setImage( PlatformUI.getWorkbench() .getSharedImages() .getImage(ISharedImages.IMG_OBJS_ERROR_TSK)); Text errorText = new Text(mergeResultGroup, SWT.READ_ONLY); errorText.setText(UIText.PullResultDialog_RebaseStoppedMessage); break; } Label statusLabel = new Label(mergeResultGroup, SWT.NONE); statusLabel.setText(UIText.PullResultDialog_RebaseStatusLabel); Text statusText = new Text(mergeResultGroup, SWT.READ_ONLY); statusText.setText(status.name()); } else { GridLayoutFactory.swtDefaults().applyTo(mergeResultGroup); Label noResult = new Label(mergeResultGroup, SWT.NONE); noResult.setText(UIText.PullResultDialog_MergeAlreadyUpToDateMessage); } return main; }
private boolean hasRebaseResults() { final RebaseResult rebaseResult = result.getRebaseResult(); return rebaseResult != null && rebaseResult.getStatus() != Status.UP_TO_DATE; }