package org.eclipse.linuxtools.tmf.ui.widgets.timegraph;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import org.eclipse.linuxtools.internal.tmf.ui.Messages;
private ITmfTimeGraphDrawingHelper fDrawingHelper;
private final String fStateTypeName;
+ // The list of listeners for graph color changes
+ private final List<ITimeGraphColorListener> fListeners = new ArrayList<>();
+
// ------------------------------------------------------------------------
// Constants
// ------------------------------------------------------------------------
return true;
}
+ /**
+ * @since 3.0
+ */
+ @Override
+ public void addColorListener(ITimeGraphColorListener listener) {
+ if (!fListeners.contains(listener)) {
+ fListeners.add(listener);
+ }
+ }
+
+ /**
+ * @since 3.0
+ */
+ @Override
+ public void removeColorListener(ITimeGraphColorListener listener) {
+ fListeners.remove(listener);
+ }
+
+ /**
+ * Notifies listeners of the state table change
+ * @since 3.0
+ */
+ protected void fireColorSettingsChanged() {
+ for (ITimeGraphColorListener listener : fListeners) {
+ listener.colorSettingsChanged(getStateTable());
+ }
+ }
+
}