1 /*******************************************************************************
2 * Copyright (c) 2009, 2010 Ericsson
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * Alvaro Sanchez-Leon - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.linuxtools
.tmf
.ui
.widgets
.timegraph
;
15 import org
.eclipse
.jface
.viewers
.ISelection
;
16 import org
.eclipse
.jface
.viewers
.ISelectionProvider
;
17 import org
.eclipse
.linuxtools
.tmf
.ui
.widgets
.timegraph
.model
.ITimeEvent
;
18 import org
.eclipse
.linuxtools
.tmf
.ui
.widgets
.timegraph
.model
.ITmfTimeAnalysisEntry
;
19 import org
.eclipse
.linuxtools
.tmf
.ui
.widgets
.timegraph
.model
.TimeEvent
;
20 import org
.eclipse
.swt
.events
.ControlEvent
;
21 import org
.eclipse
.swt
.widgets
.Control
;
22 import org
.eclipse
.swt
.widgets
.ScrollBar
;
25 * <b><u>ITimeAnalysisWidget</u></b>
28 * TODO: Implement me. Please.
30 public interface ITimeAnalysisViewer
extends ITmfViewer
{
32 public enum TimeFormat
{
39 public void controlResized(ControlEvent e
);
45 * Specifies a fixed start time to the information to be
48 * Specifies a fixed end time to the information to be displayed
49 * @param updateTimeBounds
50 * If True - Time Range boundaries update is required
52 public abstract void display(ITmfTimeAnalysisEntry
[] traceArr
, long start
,
53 long end
, boolean updateTimeBounds
);
56 * The start and End time are taken from the limits used by the children
61 public abstract void display(ITmfTimeAnalysisEntry
[] traceArr
);
63 public void addWidgetSelectionListner(ITmfTimeSelectionListener listener
);
65 public void addWidgetTimeScaleSelectionListner(
66 ITmfTimeScaleSelectionListener listener
);
68 public void filterTraces();
70 public ITmfTimeAnalysisEntry
getSelectedTrace();
72 public ISelection
getSelection();
74 public void groupTraces(boolean on
);
76 public boolean isInFocus();
78 public void removeWidgetSelectionListner(ITmfTimeSelectionListener listener
);
80 public void removeWidgetTimeScaleSelectionListner(
81 ITmfTimeScaleSelectionListener listener
);
83 public void resetStartFinishTime();
85 public void selectNextEvent();
87 public void selectPrevEvent();
89 public void selectNextTrace();
91 public void selectPrevTrace();
93 public void showLegend();
97 public void zoomOut();
99 public void setSelectedTime(long time
, boolean ensureVisible
, Object source
);
101 public void setSelectedEvent(ITimeEvent event
, Object Source
);
103 public void setSelectedTraceTime(ITmfTimeAnalysisEntry trace
, long time
, Object Source
);
105 public void setSelectVisTimeWindow(long time0
, long time1
, Object Source
);
107 public void setAcceptSelectionAPIcalls(boolean acceptCalls
);
109 public void setTimeCalendarFormat(boolean toAbsoluteCaltime
);
111 public boolean isCalendarFormat();
113 public boolean isVisibleVerticalScroll();
115 public void setVisibleVerticalScroll(boolean visibleVerticalScroll
);
117 public int getBorderWidth();
119 public void setBorderWidth(int borderWidth
);
121 public int getHeaderHeight();
123 public void setHeaderHeight(int headerHeight
);
125 public int getItemHeight();
127 public void setItemHeight(int rowHeight
);
129 public void setMinimumItemWidth(int width
);
131 public void resizeControls();
133 public void setSelectedTrace(ITmfTimeAnalysisEntry trace
);
135 public ISelection
getSelectionTrace();
137 public void setNameWidthPref(int width
);
139 public int getNameWidthPref(int width
);
141 public void addFilterSelectionListner(ITmfTimeFilterSelectionListener listener
);
143 public void removeFilterSelectionListner(
144 ITmfTimeFilterSelectionListener listener
);
146 public int getTimeSpace();
148 public void itemUpdate(ITmfTimeAnalysisEntry parent
, TimeEvent item
);
150 public Control
getControl();
152 public ISelectionProvider
getSelectionProvider();
156 * Provide the possibility to control the wait cursor externally
159 * e.g. data requests in progress
163 * - true change to wait cursor
165 public void waitCursor(boolean waitInd
);
167 public void setFocus();
170 * Update the time bounds without changing the visible range
175 public void setTimeBounds(long beginTime
, long endTime
);
178 * Get the horizontal scrollbar
179 * @return the horizontal scrollbar
181 public ScrollBar
getHorizontalBar();
184 * Get the vertical scrollbar
185 * @return the vertical scrollbar
187 public ScrollBar
getVerticalBar();
191 * @param index the top index
193 public void setTopIndex(int index
);