tmf: Update copyright headers in tmf.ui
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / views / timechart / TimeChartDecorationProvider.java
index 70ad76cf8bd9bf63fbe83feb11c8c08cef645cd6..d8da799f4ca71515c7d60d03611715ecc771f76c 100644 (file)
-/*******************************************************************************\r
- * Copyright (c) 2010 Ericsson\r
- * \r
- * All rights reserved. This program and the accompanying materials are\r
- * made available under the terms of the Eclipse Public License v1.0 which\r
- * accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- * \r
- * Contributors:\r
- *   Patrick Tasse - Initial API and implementation\r
- *******************************************************************************/\r
-\r
-package org.eclipse.linuxtools.tmf.ui.views.timechart;\r
-\r
-import java.util.HashSet;\r
-import java.util.Set;\r
-\r
-import org.eclipse.core.resources.IMarker;\r
-import org.eclipse.core.resources.IResource;\r
-import org.eclipse.core.runtime.CoreException;\r
-import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;\r
-import org.eclipse.linuxtools.tmf.core.filter.ITmfFilter;\r
-\r
-public class TimeChartDecorationProvider {\r
-\r
-       private IResource fResource;\r
-    private Set<Long> fBookmarksSet = new HashSet<Long>();\r
-    private ITmfFilter fFilterFilter;\r
-    private ITmfFilter fSearchFilter;\r
-\r
-       public TimeChartDecorationProvider(IResource resource) {\r
-           fResource = resource;\r
-           refreshBookmarks();\r
-    }\r
-\r
-       public IResource getResource() {\r
-               return fResource;\r
-       }\r
-       \r
-       public boolean isBookmark(long rank) {\r
-           return fBookmarksSet.contains(rank);\r
-    }\r
-       \r
-       public void refreshBookmarks() {\r
-               try {\r
-                       fBookmarksSet.clear();\r
-               for (IMarker bookmark : fResource.findMarkers(IMarker.BOOKMARK, false, IResource.DEPTH_ZERO)) {\r
-                       int location = bookmark.getAttribute(IMarker.LOCATION, -1);\r
-                       if (location != -1) {\r
-                               Long rank = (long) location;\r
-                               fBookmarksSet.add(rank);\r
-                       }\r
-               }\r
-        } catch (CoreException e) {\r
-               e.printStackTrace();\r
-        }\r
-    }\r
-\r
-       public void filterApplied(ITmfFilter filter) {\r
-               fFilterFilter = filter;\r
-    }\r
-\r
-       public boolean isVisible(ITmfEvent event) {\r
-               if (fFilterFilter != null) {\r
-                       return fFilterFilter.matches(event);\r
-               }\r
-               return true;\r
-       }\r
-       \r
-       public void searchApplied(ITmfFilter filter) {\r
-               fSearchFilter = filter;\r
-    }\r
-       \r
-       public boolean isSearchMatch(ITmfEvent event) {\r
-               if (fSearchFilter != null) {\r
-                       return fSearchFilter.matches(event);\r
-               }\r
-               return false;\r
-       }\r
-       \r
-}\r
+/*******************************************************************************
+ * Copyright (c) 2010, 2012 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:
+ *   Patrick Tasse - Initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.linuxtools.tmf.ui.views.timechart;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.linuxtools.internal.tmf.ui.Activator;
+import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
+import org.eclipse.linuxtools.tmf.core.filter.ITmfFilter;
+
+/**
+ * Provider for decorations in the time chart view
+ *
+ * @version 1.0
+ * @author Patrick Tasse
+ */
+public class TimeChartDecorationProvider {
+
+       private final IFile fBookmarksFile;
+    private final Set<Long> fBookmarksSet = new HashSet<Long>();
+    private ITmfFilter fFilterFilter;
+    private ITmfFilter fSearchFilter;
+
+    /**
+     * Constructor
+     *
+     * @param bookmarksFile
+     *            Bookmark file associated with the trace
+     */
+    public TimeChartDecorationProvider(IFile bookmarksFile) {
+        fBookmarksFile = bookmarksFile;
+        refreshBookmarks();
+    }
+
+    /**
+     * Retrieve the bookmark file that was assigned to this provider
+     *
+     * @return The bookmark file
+     */
+    public IFile getBookmarksFile() {
+        return fBookmarksFile;
+    }
+
+    /**
+     * Verify if the selected rank has a bookmark assigned to it.
+     *
+     * @param rank
+     *            The rank to check for
+     * @return If there is a bookmark there
+     */
+    public boolean isBookmark(long rank) {
+        return fBookmarksSet.contains(rank);
+    }
+
+    /**
+     * Refresh the bookmark display.
+     */
+    public void refreshBookmarks() {
+        try {
+            fBookmarksSet.clear();
+            for (IMarker bookmark : fBookmarksFile.findMarkers(
+                    IMarker.BOOKMARK, false, IResource.DEPTH_ZERO)) {
+                int location = bookmark.getAttribute(IMarker.LOCATION, -1);
+                if (location != -1) {
+                    Long rank = (long) location;
+                    fBookmarksSet.add(rank);
+                }
+            }
+        } catch (CoreException e) {
+            Activator.getDefault().logError("Error refreshing bookmarks", e); //$NON-NLS-1$
+        }
+    }
+
+    /**
+     * Notify that a filter is now applied on the view.
+     *
+     * @param filter
+     *            The filter that was applied
+     */
+    public void filterApplied(ITmfFilter filter) {
+        fFilterFilter = filter;
+    }
+
+    /**
+     * Check if an event is currently visible in the view or not.
+     *
+     * @param event
+     *            The event to check for
+     * @return If the event is visible or not
+     */
+    public boolean isVisible(ITmfEvent event) {
+        if (fFilterFilter != null) {
+            return fFilterFilter.matches(event);
+        }
+        return true;
+    }
+
+    /**
+     * Notify that a search is applied on the view.
+     *
+     * @param filter
+     *            The search filter that was applied
+     */
+    public void searchApplied(ITmfFilter filter) {
+        fSearchFilter = filter;
+    }
+
+    /**
+     * Verify if the currently active search filter applies to the given event
+     * or not.
+     *
+     * @param event
+     *            The event to check for
+     * @return If the event matches
+     */
+    public boolean isSearchMatch(ITmfEvent event) {
+        if (fSearchFilter != null) {
+            return fSearchFilter.matches(event);
+        }
+        return false;
+    }
+
+}
This page took 0.02623 seconds and 5 git commands to generate.