public abstract static class GralCurveView.GraphicImplAccess extends GralWidget.ImplAccess implements GralWidgImplAccess_ifc
GralCurveView.listTracks
Modifier and Type | Field and Description |
---|---|
protected boolean |
bMouseDownCursor1
During mouse move, internal use.
|
protected boolean |
bMouseDownCursor2
During mouse move, internal use.
|
protected boolean |
bPaintAllCmd
Set to true to force a paint all.
|
protected boolean |
bRedrawAll |
protected static int |
cmdSetCursor |
protected GralColor |
colorBackGral
Origin point from 0.0 to 1.0 for the zoomed area.
|
private int |
ctLastSelected |
protected boolean |
focusChanged |
protected GralColor |
gridColorGral |
protected GralColor |
gridColorGralStrong |
protected float |
gridDistanceX
Distance of percent of y-view for one vertical grid line (strong or not strong).
|
protected int |
gridDistanceY
Distance of nrofValues for one vertical grid line (strong or not strong).
|
protected int |
gridStrongPeriodX
period of strong lines.
|
protected int |
gridStrongPeriodY
period of strong lines.
|
protected int |
ixDataCursor1
Position of cursor in the data.
|
protected int |
ixDataCursor2
Position of cursor in the data.
|
protected int |
ixDataDraw
Index of the last drawn values.
|
protected int[] |
ixDataShown
The index in data for each shown pixel, from right to left int-wrapping
|
protected int |
ixDataShowRight
The index to show values, it increments with ixWrValues
if bFreeze is false
|
protected int[] |
lastPositionX
last x-positions for paint.
|
protected java.util.concurrent.atomic.AtomicInteger |
nrofDataShift
Number of iData-indices, which are shifted in the
#values . |
protected float |
nrofDataShiftFracPart |
protected int[] |
nrofPixel4data
The number of pixel for the current data point from the current pixel to left
|
protected int |
nrofValuesLessViewPart
The actual number of values which are not shown because its time difference is too small
to show in graphic as new point.
|
protected GralCurveView.PixelOrganisation |
pixelOrg |
protected boolean |
redrawBecauseNewData
Set true if
#redrawData() is called. |
protected int |
timeCaryOverNewValue
The cary over of time which is not used for the current point.
|
protected GralCurveView.Track |
trackSelected
The track which is selected by the last setCursor.
|
protected GralCurveView |
widgg |
protected int |
xpCursor1
Pixel from right for the cursor1 and cursor2.
|
protected int |
xpCursor1New
New Pixel position for a cursor1 and cursor2.
|
protected int |
xpCursor2
Pixel from right for the cursor1 and cursor2.
|
protected int |
xpCursor2New
New Pixel position for a cursor1 and cursor2.
|
protected float |
xViewLastF
last point in x where values were drawn.
|
protected int |
XXXnrofValuesShow
Number of values to show in graphic.
|
bRedrawOnlyDynamics, chgBitsDerived, chgColorBack, chgColorLine, chgColorText, chgCurrTab, chgEditable, chgFloat, chgFocus, chgFont, chgIntg, chgInvisible, chgObjects, chgPos, chgText, chgVisible, chgVisibleInfo, mngImpl, pixBounds, wdgimpl
version
Modifier | Constructor and Description |
---|---|
protected |
GraphicImplAccess(GralCurveView outer) |
Modifier and Type | Method and Description |
---|---|
protected void |
cursorUnzoom()
Unzooms between the given vertical cursors.
|
protected int |
getIxDataFromPixelRight(int ixPixelFromRight)
Gets the index in data with given pixel position in the graphic.
|
protected void |
mouseSelectCursur(int xMousePixel,
int yMousePixel) |
protected void |
moveCursor(int xMousePixel) |
protected int |
prepareIndicesDataForDrawing(int ixDataRight,
int xViewPart,
int timePart,
boolean bPaintAll)
prepares indices of data.
|
protected boolean |
selectTrack(int xpos,
int ypos,
int xsize,
int ysize)
Determines and switches a curve to select by mouse click.
|
protected void |
setCursors(int xPos) |
protected void |
setPaintAllCmd()
Forces that the next repaint paints the whole graphic.
|
protected void |
stopAndViewToPast()
Shifts the curve presentation to the past.
|
protected void |
viewToPresentOrGoIrRefresh()
Shifts the curve presentation to the present (actual values).
|
protected void |
zoomBetweenCursors()
Zooms between the given vertical cursors.
|
protected void |
zoomToPast()
Zooms the curve presentation with same index right with a greater time spread.
|
protected void |
zoomToPresent()
Zooms the curve presentation with same index right with a lesser time spread.
|
acknChanged, actionShow, dyda, getActionChange, getChanged, getWidgetImplementation, gralMng, gralWidgetFromImplData, redrawOnlyDynamics, setDragEnable, setDropEnable, setPosBounds, setTextChanged, setVisibleState, XXXfocusGained
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getPixelPositionSize, getWidgetImplementation, redrawGthread, removeWidgetImplementation, setBoundsPixel, setFocusGThread, setPosBounds, setVisibleGThread, updateValuesForAction
protected final GralCurveView widgg
protected final GralCurveView.PixelOrganisation pixelOrg
protected GralCurveView.Track trackSelected
protected final int[] nrofPixel4data
ixDataShown
.protected final int[] ixDataShown
(ixData >> shIxiData) & mIxiData
to calculate the real data index.
the used length is the number of pixel. 2000 are enough for a large representation.
This array is filled newly whenever any draw or paint action is done. It is prepared in the routine
#prepareIndicesDataForDrawing(int, int, int)
and used in the drawTrack routine of the implementation level.
The field contains old indices if the size of drawing is less then the size of window.protected int ixDataShowRight
protected final int[] lastPositionX
protected int XXXnrofValuesShow
protected int timeCaryOverNewValue
protected int ixDataDraw
protected int nrofValuesLessViewPart
protected int xpCursor1
protected int xpCursor2
protected int xpCursor1New
protected int xpCursor2New
protected boolean bMouseDownCursor1
protected boolean bMouseDownCursor2
protected static final int cmdSetCursor
protected int ixDataCursor1
protected int ixDataCursor2
protected int gridDistanceY
protected float gridDistanceX
protected int gridStrongPeriodX
protected int gridStrongPeriodY
protected GralColor gridColorGral
protected GralColor gridColorGralStrong
protected GralColor colorBackGral
protected boolean focusChanged
protected float xViewLastF
protected java.util.concurrent.atomic.AtomicInteger nrofDataShift
#values
.
This number have to be shifted in the pixel area if a draw-all is not requested.
This field is set to 0 if the draw action is done.protected float nrofDataShiftFracPart
protected boolean redrawBecauseNewData
#redrawData()
is called. Then only the area for new data is drawn
in the #drawBackground(GC, int, int, int, int)
-routine.protected boolean bRedrawAll
private int ctLastSelected
protected boolean bPaintAllCmd
protected GraphicImplAccess(GralCurveView outer)
protected void setPaintAllCmd()
protected int getIxDataFromPixelRight(int ixPixelFromRight)
ixDataShown
.ixw
- pixel position countered from right side.protected boolean selectTrack(int xpos, int ypos, int xsize, int ysize)
getIxDataFromPixelRight(int)
.
Any track is checked: The value (float) is read, the scaling is used to calculate the y-Position.
Then the distance between mouse and track is calculated.xpos
- Mouse position on click in pixelypos
- xsize
- size of the curve view widget.ysize
- protected void setCursors(int xPos)
protected void moveCursor(int xMousePixel)
protected void zoomToPresent()
protected void zoomToPast()
protected void zoomBetweenCursors()
protected void cursorUnzoom()
ixDataShowRight
will be greater than GralCurveView.ixDataWr
, then the presentation will be adjusted to the current
right GralCurveView.ixDataWr
and the cursor positions are changed adequate.protected void viewToPresentOrGoIrRefresh()
protected void stopAndViewToPast()
protected void mouseSelectCursur(int xMousePixel, int yMousePixel)
protected int prepareIndicesDataForDrawing(int ixDataRight, int xViewPart, int timePart, boolean bPaintAll)
ixDataShown
array will be filled with the indices to the data for each x pixel from right to left.
If there are more as one data record for one pixel, the step width of ixData is >1,
If there are more as one x-pixel for one data record, the same index is written for that pixel
timeValues
to get the timestamp of the values starting from param ixDataRight
for the right pixel of view. The ixDataRight will be decremented. It is a wrapping index with
step width of GralCurveView.adIxData
. If the timestamp of any next index is greater than the last one,
it is a indication that any newer data are reached after wrapping. Then the preparation stops.
ixDataShown
with indices to data per x pixel point.
If there are the same data for more as one pixel (zoomed near), then ixDataShown
will contain
the same index. The presentation can decide whether it should be shown with the same level (stepwise)
or with any linear approximationixDataRight
- Index in data array for the right point.
It is a index which wraps around full integer range, see GralCurveView.adIxData
.xViewPart
- width of the spread to prepare in pixel