+ /**
+ * Close opened editors associated with this trace.
+ * @since 2.0
+ */
+ public void closeEditors() {
+ // Close the trace if open
+ IFile file = getBookmarksFile();
+ FileEditorInput input = new FileEditorInput(file);
+ IWorkbench wb = PlatformUI.getWorkbench();
+ for (IWorkbenchWindow wbWindow : wb.getWorkbenchWindows()) {
+ for (IWorkbenchPage wbPage : wbWindow.getPages()) {
+ for (IEditorReference editorReference : wbPage.getEditorReferences()) {
+ try {
+ if (editorReference.getEditorInput().equals(input)) {
+ wbPage.closeEditor(editorReference.getEditor(false), false);
+ }
+ } catch (PartInitException e) {
+ Activator.getDefault().logError("Error closing editor for trace " + getName(), e); //$NON-NLS-1$
+ }
+ }
+ }
+ }
+
+ // Close experiments that contain the trace if open
+ if (getParent() instanceof TmfTraceFolder) {
+ TmfExperimentFolder experimentFolder = getProject().getExperimentsFolder();
+ for (ITmfProjectModelElement experiment : experimentFolder.getChildren()) {
+ for (ITmfProjectModelElement child : experiment.getChildren()) {
+ if (child.getName().equals(getName())) {
+ ((TmfExperimentElement) experiment).closeEditors();
+ break;
+ }
+ }
+ }
+ } else if (getParent() instanceof TmfExperimentElement) {
+ TmfExperimentElement experiment = (TmfExperimentElement) getParent();
+ experiment.closeEditors();
+ }
+ }