import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ControlAdapter;
import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.KeyAdapter;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.MenuDetectListener;
* Sets the tree columns for this time graph combo's filter dialog.
*
* @param columnNames the tree column names
- * @since 2.0
+ * @since 1.2
*/
public void setFilterColumns(String[] columnNames) {
getShowFilterDialogAction().getFilterDialog().setColumnNames(columnNames);
* Sets the tree content provider used by the filter dialog
*
* @param contentProvider the tree content provider
- * @since 2.0
+ * @since 1.2
*/
public void setFilterContentProvider(ITreeContentProvider contentProvider) {
getShowFilterDialogAction().getFilterDialog().setContentProvider(contentProvider);
* Sets the tree label provider used by the filter dialog
*
* @param labelProvider the tree label provider
- * @since 2.0
+ * @since 1.2
*/
public void setFilterLabelProvider(ITableLabelProvider labelProvider) {
getShowFilterDialogAction().getFilterDialog().setLabelProvider(labelProvider);
super.redraw();
}
};
- fDataViewer.addDisposeListener(new DisposeListener() {
- @Override
- public void widgetDisposed(DisposeEvent e) {
- if (fMarkersMenu != null) {
- fMarkersMenu.dispose();
- }
+ fDataViewer.addDisposeListener((e) -> {
+ if (fMarkersMenu != null) {
+ fMarkersMenu.dispose();
}
});
GridLayout gl = new GridLayout(2, false);
fTimeGraphCtrl.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
- if ((e.character == '+' || e.character == '=') && ((e.stateMask & SWT.CTRL) == 0)) {
- zoomIn();
- } else if (e.character == '-' && ((e.stateMask & SWT.CTRL) == 0)) {
- zoomOut();
- } else if (e.keyCode == '.') {
+ if (e.keyCode == '.') {
boolean extend = (e.stateMask & SWT.SHIFT) != 0;
if (extend) {
extendToNextMarker();
fDataViewer.update();
adjustHorizontalScrollBar();
adjustVerticalScrollBar();
+
+ fDataViewer.addDisposeListener((e) -> {
+ saveOptions();
+ fColorScheme.dispose();
+ });
+
return fDataViewer;
}
/**
- * Dispose the view.
+ * Dispose the time graph viewer.
*/
public void dispose() {
- saveOptions();
- fTimeGraphCtrl.dispose();
fDataViewer.dispose();
- fColorScheme.dispose();
}
/**
fTimeRangeFixed = false;
}
+ /**
+ * @since 2.0
+ */
+ @Override
+ public void resetStartFinishTime(boolean notify) {
+ if (notify) {
+ setStartFinishTimeNotify(fTime0Bound, fTime1Bound);
+ } else {
+ setStartFinishTime(fTime0Bound, fTime1Bound);
+ }
+ fTimeRangeFixed = false;
+ }
+
@Override
public void setSelectedTimeNotify(long time, boolean ensureVisible) {
setSelectedTimeInt(time, ensureVisible, true);
}
/**
- * @since 2.0
+ * @since 1.2
*/
@Override
public void setSelectionRangeNotify(long beginTime, long endTime, boolean ensureVisible) {
}
/**
- * @since 2.0
+ * @since 1.2
*/
@Override
public void setSelectionRange(long beginTime, long endTime, boolean ensureVisible) {
adjustVerticalScrollBar();
}
+ /**
+ * Select an entry and reveal it
+ *
+ * @param entry
+ * The entry to select
+ * @since 2.0
+ */
+ public void selectAndReveal(@NonNull ITimeGraphEntry entry) {
+ final ITimeGraphEntry parent = entry.getParent();
+ if (parent != null) {
+ fTimeGraphCtrl.setExpandedState(parent, true);
+ }
+ fSelectedEntry = entry;
+ fTimeGraphCtrl.selectItem(entry, false);
+ adjustVerticalScrollBar();
+ }
+
/**
* Get the number of expanded (visible) time graph entries. This includes
* leafs and does not include filtered-out entries.
}
};
- fNextEventAction.setText(Messages.TmfTimeGraphViewer_NextEventActionNameText);
- fNextEventAction.setToolTipText(Messages.TmfTimeGraphViewer_NextEventActionToolTipText);
- fNextEventAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_NEXT_EVENT));
+ fNextEventAction.setText(Messages.TmfTimeGraphViewer_NextStateChangeActionNameText);
+ fNextEventAction.setToolTipText(Messages.TmfTimeGraphViewer_NextStateChangeActionToolTipText);
+ fNextEventAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_NEXT_STATE_CHANGE));
}
return fNextEventAction;
}
};
- fPrevEventAction.setText(Messages.TmfTimeGraphViewer_PreviousEventActionNameText);
- fPrevEventAction.setToolTipText(Messages.TmfTimeGraphViewer_PreviousEventActionToolTipText);
- fPrevEventAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_PREV_EVENT));
+ fPrevEventAction.setText(Messages.TmfTimeGraphViewer_PreviousStateChangeActionNameText);
+ fPrevEventAction.setToolTipText(Messages.TmfTimeGraphViewer_PreviousStateChangeActionToolTipText);
+ fPrevEventAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_PREV_STATE_CHANGE));
}
return fPrevEventAction;
* Get the show filter dialog action.
*
* @return The Action object
- * @since 2.0
+ * @since 1.2
*/
public ShowFilterDialogAction getShowFilterDialogAction() {
if (fShowFilterDialogAction == null) {
* Returns this viewer's filters.
*
* @return an array of viewer filters
- * @since 2.0
+ * @since 1.2
*/
public @NonNull ViewerFilter[] getFilters() {
return fTimeGraphCtrl.getFilters();
*
* @param filters
* an array of viewer filters, or null
- * @since 2.0
+ * @since 1.2
*/
public void setFilters(@NonNull ViewerFilter[] filters) {
fTimeGraphCtrl.setFilters(filters);