|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.swt.widgets.Widget org.eclipse.swt.widgets.Control org.eclipse.swt.widgets.Scrollable org.eclipse.swt.widgets.Composite org.eclipse.swt.widgets.Canvas de.jaret.util.ui.timebars.swt.TimeBarViewer
public class TimeBarViewer
Viewer for a TimeBarModel (SWT version). Displays the intervals using a renderer. Supports sorting and/or filtering of the rows in the model without affecting the model itself.
The implementation depends on the TimeBarViewerDelegate
for the operations and calculations that is
shared between the Swing and the SWT implementation of the viewer. There is no accesor to access the delegate
directly. However the documentation of the delegate can be helpful. The delegate can temporarily be accessed
getData("delegate")
for debugging and experimental features.
The timebar viewer is an implementation of the ISelectionProvider working with structured selections containing rows and intervals.
Keyboard bindings
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface de.jaret.util.ui.timebars.TimeBarViewerInterface |
---|
TimeBarViewerInterface.Orientation |
Field Summary | |
---|---|
protected JaretTimeBarsActionFactory |
_actionFactory
factory for creating standard actions. |
protected org.eclipse.swt.widgets.Menu |
_bodyContextMenu
context menu for the main viewer body. |
protected TimeBarViewerDelegate |
_delegate
This delegate encapsules the main part of the functionality of the the viewer. |
protected TimeBarGapRenderer |
_gapRenderer
Renderer for doing rendering in th egaps between intervals. |
protected int |
_ghostAlpha
alpha for ghost drawing. |
protected java.util.List<de.jaret.util.date.Interval> |
_ghostIntervals
list of ghost intervals to be painted. |
protected java.util.List<java.lang.Integer> |
_ghostIntervalYCoordinates
y offsets for the ghost intervals. |
protected org.eclipse.swt.graphics.Point |
_ghostOrigin
the origin for painting the ghost intervals/rows. |
protected java.util.List<TimeBarRow> |
_ghostRows
list of ghost rows to paint. |
protected java.util.List<java.lang.Integer> |
_ghostRowYCoordinates
y offsets for the ghost rows. |
protected GlobalAssistantRenderer |
_globalRenderer
Renderer for doing global rendering. |
protected GridRenderer |
_gridRenderer
Renderer for rendering the grid. |
protected RowContextMenuHandler |
_headerCtxHandler
handler for retrieving a context menu for the header area. |
protected HeaderRenderer |
_headerRenderer
Renderer to render the row headings. |
protected RowContextMenuHandler |
_hierarchyCtxHandler
handler for retrieving a context menu for the hierarchy. |
protected HierarchyRenderer |
_hierarchyRenderer
Renderer for the hierarchy view (tree structure). |
protected org.eclipse.swt.widgets.Menu |
_intervalContextMenu
context menu displayed for intervals. |
protected TimeBarMarkerRenderer |
_markerRenderer
Renderer for the timebar markers. |
protected IMiscRenderer |
_miscRenderer
Renderer for rendering various bits. |
protected java.beans.PropertyChangeSupport |
_propertyChangeSupport
Delegate to handle property change listener support. |
protected IRelationRenderer |
_relationRenderer
renderer for drawing interval relations. no default renderer is setup. |
protected java.util.Map<java.lang.Class<? extends de.jaret.util.date.Interval>,TimeBarRenderer> |
_rendererMap
mapping between interval classes and renderers. |
protected org.eclipse.swt.graphics.Color |
_rowGridColor
color for row grid lines. |
protected org.eclipse.swt.widgets.Menu |
_scaleContextMenu
context menu displayed for the time scale. |
protected java.util.List<org.eclipse.jface.viewers.ISelectionChangedListener> |
_selectionChangeListeners
list of Iselction listeners |
protected TimeScaleRenderer |
_timeScaleRenderer
Renderer used to render the timescale. |
protected org.eclipse.swt.widgets.Menu |
_titleContextMenu
context menu for the title area. |
protected TitleRenderer |
_titleRenderer
Renderer for rendering the title area. |
static int |
DEFAULT_ALPHA
default alpha for ghost draw and row highlighting. |
protected static int |
INCREMENTDIVISOR_X
Number of seconds will be divided by this divisor for determing arrow incremtn of the scrollbar. |
protected static int |
INCREMENTDIVISOR_Y
Number of rows will be divided by this divisor for determing arrow incremtn of the scrollbar. |
protected static org.eclipse.swt.graphics.Color |
LINECOLOR
Color used to render the limiting lines. |
static org.eclipse.swt.graphics.Color |
ROWGRID_COLOR
default color for rowgrid. |
Fields inherited from class org.eclipse.swt.widgets.Control |
---|
handle |
Constructor Summary | |
---|---|
TimeBarViewer(org.eclipse.swt.widgets.Composite parent,
int style)
Constructor for a timebarviewer. |
Method Summary | |
---|---|
void |
addFocussedIntervalListener(FocussedIntervalListener listener)
Add a listener to be informed when the focus inside the viewer changes. |
void |
addIntervalModificator(IntervalModificator intervalModificator)
Add an intervalModificator controlling changes on the intervals. |
void |
addMarker(TimeBarMarker marker)
Add a timebar marker. |
void |
addMarkers(java.util.List<TimeBarMarker> markers)
Directly set a list of markers. |
void |
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Add a PropertyChangeListener. |
void |
addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
|
void |
addSelectionRectListener(ISelectionRectListener listener)
Add a listener to be informed when the selection rect changes. |
void |
addTimeBarChangeListener(ITimeBarChangeListener listener)
Add a listener to be informaed about interval changes. |
void |
clearRegionRect()
Remove the selction of a region if existent. |
org.eclipse.swt.graphics.Point |
computeSize(int wHint,
int hHint,
boolean changed)
|
static org.eclipse.swt.graphics.Rectangle |
convertRect(java.awt.Rectangle rect)
Convert a java.awt.Rectangle to a org.eclipse.Rectangle. |
de.jaret.util.date.JaretDate |
dateForX(int x)
Get the corresponding date for an x coordinate in the viewer area. |
de.jaret.util.date.JaretDate |
dateForXY(int x,
int y)
Get the corresponding date for a point in the viewer area. |
void |
deHighlightRow()
|
void |
displayBodyContextMenu(int x,
int y)
Display the context menu for the normal viewer body. |
void |
displayHeaderContextMenu(TimeBarRow row,
int x,
int y)
Display the header context menu. |
void |
displayHierarchyContextMenu(TimeBarRow row,
int x,
int y)
Display the hierarchy area context menu. |
void |
displayIntervalContextMenu(de.jaret.util.date.Interval interval,
int x,
int y)
Display the context menu for an interval. |
void |
displayTimeScaleContextMenu(int x,
int y)
Display the context menu for the time scale. |
void |
displayTitleContextMenu(int x,
int y)
Display the title area context menu. |
void |
doScrollHorizontal(int diff)
Do horizontal scrolling by diff pixel. |
void |
doScrollVertical(int diff)
Do vertical scrolling by diff pixel. |
void |
firePropertyChange(java.lang.String string,
double oldValue,
double newValue)
Fire a property change. |
void |
firePropertyChangeX(java.lang.String propName,
java.lang.Object oldVal,
java.lang.Object newVal)
Fire a property change. |
void |
fireSelectionChanged()
Callback for delegate. |
JaretTimeBarsActionFactory |
getActionFactory()
Retrieve a configured action factory. |
boolean |
getAdjustMinMaxDatesByModel()
Retrieve the adjustment policy for min and max date. |
int |
getAutoScaleRows()
Get the number of rows (columns) that the viewer scales itself to. |
int |
getAutoscrollDelta()
Retrieve the currently set autoscroll delta. |
org.eclipse.swt.widgets.Menu |
getBodyContextMenu()
|
TimeBarViewerDelegate |
getDelegate()
Retrieve the delegate ATTENTION: the delegate is for mostly internal usage only. |
boolean |
getDragAllSelectedIntervals()
If true all selected intervals will be dragged together with the interval on that the drag happened. |
boolean |
getDrawOverlapping()
Retrieve the drawing mode. |
boolean |
getDrawRowGrid()
Retrieve the status of row grid drawing. |
de.jaret.util.date.JaretDate |
getEndDate()
Get the las date painted. |
int |
getFirstRowDisplayed()
Retrieve the index of the first row that is displayed. |
int |
getFirstRowOffset()
Retrieve the pixeloffset for the first row. |
de.jaret.util.date.Interval |
getFocussedInterval()
Retrieve the focussed interval. |
TimeBarRow |
getFocussedRow()
|
TimeBarGapRenderer |
getGapRenderer()
|
int |
getGhostAlpha()
Get the alpha used when drawing ghosted intervals. |
GlobalAssistantRenderer |
getGlobalAssistantRenderer()
Retrive the global assistant renderer if set. |
GridRenderer |
getGridRenderer()
|
RowContextMenuHandler |
getHeaderCtxHandler()
|
HeaderRenderer |
getHeaderRenderer()
|
java.lang.String |
getHeaderToolTipText(TimeBarRow row,
int x,
int y)
Retrieve the tooltip for a position on a row. |
int |
getHeight()
Return the height of the viewer. |
boolean |
getHideRoot()
Retrieve whether the root node is shown when using a hierachical model. |
HierarchicalTimeBarModel |
getHierarchicalModel()
Retrieve the hierarchical model of the viewer. |
HierarchicalViewState |
getHierarchicalViewState()
Retrieve the hierarchical viewstate used by the viewer. |
RowContextMenuHandler |
getHierarchyCtxHandler()
|
HierarchyRenderer |
getHierarchyRenderer()
Retrieve the hierarchy renderer. |
java.lang.String |
getHierarchyToolTipText(TimeBarNode node,
int x,
int y)
Retrieve the tooltip for a position in the hierarchy. |
int |
getHierarchyWidth()
Retrieve the width of the hierarchy area. |
int |
getHighlightAlpha()
Deprecated. use the default grid renderer directly (or your own grid renderer) |
org.eclipse.swt.graphics.Color |
getHighlightColor()
Deprecated. use the default grid renderer directly (or your own grid renderer) |
org.eclipse.swt.graphics.Rectangle |
getIntervalBounds(de.jaret.util.date.Interval interval)
Retrieve the bounding rect of an interval. |
org.eclipse.swt.widgets.Menu |
getIntervalContextMenu()
|
TimeBarIntervalFilter |
getIntervalFilter()
Retrieve the used interval filter. |
java.util.List<de.jaret.util.date.Interval> |
getIntervalsAt(int x,
int y)
Retrieves all intervals at a given point in the diagram pane. |
java.lang.String |
getIntervalToolTipText(de.jaret.util.date.Interval interval,
java.awt.Rectangle intervalRect,
int x,
int y)
Get the tooltip text for a given location in a rendered interval. |
int |
getKeyboardChangeDelta()
Retrieve the keyboardChangeDelta currently used. |
boolean |
getMarkerDraggingInDiagramArea()
Retrieve whether marker dragging in the diagram area is activated. |
TimeBarMarkerRenderer |
getMarkerRenderer()
Retrieve the used marker renderer. |
java.util.List<TimeBarMarker> |
getMarkers()
Retrieve the list of al markers. |
int |
getMarkerWidth(TimeBarMarker marker)
Get the width for marker painting (as requested by a marker renderer). |
de.jaret.util.date.JaretDate |
getMaxDate()
Retrieve the maximum date that can be displayed. |
de.jaret.util.date.JaretDate |
getMinDate()
Retrieve the minimum value present in the data of the viewer. |
IMiscRenderer |
getMiscRenderer()
Retrieve the current misc renderer. |
TimeBarModel |
getModel()
Retrieve the flat model used by the viewer. |
java.lang.String |
getName()
Retrieve the name set on the viewer. |
boolean |
getOptimizeScrolling()
Get whether optimzed scrollnig is used. |
IOverlapStrategy |
getOverlapStrategy()
Retrieve the used strategy for determing overlap information. |
double |
getPixelPerSecond()
Return the pixel per second ratio. |
de.jaret.util.misc.Pair<TimeBarRow,de.jaret.util.date.JaretDate> |
getPopUpInformation()
Retrieve the row and date of the click leading to the activation of a context menu. |
TimeBarNode |
getPpsRow()
Retrieve the row that hold intervals (PpsIntervals) defining the pps value for different intervals. |
TBRect |
getRegionRect()
Retrieve the selected region. |
boolean |
getRegionRectEnable()
Retrieve whether region selections are enabled. |
IRelationRenderer |
getRelationRenderer()
Retrieve the relation renderer. |
java.util.List<IIntervalRelation> |
getRelationsForCoord(int x,
int y)
Retrieve the list of relations hit for a coordinate. |
java.lang.String |
getRelationTooltip(int x,
int y)
Provide the tooltip for a relation if any. |
protected TimeBarRenderer |
getRenderer(java.lang.Class<? extends de.jaret.util.date.Interval> clazz)
Retrieve a renderer for a given class. |
java.util.Map<java.lang.Class<? extends de.jaret.util.date.Interval>,TimeBarRenderer> |
getRendererMapping()
Retrieve the complete renderer map. |
TimeBarRowFilter |
getRowFilter()
Get the used row filter. |
TimeBarRow |
getRowForXY(int x,
int y)
Retrieve the row for a given point. |
TimeBarRow |
getRowForY(int y)
Retrieve the row for a given y coodinate (x if oriented vertcal; use getRowForXY instead!). |
org.eclipse.swt.graphics.Color |
getRowGridColor()
Retrieve color for the row grid. |
int |
getRowHeight()
Retrieve the current row height or the default row height if variable row heights/widths are enabled. |
org.eclipse.swt.graphics.Color |
getRowSelectColor()
Deprecated. use the default grid renderer directly (or your own grid renderer) |
TimeBarRowSorter |
getRowSorter()
Retrive sorter used. |
org.eclipse.swt.widgets.Menu |
getScaleContextMenu()
|
int |
getScrollLookBackMinutes()
Retrieve the time to be additionally considered (looking back) when deciding which intervals are to be painted. |
int |
getScrollLookForwardMinutes()
Retrieve the time to be additionally considered (looking forward) when deciding which intervals are to be painted. |
boolean |
getScrollOnFocus()
Retrieve the state of the scroll to focus flag. |
int |
getSecondsDisplayed()
Get the seconds currently displayed by the diagram. |
org.eclipse.jface.viewers.ISelection |
getSelection()
Will return a structured selection conaining selected rows and selected intervals. |
int |
getSelectionDelta()
Retrieve the selection delta used to determine whether a marker or interval edge is clicked/dragged. |
TimeBarSelectionModel |
getSelectionModel()
Get the selection model of the viewer. |
de.jaret.util.date.JaretDate |
getStartDate()
Retrive the current start date of the displayed time span. |
boolean |
getStrictClipTimeCheck()
Retrieve the strategy for filtering when painting (see TimeBarViewerInterface.setStrictClipTimeCheck(boolean) ). |
TimeBarViewerInterface.Orientation |
getTBOrientation()
Retrieve the orientation of the viewer. |
TimeBarRenderer |
getTimeBarRenderer()
Retrieve the default renderer currently used for rendering intervals (regsitered for Interval.class). |
ITimeBarViewState |
getTimeBarViewState()
Retrieve the statndard viewstate of the viewer containing the row heights/column widths. |
int |
getTimeScalePosition()
|
TimeScaleRenderer |
getTimeScaleRenderer()
|
java.lang.String |
getTimeScaleToolTipText(int x,
int y)
Retrieve the tooltip for a position on the timescale. |
java.lang.String |
getTitle()
Retrieve the title. |
org.eclipse.swt.widgets.Menu |
getTitleContextMenu()
|
TitleRenderer |
getTitleRenderer()
|
boolean |
getUseUniformHeight()
Retrieve whether uniform height is use for all intervals in a row. |
int |
getWidth()
Return the width of the viewer. |
int |
getXAxisHeight()
Retrieve the height (or width when orientation is vertical) of the timescale. |
int |
getYAxisWidth()
Retrieve the width of the y axis (header area). |
int |
getYForRow(TimeBarRow row)
Retrieve the y coordinate in the diagram pane for the given row. |
boolean |
hasVariableXScale()
Retrieve the state of the variable xscale state. |
void |
highlightRow(int y)
|
void |
highlightRow(TimeBarRow timeBarRow)
|
boolean |
isAutoscrollEnabled()
Get the autoscroll behaviour. |
boolean |
isDisplayed(de.jaret.util.date.JaretDate date)
Check whether a date is currently visible. |
boolean |
isFocussed(de.jaret.util.date.Interval interval)
Check whether an interval is focussed. |
boolean |
isInDiagram(int x,
int y)
Check whether a given point is in the main diagram area. |
boolean |
isInHierarchySelectionArea(TimeBarNode node,
int xx,
int yy)
Check whether the given position is in the selection area of the hierarchy. |
boolean |
isInRowAxis(int x,
int y)
Check whether a given point is in the row axis area (hierarchy or header). |
boolean |
isInToggleArea(TimeBarNode node,
int xx,
int yy)
Check whether the given position should toggle expanded state of a node. |
boolean |
isLineDraggingAllowed()
Check whether it is allowed to drag the limiting lines of the hierarchy ara and the header (yaxis) area. |
boolean |
isMilliAccuracy()
Check whether th delegate is setup for millisecond accuracy. |
boolean |
isRowHeightDragginAllowed()
Check whether row height dragging is allowed. |
void |
onDispose()
Dispose all renderes. |
void |
registerTimeBarRenderer(java.lang.Class<? extends de.jaret.util.date.Interval> intervalClass,
TimeBarRenderer renderer)
Register a renderer for an interval class or interface. |
void |
remFocussedIntervalListener(FocussedIntervalListener listener)
Remove a focussedIntervalListener. |
void |
remIntervalModificator(IntervalModificator intervalModificator)
Remove an interval modificator. |
void |
remMarker(TimeBarMarker marker)
Remove a timebar marker. |
void |
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Remove a property change listener. |
void |
removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
|
void |
removeTimeBarChangeListener(ITimeBarChangeListener listener)
Remove a timebar change listener. |
void |
remSelectionRectListener(ISelectionRectListener listener)
Remove a selection rect listener. |
void |
repaint()
Mark the whole viewer as dirty causing a repaint. |
void |
repaint(int x,
int y,
int width,
int height)
Mark area the needs repaint. |
void |
repaint(java.awt.Rectangle rectangle)
Mark area to be repainted. |
TimeBarRow |
rowForY(int y)
|
boolean |
rowLineHit(int x,
int y)
Check whether a row delimiter line is hit by a coordinate. |
int |
scrollDateToVisible(de.jaret.util.date.JaretDate date)
Scroll a date into the visible area of the viewer. |
void |
scrollIntervalToVisible(de.jaret.util.date.Interval interval)
Make sure the specified interval is in the visibe area of the viewer. |
void |
scrollIntervalToVisible(de.jaret.util.date.Interval interval,
double horizontalRatio,
double verticalRatio)
Scroll an intervall into the visible area on a position specified by a ratio. |
void |
scrollIntervalToVisible(TimeBarRow row,
de.jaret.util.date.Interval interval)
Make sure the specified interval is in the visibe area of the viewer. |
void |
scrollRowToVisible(TimeBarRow row)
Make sure the specified row is visible. |
void |
setAdjustMinMaxDatesByModel(boolean adjust)
Set the adjustment policy. |
void |
setAutoScaleRows(int rows)
Set a number of rows (columns) to be displayed by the viewer. |
void |
setAutoscrollDelta(int autoscrollDelta)
Set the autoscroll delta. |
void |
setAutoscrollEnabled(boolean enableAutoscroll)
Set the autoscroll behaviour. |
void |
setBodyContextMenu(org.eclipse.swt.widgets.Menu bodyContextMenu)
|
void |
setCursor(int cursorType)
Set the cursor type. |
void |
setDragAllSelectedIntervals(boolean dragAllSelectedIntervals)
If set to true all selected intervals are dragged when an interval is dragged. |
void |
setDrawOverlapping(boolean drawOverlapping)
Set the drawing mode. |
void |
setDrawRowGrid(boolean drawRowGrid)
Set the row grid drawing status. |
void |
setFirstRow(int firstRow,
int pixOffset)
Set the first row to be displayed. |
void |
setFirstRowDisplayed(int rowIdx)
Set the first row to be displayed. |
void |
setFirstRowDisplayed(TimeBarRow row)
Set the the first row to be displayed. |
void |
setFirstRowOffset(int offset)
Set the pixeloffset of the first row. |
void |
setFocussedInterval(de.jaret.util.date.Interval interval)
Set the new focussed interval. |
void |
setFocussedInterval(TimeBarRow row,
de.jaret.util.date.Interval interval)
Set the new focussed interval. |
void |
setGapRenderer(TimeBarGapRenderer gapRenderer)
|
void |
setGhostAlpha(int ghostAlpha)
Set the alpha value used for drawing ghost intervals. |
void |
setGhostInterval(de.jaret.util.date.Interval interval,
int y)
Convenience method to set a single ghost interval. |
void |
setGhostIntervals(java.util.List<de.jaret.util.date.Interval> intervals,
java.util.List<java.lang.Integer> yCoordinates)
Set the list of ghost intervals to be drawn. |
void |
setGhostOrigin(int x,
int y)
Set the origin (current drag position) to shift the ghost elements. |
void |
setGhostRow(TimeBarRow row,
int y)
Convenience method to set a single ghost row. |
void |
setGhostRows(java.util.List<TimeBarRow> rows,
java.util.List<java.lang.Integer> yCoordinates)
Set the list of ghost rows to be drawn. |
void |
setGlobalAssistantRenderer(GlobalAssistantRenderer gar)
Set a global renderer doing rendering work other than oriented on one interval or row. |
void |
setGridRenderer(GridRenderer gridRenderer)
|
void |
setHeaderCtxHandler(RowContextMenuHandler headerCtxHandler)
|
void |
setHeaderRenderer(HeaderRenderer headerRenderer)
|
void |
setHideRoot(boolean hideRoot)
Set whether the root node should be shown when using a hierachical model. |
void |
setHierarchicalViewState(HierarchicalViewState hierarchicalViewState)
Set the hierarchical viewstate to be used. |
void |
setHierarchyCtxHandler(RowContextMenuHandler hierarchyCtxHandler)
|
void |
setHierarchyRenderer(HierarchyRenderer hierarchyRenderer)
Set a renderer for the hierachy elements. |
void |
setHierarchyWidth(int width)
Set the width of the hierarchy area of the viewer. |
void |
setHighlightAlpha(int highlightAlpha)
Deprecated. use the default grid renderer directly (or your own grid renderer) |
void |
setHighlightColor(org.eclipse.swt.graphics.Color highlightColor)
Deprecated. use the default grid renderer directly (or your own grid renderer) |
void |
setInitialDisplayRange(de.jaret.util.date.JaretDate startDate,
int secondsDisplayed)
Set a date range and scaling that will be set as the initial display right after the viewer is displayed. |
void |
setIntervalContextMenu(org.eclipse.swt.widgets.Menu intervalContextMenu)
Set the interval context menu. |
void |
setIntervalFilter(TimeBarIntervalFilter intervalFilter)
Set an interval filter to select a subset of intervals that will be displayed. |
void |
setKeyboardChangeDelta(int keyboardChangeDelta)
Set the delta for resizing and moving via keyboard. |
void |
setLastRow(int index)
Set the last row in the viewer. |
void |
setLastRow(TimeBarRow row)
Set the last row in the viewer. |
void |
setLineDraggingAllowed(boolean lineDraggingAllowed)
Set the allowance for line dragging of the limiting lines for hierarchy and header(yaxis) areas. |
void |
setMarkerDraggingInDiagramArea(boolean allowed)
Set whether marker dragging is allowed in the diagram area (If intervals are modificable the marker will only be grabbed when no other operation is applicable). |
void |
setMarkerRenderer(TimeBarMarkerRenderer markerRenderer)
Set a renderer to be used for renering markers. |
void |
setMaxDate(de.jaret.util.date.JaretDate maxDate)
Set the maximum date to be displayed. |
void |
setMilliAccuracy(boolean milliAccuracy)
Set the delegates status concerning millisecond accuracy. |
void |
setMinDate(de.jaret.util.date.JaretDate minDate)
Set the minimum date to be displayed. |
void |
setMiscRenderer(IMiscRenderer miscRenderer)
Set the misc renderer to use. |
void |
setModel(HierarchicalTimeBarModel hModel)
Set a hierarchical model to be displayed. |
void |
setModel(TimeBarModel model)
Set the flat model to be displayed. |
void |
setName(java.lang.String name)
Set a name as a simple string property for internal application use. |
void |
setOptimizeScrolling(boolean optimizeScrolling)
Set whether optimized scrolling should be used. |
void |
setOverlapStrategy(IOverlapStrategy overlapStrategy)
Set the strategy to be used for calculating overlap information. |
void |
setPixelPerSecond(double pixPerSecond)
Sets the scale ox the x axis as pixel per second, thus a value of 1000.0 / (24.0 * 60 * 60) will result in displaying one day over 1000 pixel. |
void |
setRegionRectEnable(boolean enabled)
Enable/Disable region selections. |
void |
setRelationRenderer(IRelationRenderer relationRenderer)
Set the relation renderer. |
void |
setRowFilter(TimeBarRowFilter rowFilter)
Set a filter to select a subset of rows in the model to be displayed. |
void |
setRowGridColor(org.eclipse.swt.graphics.Color rowGridColor)
Set the color for the row grid. |
void |
setRowHeight(int rowHeight)
Set the height for the rows in pixel. |
void |
setRowHeightDraggingAllowed(boolean rowHeightDraggingAllowed)
Set whether row height dragging should be allowed. |
void |
setRowSelectColor(org.eclipse.swt.graphics.Color rowSelectColor)
Deprecated. use the default grid renderer directly (or your own grid renderer) |
void |
setRowSorter(TimeBarRowSorter rowSorter)
Set a sorter for sorting the displayed rows. |
void |
setScaleContextMenu(org.eclipse.swt.widgets.Menu scaleContextMenu)
|
void |
setScrollLookBackMinutes(int scrollLookBackMinutes)
Set the additional time to be considered when deciding whether to draw an interval looking back. |
void |
setScrollLookForwardMinutes(int scrollLookForwardMinutes)
Set the additional time to be considered when deciding whether to draw an interval looking forward. |
void |
setScrollOnFocus(boolean scrollOnFocus)
If set to true the viewer will scroll to the begin of an interval if it's focussed. |
void |
setSecondsDisplayed(int seconds,
boolean center)
Set the scaling of the x axis by specifying the number of seconds that should be displayed. |
void |
setSecondsDisplayed(int seconds,
de.jaret.util.date.JaretDate centerDate)
Set the scaling of the x axis by specifying the number of seconds that should be displayed. |
void |
setSelection(org.eclipse.jface.viewers.ISelection selection)
Will process a structured selection containing rows and intervals. |
void |
setSelectionDelta(int selectionDelta)
Set the selection delta used to determine whether a marker or interval edge is clicked/dragged. |
void |
setSelectionModel(TimeBarSelectionModel selectionModel)
Set the selectionmodel to be used by the viewer. |
void |
setStartDate(de.jaret.util.date.JaretDate startDate)
Set the start date of the display. |
void |
setStrictClipTimeCheck(boolean strictClipTimeCheck)
Set the optimization strategy for interval filtering when painting. |
void |
setTBOrientation(TimeBarViewerInterface.Orientation orientation)
Set the orientation of the viewer. |
void |
setTimeBarRenderer(TimeBarRenderer renderer)
Set the default renderer to be used for rendering the timebars. |
void |
setTimeScalePosition(int timeScalePosition)
|
void |
setTimeScaleRenderer(TimeScaleRenderer timeScaleRenderer)
Set a renderer for the x axis. |
void |
setTitle(java.lang.String title)
Set a title for the viewer to be displayed. |
void |
setTitleContextMenu(org.eclipse.swt.widgets.Menu titleContextMenu)
|
void |
setTitleRenderer(TitleRenderer titleRenderer)
|
void |
setUseUniformHeight(boolean useUniformHeight)
Set whether all intervals in a non overlapping drawn row should use the same height/width. |
void |
setVariableXScale(boolean state)
Set the state for the variable xscale. |
void |
setXAxisHeight(int height)
Set the height (or width) of the timescale. |
void |
setYAxisWidth(int width)
Set the width of the y axis (the header area). |
java.awt.Rectangle |
timeBarContainingRect(de.jaret.util.date.Interval interval,
java.awt.Rectangle intervalRect,
boolean overlapping)
Calculate/get the containing rectangle of a rendered interval. |
boolean |
timeBarContains(de.jaret.util.date.Interval interval,
java.awt.Rectangle intervalRect,
int x,
int y,
boolean overlapping)
Check whether a location is contained in a rendered interval. |
void |
updateXScrollBar(int max,
int pos,
int secondsDisplayed)
Update the x scrollbar. |
void |
updateYScrollBar(int max,
int pos,
int rowsDisplayed)
Update the y scrollbar. |
int |
xForDate(de.jaret.util.date.JaretDate date)
Calculate the x coordinate for a given date. |
Methods inherited from class org.eclipse.swt.widgets.Canvas |
---|
drawBackground, getCaret, scroll, setCaret, setFont |
Methods inherited from class org.eclipse.swt.widgets.Composite |
---|
changed, checkSubclass, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList |
Methods inherited from class org.eclipse.swt.widgets.Scrollable |
---|
computeTrim, getClientArea, getHorizontalBar, getVerticalBar |
Methods inherited from class org.eclipse.swt.widgets.Control |
---|
addControlListener, addFocusListener, addHelpListener, addKeyListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addPaintListener, addTraverseListener, computeSize, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getParent, getShell, getSize, getToolTipText, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, redraw, redraw, removeControlListener, removeFocusListener, removeHelpListener, removeKeyListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removePaintListener, removeTraverseListener, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setEnabled, setForeground, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setSize, setSize, setToolTipText, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, update |
Methods inherited from class org.eclipse.swt.widgets.Widget |
---|
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, setData, setData, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface de.jaret.util.ui.timebars.TimeBarViewerInterface |
---|
getToolTipText |
Field Detail |
---|
public static final org.eclipse.swt.graphics.Color ROWGRID_COLOR
protected static final int INCREMENTDIVISOR_X
protected static final int INCREMENTDIVISOR_Y
protected static final org.eclipse.swt.graphics.Color LINECOLOR
public static final int DEFAULT_ALPHA
protected org.eclipse.swt.graphics.Color _rowGridColor
protected int _ghostAlpha
protected TimeBarViewerDelegate _delegate
protected TimeScaleRenderer _timeScaleRenderer
protected java.util.Map<java.lang.Class<? extends de.jaret.util.date.Interval>,TimeBarRenderer> _rendererMap
protected HierarchyRenderer _hierarchyRenderer
protected GridRenderer _gridRenderer
protected GlobalAssistantRenderer _globalRenderer
protected TimeBarGapRenderer _gapRenderer
protected HeaderRenderer _headerRenderer
protected IRelationRenderer _relationRenderer
protected TimeBarMarkerRenderer _markerRenderer
protected TitleRenderer _titleRenderer
protected IMiscRenderer _miscRenderer
protected JaretTimeBarsActionFactory _actionFactory
protected org.eclipse.swt.widgets.Menu _bodyContextMenu
protected org.eclipse.swt.widgets.Menu _intervalContextMenu
protected org.eclipse.swt.widgets.Menu _scaleContextMenu
protected org.eclipse.swt.widgets.Menu _titleContextMenu
protected RowContextMenuHandler _hierarchyCtxHandler
protected RowContextMenuHandler _headerCtxHandler
protected java.beans.PropertyChangeSupport _propertyChangeSupport
protected java.util.List<org.eclipse.jface.viewers.ISelectionChangedListener> _selectionChangeListeners
protected java.util.List<de.jaret.util.date.Interval> _ghostIntervals
protected java.util.List<java.lang.Integer> _ghostIntervalYCoordinates
protected org.eclipse.swt.graphics.Point _ghostOrigin
protected java.util.List<TimeBarRow> _ghostRows
protected java.util.List<java.lang.Integer> _ghostRowYCoordinates
Constructor Detail |
---|
public TimeBarViewer(org.eclipse.swt.widgets.Composite parent, int style)
parent
- parent compositestyle
- style bitsMethod Detail |
---|
public void onDispose()
public int getWidth()
getWidth
in interface TimeBarViewerInterface
public int getHeight()
getHeight
in interface TimeBarViewerInterface
public void repaint()
repaint
in interface TimeBarViewerInterface
public void repaint(int x, int y, int width, int height)
repaint
in interface TimeBarViewerInterface
x
- x coordinatey
- y coordinatewidth
- width of the areaheight
- height of the areapublic void repaint(java.awt.Rectangle rectangle)
repaint
in interface TimeBarViewerInterface
rectangle
- java.awt.Rectangle that needs to be repaintedpublic void updateXScrollBar(int max, int pos, int secondsDisplayed)
updateXScrollBar
in interface TimeBarViewerInterface
max
- max value for the scrollbar (seconds)pos
- current positions in secondssecondsDisplayed
- the number of seconds displayed by the viewerpublic void updateYScrollBar(int max, int pos, int rowsDisplayed)
updateYScrollBar
in interface TimeBarViewerInterface
max
- max value for the scrollbar (row)pos
- first row displayedrowsDisplayed
- number of rows currently displayedpublic int xForDate(de.jaret.util.date.JaretDate date)
xForDate
in interface TimeBarViewerInterface
date
- date to get the coordinate for
public org.eclipse.swt.graphics.Point computeSize(int wHint, int hHint, boolean changed)
computeSize
in class org.eclipse.swt.widgets.Composite
public void setModel(TimeBarModel model)
setModel
in interface TimeBarViewerInterface
model
- the model to be displyedpublic void setModel(HierarchicalTimeBarModel hModel)
setModel
in interface TimeBarViewerInterface
hModel
- hierarchial modelpublic TimeBarModel getModel()
getModel
in interface TimeBarViewerInterface
public HierarchicalTimeBarModel getHierarchicalModel()
null
if a flat model has been set
directly.
getHierarchicalModel
in interface TimeBarViewerInterface
public HierarchicalViewState getHierarchicalViewState()
getHierarchicalViewState
in interface TimeBarViewerInterface
public void setHierarchicalViewState(HierarchicalViewState hierarchicalViewState)
setHierarchicalViewState
in interface TimeBarViewerInterface
hierarchicalViewState
- viewstate to usepublic void setTimeBarRenderer(TimeBarRenderer renderer)
renderer
- the renderer to be used if no other registered renderer is appropriatepublic TimeBarRenderer getTimeBarRenderer()
public void registerTimeBarRenderer(java.lang.Class<? extends de.jaret.util.date.Interval> intervalClass, TimeBarRenderer renderer)
intervalClass
- class of the intervalsrenderer
- renderer for the given classpublic java.util.Map<java.lang.Class<? extends de.jaret.util.date.Interval>,TimeBarRenderer> getRendererMapping()
protected TimeBarRenderer getRenderer(java.lang.Class<? extends de.jaret.util.date.Interval> clazz)
clazz
- class in question
public void firePropertyChange(java.lang.String string, double oldValue, double newValue)
firePropertyChange
in interface TimeBarViewerInterface
string
- property nameoldValue
- old valuenewValue
- new valuepublic void firePropertyChangeX(java.lang.String propName, java.lang.Object oldVal, java.lang.Object newVal)
firePropertyChangeX
in interface TimeBarViewerInterface
propName
- property nameoldVal
- old valuenewVal
- new valuepublic void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
addPropertyChangeListener
in interface TimeBarViewerInterface
listener
- property change listener to addpublic void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
removePropertyChangeListener
in interface TimeBarViewerInterface
listener
- listener to removepublic static org.eclipse.swt.graphics.Rectangle convertRect(java.awt.Rectangle rect)
rect
- awt rect
null
if a null is passed inpublic GridRenderer getGridRenderer()
public void setGridRenderer(GridRenderer gridRenderer)
gridRenderer
- The gridRenderer to set.public void setGlobalAssistantRenderer(GlobalAssistantRenderer gar)
gar
- the renderer to be usedpublic GlobalAssistantRenderer getGlobalAssistantRenderer()
public TimeBarGapRenderer getGapRenderer()
public void setGapRenderer(TimeBarGapRenderer gapRenderer)
gapRenderer
- The gapRenderer to set.public TimeScaleRenderer getTimeScaleRenderer()
public void setTimeScaleRenderer(TimeScaleRenderer timeScaleRenderer)
timeScaleRenderer
- The timeScaleRenderer to set.public IMiscRenderer getMiscRenderer()
public void setMiscRenderer(IMiscRenderer miscRenderer)
miscRenderer
- the misc renderer to be usedpublic void setMarkerRenderer(TimeBarMarkerRenderer markerRenderer)
markerRenderer
- marker rendererpublic TimeBarMarkerRenderer getMarkerRenderer()
public int getMarkerWidth(TimeBarMarker marker)
getMarkerWidth
in interface TimeBarViewerInterface
marker
- marker to check the width for
public void setHierarchyRenderer(HierarchyRenderer hierarchyRenderer)
hierarchyRenderer
- the renderer to be used for hieryrchy paintingpublic HierarchyRenderer getHierarchyRenderer()
public HeaderRenderer getHeaderRenderer()
public void setHeaderRenderer(HeaderRenderer headerRenderer)
headerRenderer
- The headerRenderer to set.public TitleRenderer getTitleRenderer()
public void setTitleRenderer(TitleRenderer titleRenderer)
titleRenderer
- The titleRenderer to set.public IRelationRenderer getRelationRenderer()
public void setRelationRenderer(IRelationRenderer relationRenderer)
relationRenderer
- renderer to usepublic boolean timeBarContains(de.jaret.util.date.Interval interval, java.awt.Rectangle intervalRect, int x, int y, boolean overlapping)
timeBarContains
in interface TimeBarViewerInterface
interval
- Interval to be checkedintervalRect
- bounding rect for the intervalx
- location xy
- location yoverlapping
- true if there are overlapping intervals and drawing mode is not drawOverlapped
public java.awt.Rectangle timeBarContainingRect(de.jaret.util.date.Interval interval, java.awt.Rectangle intervalRect, boolean overlapping)
timeBarContainingRect
in interface TimeBarViewerInterface
interval
- Interval for which the containing rect should be calculatedintervalRect
- Rectangle in the viewer (bounding rectangle)overlapping
- true if there are overlapping intervals and drawing mode is not drawOverlapped
public void setCursor(int cursorType)
setCursor
in interface TimeBarViewerInterface
cursorType
- java.awt.cursor typepublic java.lang.String getIntervalToolTipText(de.jaret.util.date.Interval interval, java.awt.Rectangle intervalRect, int x, int y)
getIntervalToolTipText
in interface TimeBarViewerInterface
interval
- IntervalintervalRect
- bounding rectangle for the intervalx
- location xy
- location y
public double getPixelPerSecond()
getPixelPerSecond
in interface TimeBarViewerInterface
public void setPixelPerSecond(double pixPerSecond)
setPixelPerSecond
in interface TimeBarViewerInterface
pixPerSecond
- pixel per second.public int getRowHeight()
getRowHeight
in interface TimeBarViewerInterface
public void setRowHeight(int rowHeight)
setRowHeight
in interface TimeBarViewerInterface
rowHeight
- new row heightpublic int getXAxisHeight()
getXAxisHeight
in interface TimeBarViewerInterface
public void setXAxisHeight(int height)
setXAxisHeight
in interface TimeBarViewerInterface
height
- height or width for the time scalepublic de.jaret.util.date.JaretDate getStartDate()
getStartDate
in interface TimeBarViewerInterface
public void setStartDate(de.jaret.util.date.JaretDate startDate)
setStartDate
in interface TimeBarViewerInterface
startDate
- first date to be displayedpublic de.jaret.util.date.JaretDate getMinDate()
getMinDate
in interface TimeBarViewerInterface
public void setMinDate(de.jaret.util.date.JaretDate minDate)
setMinDate
in interface TimeBarViewerInterface
minDate
- minimum date to be displayedpublic de.jaret.util.date.JaretDate getMaxDate()
getMaxDate
in interface TimeBarViewerInterface
public void setMaxDate(de.jaret.util.date.JaretDate maxDate)
setMaxDate
in interface TimeBarViewerInterface
maxDate
- maximum date to be displayedpublic TimeBarSelectionModel getSelectionModel()
getSelectionModel
in interface TimeBarViewerInterface
public void setSelectionModel(TimeBarSelectionModel selectionModel)
setSelectionModel
in interface TimeBarViewerInterface
selectionModel
- selection model to be usedpublic int getFirstRowDisplayed()
getFirstRowDisplayed
in interface TimeBarViewerInterface
public void setFirstRowDisplayed(int rowIdx)
setFirstRowDisplayed
in interface TimeBarViewerInterface
rowIdx
- index of the first row to be displayedpublic void setFirstRowDisplayed(TimeBarRow row)
setFirstRowDisplayed
in interface TimeBarViewerInterface
row
- row that should be the topmost row displayed.public int getFirstRowOffset()
getFirstRowOffset
in interface TimeBarViewerInterface
public void setFirstRowOffset(int offset)
setFirstRowOffset
in interface TimeBarViewerInterface
offset
- pixeloffset for the first rowpublic void setFirstRow(int firstRow, int pixOffset)
setFirstRow
in interface TimeBarViewerInterface
firstRow
- upmost row to be displayedpixOffset
- pixel offsetpublic void setLastRow(int index)
setLastRow
in interface TimeBarViewerInterface
index
- index of the row to be displayed at the bottom of the viewer.public void setLastRow(TimeBarRow row)
setLastRow
in interface TimeBarViewerInterface
row
- the row to be displayed at the bottom of the viewer.public de.jaret.util.date.JaretDate getEndDate()
public void setTimeScalePosition(int timeScalePosition)
public int getTimeScalePosition()
public void setAdjustMinMaxDatesByModel(boolean adjust)
setAdjustMinMaxDatesByModel
in interface TimeBarViewerInterface
adjust
- if set to true min and max dates are set by the modelpublic boolean getAdjustMinMaxDatesByModel()
getAdjustMinMaxDatesByModel
in interface TimeBarViewerInterface
public TimeBarRow rowForY(int y)
public de.jaret.util.date.JaretDate dateForX(int x)
dateForX
in interface TimeBarViewerInterface
x
- in the viewer area
public de.jaret.util.date.JaretDate dateForXY(int x, int y)
dateForXY
in interface TimeBarViewerInterface
x
- x coordinate in the viewer areay
- y coordinate in the viewer area
public void highlightRow(int y)
public void highlightRow(TimeBarRow timeBarRow)
public void deHighlightRow()
public void setDrawRowGrid(boolean drawRowGrid)
setDrawRowGrid
in interface TimeBarViewerInterface
drawRowGrid
- if true, rows will be separated by a thin linepublic boolean getDrawRowGrid()
getDrawRowGrid
in interface TimeBarViewerInterface
public void setRowFilter(TimeBarRowFilter rowFilter)
rowFilter
- TimeBarRowFilter to be used or null to disable row filteringpublic TimeBarRowFilter getRowFilter()
public void setIntervalFilter(TimeBarIntervalFilter intervalFilter)
intervalFilter
- filter to use or null to disable filteringpublic TimeBarIntervalFilter getIntervalFilter()
public void setRowSorter(TimeBarRowSorter rowSorter)
rowSorter
- TimeBarRowSorter to be used or null
to disable sortingpublic TimeBarRowSorter getRowSorter()
null
public void addMarker(TimeBarMarker marker)
addMarker
in interface TimeBarViewerInterface
marker
- marker to addpublic void remMarker(TimeBarMarker marker)
remMarker
in interface TimeBarViewerInterface
marker
- marker to removepublic java.util.List<TimeBarMarker> getMarkers()
getMarkers
in interface TimeBarViewerInterface
public void addMarkers(java.util.List<TimeBarMarker> markers)
addMarkers
in interface TimeBarViewerInterface
markers
- list of timebar markerspublic void setYAxisWidth(int width)
setYAxisWidth
in interface TimeBarViewerInterface
width
- width in pixelpublic int getYAxisWidth()
getYAxisWidth
in interface TimeBarViewerInterface
public void setHierarchyWidth(int width)
setHierarchyWidth
in interface TimeBarViewerInterface
width
- width in pixelspublic int getHierarchyWidth()
getHierarchyWidth
in interface TimeBarViewerInterface
public void setAutoscrollEnabled(boolean enableAutoscroll)
setAutoscrollEnabled
in interface TimeBarViewerInterface
enableAutoscroll
- true for enabling autoscrollpublic boolean isAutoscrollEnabled()
isAutoscrollEnabled
in interface TimeBarViewerInterface
public void addIntervalModificator(IntervalModificator intervalModificator)
addIntervalModificator
in interface TimeBarViewerInterface
intervalModificator
- interval modificator to addpublic void remIntervalModificator(IntervalModificator intervalModificator)
remIntervalModificator
in interface TimeBarViewerInterface
intervalModificator
- interval modificator to removepublic java.lang.String getTimeScaleToolTipText(int x, int y)
getTimeScaleToolTipText
in interface TimeBarViewerInterface
x
- x coordinatey
- y coordinate
null
indicating no tt is availablepublic java.lang.String getHeaderToolTipText(TimeBarRow row, int x, int y)
getHeaderToolTipText
in interface TimeBarViewerInterface
row
- row displayed on the locationx
- x coordinatey
- y coordinate
null
indicating no tt is availablepublic java.lang.String getHierarchyToolTipText(TimeBarNode node, int x, int y)
getHierarchyToolTipText
in interface TimeBarViewerInterface
node
- node displayed at the locationx
- x coordinatey
- y coordinate
null
indicating no tt is availablepublic boolean isInToggleArea(TimeBarNode node, int xx, int yy)
isInToggleArea
in interface TimeBarViewerInterface
node
- the node renderedxx
- x coordinateyy
- y coordinate
public boolean isInHierarchySelectionArea(TimeBarNode node, int xx, int yy)
isInHierarchySelectionArea
in interface TimeBarViewerInterface
node
- the nodexx
- x coordinateyy
- y coordinate
public void setTitle(java.lang.String title)
setTitle
in interface TimeBarViewerInterface
title
- or null
indicating no title.public java.lang.String getTitle()
getTitle
in interface TimeBarViewerInterface
public void displayBodyContextMenu(int x, int y)
displayBodyContextMenu
in interface TimeBarViewerInterface
x
- x coordinate for the menuy
- y coordinate for the menupublic void displayTimeScaleContextMenu(int x, int y)
displayTimeScaleContextMenu
in interface TimeBarViewerInterface
x
- x coordinate for the menuy
- y coordinate for the menupublic void displayIntervalContextMenu(de.jaret.util.date.Interval interval, int x, int y)
displayIntervalContextMenu
in interface TimeBarViewerInterface
interval
- interval clicked onx
- x coordinate for the menuy
- y coordinate for the menupublic void displayHeaderContextMenu(TimeBarRow row, int x, int y)
displayHeaderContextMenu
in interface TimeBarViewerInterface
row
- row clicked onx
- x coordinate for the menuy
- y coordinate for the menupublic void displayHierarchyContextMenu(TimeBarRow row, int x, int y)
displayHierarchyContextMenu
in interface TimeBarViewerInterface
row
- row clicked onx
- x coordinate for the menuy
- y coordinate for the menupublic void displayTitleContextMenu(int x, int y)
displayTitleContextMenu
in interface TimeBarViewerInterface
x
- x coordinate for the menuy
- y coordinate for the menupublic org.eclipse.swt.widgets.Menu getBodyContextMenu()
public void setBodyContextMenu(org.eclipse.swt.widgets.Menu bodyContextMenu)
bodyContextMenu
- The bodyContextMenu to set.public org.eclipse.swt.widgets.Menu getIntervalContextMenu()
public void setIntervalContextMenu(org.eclipse.swt.widgets.Menu intervalContextMenu)
intervalContextMenu
- context menu to setpublic org.eclipse.swt.widgets.Menu getScaleContextMenu()
public void setScaleContextMenu(org.eclipse.swt.widgets.Menu scaleContextMenu)
scaleContextMenu
- The scaleContextMenu to set.public org.eclipse.swt.widgets.Menu getTitleContextMenu()
public void setTitleContextMenu(org.eclipse.swt.widgets.Menu titleContextMenu)
titleContextMenu
- The titleContextMenu to set.public RowContextMenuHandler getHeaderCtxHandler()
public void setHeaderCtxHandler(RowContextMenuHandler headerCtxHandler)
headerCtxHandler
- The headerCtxHandler to set.public RowContextMenuHandler getHierarchyCtxHandler()
public void setHierarchyCtxHandler(RowContextMenuHandler hierarchyCtxHandler)
hierarchyCtxHandler
- The hierarchyCtxHandler to set.public int getKeyboardChangeDelta()
public void setKeyboardChangeDelta(int keyboardChangeDelta)
keyboardChangeDelta
- the keyboardChangeDelta in seconds to setpublic void setFocussedInterval(de.jaret.util.date.Interval interval)
interval
- new focussed intervalpublic void setFocussedInterval(TimeBarRow row, de.jaret.util.date.Interval interval)
row
- row of the interval. May be null
if the row of the interval is unknown.interval
- interval to be focussed.public de.jaret.util.date.Interval getFocussedInterval()
public TimeBarRow getFocussedRow()
public boolean isFocussed(de.jaret.util.date.Interval interval)
interval
- interval to check
public int scrollDateToVisible(de.jaret.util.date.JaretDate date)
scrollDateToVisible
in interface TimeBarViewerInterface
date
- date to be shown.
public void scrollRowToVisible(TimeBarRow row)
scrollRowToVisible
in interface TimeBarViewerInterface
row
- TimeBarRow to be in the visible area.public void scrollIntervalToVisible(TimeBarRow row, de.jaret.util.date.Interval interval)
scrollIntervalToVisible
in interface TimeBarViewerInterface
row
- TimeBarRow of the intervalinterval
- inteval.public void scrollIntervalToVisible(de.jaret.util.date.Interval interval)
interval
- intervalpublic void scrollIntervalToVisible(de.jaret.util.date.Interval interval, double horizontalRatio, double verticalRatio)
interval
- interval to scroll tohorizontalRatio
- ration between 0 and 1.0 (left to right)verticalRatio
- ratio between 0 and 1.0 (top to bottom)public void addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
addSelectionChangedListener
in interface org.eclipse.jface.viewers.ISelectionProvider
public void removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
removeSelectionChangedListener
in interface org.eclipse.jface.viewers.ISelectionProvider
public org.eclipse.jface.viewers.ISelection getSelection()
getSelection
in interface org.eclipse.jface.viewers.ISelectionProvider
public void setSelection(org.eclipse.jface.viewers.ISelection selection)
setSelection
in interface org.eclipse.jface.viewers.ISelectionProvider
public void fireSelectionChanged()
fireSelectionChanged
in interface TimeBarViewerInterface
public JaretTimeBarsActionFactory getActionFactory()
public void setDrawOverlapping(boolean drawOverlapping)
drawOverlapping
- if set to true intervals will be painted on another. If set to false, every interval will
only get a fraction of the space corresponding to the count of overlapping intervals.public boolean getDrawOverlapping()
public java.util.List<de.jaret.util.date.Interval> getIntervalsAt(int x, int y)
x
- x coordinatey
- y coordinate
public org.eclipse.swt.graphics.Color getRowGridColor()
public void setRowGridColor(org.eclipse.swt.graphics.Color rowGridColor)
rowGridColor
- Color to be used for horizontal grid linespublic org.eclipse.swt.graphics.Color getHighlightColor()
public void setHighlightColor(org.eclipse.swt.graphics.Color highlightColor)
highlightRow
and deHighlightRow
.
highlightColor
- color to be used for highlighting rowspublic org.eclipse.swt.graphics.Color getRowSelectColor()
public void setRowSelectColor(org.eclipse.swt.graphics.Color rowSelectColor)
rowSelectColor
- color to be used to select rowspublic int getHighlightAlpha()
public void setHighlightAlpha(int highlightAlpha)
highlightAlpha
- alpha to usepublic int getGhostAlpha()
public void setGhostAlpha(int ghostAlpha)
ghostAlpha
- alpha to usepublic int getSelectionDelta()
getSelectionDelta
in interface TimeBarViewerInterface
public void setSelectionDelta(int selectionDelta)
A selection delta of n means clicks willl have to be on the element or (n-1) pixels away to consider an element hit.
setSelectionDelta
in interface TimeBarViewerInterface
selectionDelta
- max distance for detectionpublic boolean isLineDraggingAllowed()
isLineDraggingAllowed
in interface TimeBarViewerInterface
public void setLineDraggingAllowed(boolean lineDraggingAllowed)
setLineDraggingAllowed
in interface TimeBarViewerInterface
lineDraggingAllowed
- true for enabling the drag possibilitypublic int getYForRow(TimeBarRow row)
getYForRow
in interface TimeBarViewerInterface
row
- row
public TimeBarRow getRowForY(int y)
getRowForY
in interface TimeBarViewerInterface
y
- coordinate
null
public TimeBarRow getRowForXY(int x, int y)
getRowForXY
in interface TimeBarViewerInterface
x
- x coordinatey
- y coordinate
null
public void setGhostIntervals(java.util.List<de.jaret.util.date.Interval> intervals, java.util.List<java.lang.Integer> yCoordinates)
intervals
- list of intervals or null
to delete ghosted intervals.yCoordinates
- list of y offsets for the ghost intervals (maybe null
when deleting ghost
intervalspublic void setGhostInterval(de.jaret.util.date.Interval interval, int y)
interval
- interval or null
to deletey
- y offsetpublic void setGhostRows(java.util.List<TimeBarRow> rows, java.util.List<java.lang.Integer> yCoordinates)
rows
- list of rows or null
to delete ghosted rows.yCoordinates
- list of y offsets for the ghost rows (maybe null
when deleting ghost rowspublic void setGhostRow(TimeBarRow row, int y)
row
- row or null
to deletey
- y offsetpublic void setGhostOrigin(int x, int y)
x
- x coordinatey
- y coordniatepublic boolean isMilliAccuracy()
isMilliAccuracy
in interface TimeBarViewerInterface
public void setMilliAccuracy(boolean milliAccuracy)
setMilliAccuracy
in interface TimeBarViewerInterface
milliAccuracy
- true to use ms accuracypublic TimeBarNode getPpsRow()
getPpsRow
in interface TimeBarViewerInterface
null
if no variable xscale has been defined.public boolean hasVariableXScale()
hasVariableXScale
in interface TimeBarViewerInterface
public void setVariableXScale(boolean state)
setVariableXScale
in interface TimeBarViewerInterface
state
- true if a variable scale should be used.public void doScrollHorizontal(int diff)
doScrollHorizontal
in interface TimeBarViewerInterface
diff
- pixel difference (positive for right scroll)public void doScrollVertical(int diff)
doScrollVertical
in interface TimeBarViewerInterface
diff
- pixel difference (positive for downwards scroll)public boolean getOptimizeScrolling()
getOptimizeScrolling
in interface TimeBarViewerInterface
public void setOptimizeScrolling(boolean optimizeScrolling)
false
since this may cause problems
on some platforms using SWT (Linux/GTK and OSX/intel). Optimized scrolling can not be used together with a
variable xscale.
setOptimizeScrolling
in interface TimeBarViewerInterface
optimizeScrolling
- true for optimized scrollingpublic TimeBarViewerInterface.Orientation getTBOrientation()
getTBOrientation
in interface TimeBarViewerInterface
public void setTBOrientation(TimeBarViewerInterface.Orientation orientation)
setTBOrientation
in interface TimeBarViewerInterface
orientation
- the new orientation for the viewerpublic int getAutoScaleRows()
getAutoScaleRows
in interface TimeBarViewerInterface
public void setAutoScaleRows(int rows)
setAutoScaleRows
in interface TimeBarViewerInterface
rows
- the number of rows or -1 for no special scaling (default)public org.eclipse.swt.graphics.Rectangle getIntervalBounds(de.jaret.util.date.Interval interval)
interval
- interval
public void addTimeBarChangeListener(ITimeBarChangeListener listener)
addTimeBarChangeListener
in interface TimeBarViewerInterface
listener
- listenerpublic void removeTimeBarChangeListener(ITimeBarChangeListener listener)
removeTimeBarChangeListener
in interface TimeBarViewerInterface
listener
- listener to removepublic void addFocussedIntervalListener(FocussedIntervalListener listener)
addFocussedIntervalListener
in interface TimeBarViewerInterface
listener
- listener to be added.public void remFocussedIntervalListener(FocussedIntervalListener listener)
remFocussedIntervalListener
in interface TimeBarViewerInterface
listener
- listener to be removed from the listener list.public ITimeBarViewState getTimeBarViewState()
getTimeBarViewState
in interface TimeBarViewerInterface
public boolean isRowHeightDragginAllowed()
isRowHeightDragginAllowed
in interface TimeBarViewerInterface
true
if enabledpublic void setRowHeightDraggingAllowed(boolean rowHeightDraggingAllowed)
setRowHeightDraggingAllowed
in interface TimeBarViewerInterface
rowHeightDraggingAllowed
- true
to allow interactive dragging of row heightspublic boolean rowLineHit(int x, int y)
rowLineHit
in interface TimeBarViewerInterface
x
- x coordy
- y coord
true
if a row line is hitpublic boolean isInRowAxis(int x, int y)
isInRowAxis
in interface TimeBarViewerInterface
x
- x coordinatey
- y coordinate
true
if the point is in either hierarchy or header areapublic boolean isInDiagram(int x, int y)
isInDiagram
in interface TimeBarViewerInterface
x
- x coordinatey
- y coordinate
true
if the point is in the diagram rectanglepublic boolean getStrictClipTimeCheck()
TimeBarViewerInterface.setStrictClipTimeCheck(boolean)
).
getStrictClipTimeCheck
in interface TimeBarViewerInterface
true
if strict checking is enabledpublic void setStrictClipTimeCheck(boolean strictClipTimeCheck)
setStrictClipTimeCheck
in interface TimeBarViewerInterface
strictClipTimeCheck
- If set to true, intervals are filtered strictly by their interval bounds, disallowing
rendering beyond the bounding box calculated by the interval bounds. Defaults to false resulting in filtering by
the preferred drawing area.public int getSecondsDisplayed()
getSecondsDisplayed
in interface TimeBarViewerInterface
public IOverlapStrategy getOverlapStrategy()
getOverlapStrategy
in interface TimeBarViewerInterface
public void setOverlapStrategy(IOverlapStrategy overlapStrategy)
setOverlapStrategy
in interface TimeBarViewerInterface
overlapStrategy
- the strytegy to be used. May not be null
.public int getScrollLookBackMinutes()
getScrollLookBackMinutes
in interface TimeBarViewerInterface
public void setScrollLookBackMinutes(int scrollLookBackMinutes)
setScrollLookBackMinutes
in interface TimeBarViewerInterface
scrollLookBackMinutes
- time in minutespublic void setScrollLookForwardMinutes(int scrollLookForwardMinutes)
setScrollLookForwardMinutes
in interface TimeBarViewerInterface
scrollLookForwardMinutes
- time in minutespublic int getScrollLookForwardMinutes()
getScrollLookForwardMinutes
in interface TimeBarViewerInterface
public java.lang.String getName()
getName
in interface TimeBarViewerInterface
null
if no name has been setpublic void setName(java.lang.String name)
setName
in interface TimeBarViewerInterface
name
- name of the viewerpublic TimeBarViewerDelegate getDelegate()
getDelegate
in interface TimeBarViewerInterface
public int getAutoscrollDelta()
getAutoscrollDelta
in interface TimeBarViewerInterface
public void setAutoscrollDelta(int autoscrollDelta)
setAutoscrollDelta
in interface TimeBarViewerInterface
autoscrollDelta
- delta in pixelpublic boolean getDragAllSelectedIntervals()
true
all selected intervals will be dragged together with the interval on that the drag happened.
getDragAllSelectedIntervals
in interface TimeBarViewerInterface
public void setDragAllSelectedIntervals(boolean dragAllSelectedIntervals)
true
all selected intervals are dragged when an interval is dragged. The default is false.
setDragAllSelectedIntervals
in interface TimeBarViewerInterface
dragAllSelectedIntervals
- true
to drag all selcted intervalspublic java.util.List<IIntervalRelation> getRelationsForCoord(int x, int y)
getRelationsForCoord
in interface TimeBarViewerInterface
x
- x coordinatey
- y coordinate
null
if no relations can be foundpublic java.lang.String getRelationTooltip(int x, int y)
getRelationTooltip
in interface TimeBarViewerInterface
x
- x coordinatey
- y coordinate
null
public boolean getScrollOnFocus()
getScrollOnFocus
in interface TimeBarViewerInterface
true
if the viewer should scroll to the focussed intervalpublic void setScrollOnFocus(boolean scrollOnFocus)
setScrollOnFocus
in interface TimeBarViewerInterface
scrollOnFocus
- true
for scrolling to the focussed intervalpublic void addSelectionRectListener(ISelectionRectListener listener)
addSelectionRectListener
in interface TimeBarViewerInterface
listener
- listener to be added.public void remSelectionRectListener(ISelectionRectListener listener)
remSelectionRectListener
in interface TimeBarViewerInterface
listener
- listener to be removed from the listener list.public boolean getHideRoot()
getHideRoot
in interface TimeBarViewerInterface
true
if the root is not shownpublic void setHideRoot(boolean hideRoot)
setHideRoot
in interface TimeBarViewerInterface
hideRoot
- true
if the root node should be hiddenpublic boolean getMarkerDraggingInDiagramArea()
getMarkerDraggingInDiagramArea
in interface TimeBarViewerInterface
true
if marker dragging in the diagram area is allowedpublic void setMarkerDraggingInDiagramArea(boolean allowed)
setMarkerDraggingInDiagramArea
in interface TimeBarViewerInterface
allowed
- true
for allowing marker drag in the diagram area.public void clearRegionRect()
clearRegionRect
in interface TimeBarViewerInterface
public TBRect getRegionRect()
getRegionRect
in interface TimeBarViewerInterface
null
public boolean getRegionRectEnable()
getRegionRectEnable
in interface TimeBarViewerInterface
public void setRegionRectEnable(boolean enabled)
setRegionRectEnable
in interface TimeBarViewerInterface
enabled
- true
enablingpublic boolean getUseUniformHeight()
getUseUniformHeight
in interface TimeBarViewerInterface
true
if all intervals in a non overlapping drawn row should use the same height/widthpublic void setUseUniformHeight(boolean useUniformHeight)
setUseUniformHeight
in interface TimeBarViewerInterface
useUniformHeight
- true
for uniform heights/widthspublic void setSecondsDisplayed(int seconds, boolean center)
setSecondsDisplayed
in interface TimeBarViewerInterface
seconds
- number of seconds that will be displayed on the x axiscenter
- if set to true
the center date will be fixed while scalingpublic void setSecondsDisplayed(int seconds, de.jaret.util.date.JaretDate centerDate)
setSecondsDisplayed
in interface TimeBarViewerInterface
seconds
- number of seconds that will be displayed on the x axiscenterDate
- date that will be fixed while scalingpublic boolean isDisplayed(de.jaret.util.date.JaretDate date)
isDisplayed
in interface TimeBarViewerInterface
date
- dat eto check
true
if the date is currently displayedpublic void setInitialDisplayRange(de.jaret.util.date.JaretDate startDate, int secondsDisplayed)
setInitialDisplayRange
in interface TimeBarViewerInterface
startDate
- start datesecondsDisplayed
- seconds to be displayed in the viewerpublic de.jaret.util.misc.Pair<TimeBarRow,de.jaret.util.date.JaretDate> getPopUpInformation()
getPopUpInformation
in interface TimeBarViewerInterface
null
if no click has been
recorded.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |