public void selectionChanged(SelectionChangedEvent event) { fShowError = true; fPatcher.setTarget(Utilities.getFirstResource(event.getSelection())); updateWidgetEnablements(); } });
public void handleEvent(Event event) { fShowError = true; if (useWorkspaceAsTarget.getSelection()) { fPatchTargets.getTree().setEnabled(false); fPatcher.setTarget(ResourcesPlugin.getWorkspace().getRoot()); } else { fPatchTargets.getTree().setEnabled(true); fPatcher.setTarget(Utilities.getFirstResource(fPatchTargets.getSelection())); } updateWidgetEnablements(); } });
protected void run(ISelection selection) { IResource firstResource = Utilities.getFirstResource(selection); boolean isPatch = false; if (firstResource instanceof IFile) { try { isPatch = ApplyPatchOperation.isPatch((IFile)firstResource); } catch (CoreException e) { CompareUIPlugin.log(e); } } final ApplyPatchOperation patchOp; if (isPatch) { patchOp= new ApplyPatchOperation(targetPart, (IFile)firstResource, null, new CompareConfiguration()); } else { patchOp= new ApplyPatchOperation(targetPart, firstResource); } targetPart.getSite().getShell().getDisplay().asyncExec(new Runnable(){ public void run() { BusyIndicator.showWhile(targetPart.getSite().getShell().getDisplay(), patchOp); } }); }
@Override public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NULL); composite.setLayout(new GridLayout()); composite.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL)); setControl(composite); useWorkspaceAsTarget = createRadioButton(composite, PatchMessages.PatchTargetPage_0, 1); selectTarget = createRadioButton(composite, PatchMessages.InputPatchPage_SelectInput, 1); buildInputGroup(composite); updateWidgetEnablements(); Dialog.applyDialogFont(composite); PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, ICompareContextIds.PATCH_INPUT_WIZARD_PAGE); useWorkspaceAsTarget.addListener(SWT.Selection, event -> { fShowError = true; if (useWorkspaceAsTarget.getSelection()) { fPatchTargets.getTree().setEnabled(false); fPatcher.setTarget(ResourcesPlugin.getWorkspace().getRoot()); } else { fPatchTargets.getTree().setEnabled(true); fPatcher.setTarget(Utilities.getFirstResource(fPatchTargets.getSelection())); } markPreviewPageToRecalucateIfNonWorkspacePatch(); updateWidgetEnablements(); }); }
private void buildInputGroup(Composite parent) { Tree tree = new Tree(parent, SWT.BORDER); GridData gd = new GridData(GridData.FILL_BOTH); gd.heightHint = 200; tree.setLayoutData(gd); fPatchTargets = new TreeViewer(tree); fPatchTargets.setLabelProvider(new WorkbenchLabelProvider()); fPatchTargets.setContentProvider(new WorkbenchContentProvider()); fPatchTargets.setComparator(new ResourceComparator(ResourceComparator.NAME)); fPatchTargets.setInput(ResourcesPlugin.getWorkspace().getRoot()); IResource target = fPatcher.getTarget(); if (target != null && !(target instanceof IWorkspaceRoot)) { fPatchTargets.expandToLevel(target, 0); fPatchTargets.setSelection(new StructuredSelection(target)); } // register listeners fPatchTargets.addSelectionChangedListener(event -> { fShowError = true; fPatcher.setTarget(Utilities.getFirstResource(event.getSelection())); updateWidgetEnablements(); }); fPatchTargets.addDoubleClickListener(event -> ((PatchWizard)getWizard()).showPage(getNextPage())); }