import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest.ExecutionType;
import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentRangeUpdatedSignal;
import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal;
+import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentUpdatedSignal;
import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal;
import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
}
}
+ @TmfSignalHandler
+ public void experimentUpdated(TmfExperimentUpdatedSignal signal) {
+ if (signal.getExperiment().equals(TmfExperiment.getCurrentExperiment())) {
+ final TmfTimeRange range = signal.getExperiment().getTimeRange();
+ if (range != TmfTimeRange.Null) {
+ Display.getDefault().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ tsfviewer.setTimeBounds(range.getStartTime().getValue(), range.getEndTime().getValue());
+ }});
+ }
+ }
+ }
+
/**
* @param source
* @param experimentTRange
import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest.ExecutionType;
import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentRangeUpdatedSignal;
import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal;
+import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentUpdatedSignal;
import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal;
import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
}
}
+ @TmfSignalHandler
+ public void experimentUpdated(TmfExperimentUpdatedSignal signal) {
+ if (signal.getExperiment().equals(TmfExperiment.getCurrentExperiment())) {
+ final TmfTimeRange range = signal.getExperiment().getTimeRange();
+ if (range != TmfTimeRange.Null) {
+ Display.getDefault().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ tsfviewer.setTimeBounds(range.getStartTime().getValue(), range.getEndTime().getValue());
+ }});
+ }
+ }
+ }
+
/**
* @param source
* @param experimentTRange
public void handleSuccess() {
// long indexingEnd = System.nanoTime();
- if (getRange() != TmfTimeRange.Eternity) {
+ // if the end time is a real value then it is the streaming safe time stamp
+ // set the last time to the safe time stamp to prevent unnecessary indexing requests
+ if (getRange().getEndTime() != TmfTimestamp.BigCrunch) {
lastTime = getRange().getEndTime();
}
updateExperiment();
\r
public void setFocus();\r
\r
+ /**\r
+ * Update the time bounds without changing the visible range\r
+ * \r
+ * @param beginTime\r
+ * @param endTime\r
+ */\r
+ public void setTimeBounds(long beginTime, long endTime);\r
+\r
}
\ No newline at end of file
_timeScaleCtrl.redraw();\r
}\r
\r
+ @Override\r
+ public void setTimeBounds(long beginTime, long endTime) {\r
+ _beginTime = beginTime;\r
+ _endTime = endTime;\r
+ _time0_ = beginTime;\r
+ _time1_ = endTime;\r
+ _stateCtrl.adjustScrolls();\r
+ _stateCtrl.redraw();\r
+ _timeScaleCtrl.redraw();\r
+ }\r
+\r
@Override\r
public void resetStartFinishTime() {\r
setStartFinishTimeNotify(_time0_, _time1_);\r