/*******************************************************************************
- * Copyright (c) 2009, 2010, 2011 Ericsson
- *
+ * Copyright (c) 2009, 2013 Ericsson
+ *
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
* accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
- *
+ *
* Contributors:
* Francois Chouinard - Initial API and implementation
*******************************************************************************/
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.TreeSelection;
-import org.eclipse.linuxtools.internal.tmf.ui.TmfUiPlugin;
+import org.eclipse.jface.window.Window;
+import org.eclipse.linuxtools.internal.tmf.ui.Activator;
+import org.eclipse.linuxtools.internal.tmf.ui.project.dialogs.SelectSupplementaryResourcesDialog;
import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceElement;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPart;
// Check if we are closing down
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- if (window == null)
+ if (window == null) {
return null;
+ }
// Get the selection
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IWorkbenchPart part = page.getActivePart();
+ if (part == null) {
+ return false;
+ }
ISelectionProvider selectionProvider = part.getSite().getSelectionProvider();
if (selectionProvider == null) {
return false;
}
+
ISelection selection = selectionProvider.getSelection();
// Make sure there is only selection and that it is an experiment
TmfTraceElement trace = (TmfTraceElement) element;
// If trace is under an experiment, use the original trace from the traces folder
trace = trace.getElementUnderTraceFolder();
- trace.deleteSupplementaryFiles();
- // Refresh folder
- IResource resource = trace.getParent().getResource();
+
+ // Delete the selected resources
+ IResource[] resources = trace.getSupplementaryResources();
+
+ SelectSupplementaryResourcesDialog dialog = new SelectSupplementaryResourcesDialog(window.getShell(), resources);
+ if (dialog.open() != Window.OK) {
+ return null;
+ }
+
+ trace.deleteSupplementaryResources(dialog.getResources());
+
+ // Refresh project
+ IResource resource = trace.getProject().getResource();
+
if (resource != null) {
try {
- if (resource != null) {
- resource.refreshLocal(IResource.DEPTH_INFINITE, null);
- }
+ resource.refreshLocal(IResource.DEPTH_INFINITE, null);
} catch (CoreException e) {
- TmfUiPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, TmfUiPlugin.PLUGIN_ID, "Error refreshing resource " + resource, e)); //$NON-NLS-1$
+ Activator.getDefault().logError("Error refreshing resource " + resource, e); //$NON-NLS-1$
}
}
}