org.vishia.gral.ifc

## Interface GralCurveViewTrack_ifc

- All Superinterfaces:
    GralSetValue_ifc
  All Known Implementing Classes:
    GralCurveView.Track

      public interface GralCurveViewTrack_ifc
      extends GralSetValue_ifc

  This interface describes a track (one curve) of a curve view.
  See Also:
    `org.vishia.gral.widget.GralCurveView,`, `GralCurveView_ifc`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `version` Version, history and license.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getDataPath()` Changes the data path
    `GralColor` | `getLineColor()` Returns the set color for this line.
    `int` | `getLinePercent()` Returns the position of the 0-line as value from 0 to 100 for this track.
    `float` | `getOffset()` Returns the value which is shown at the 0-line.
    `float` | `getScale7div()` Returns the scaling per division.
    `float` | `getValueCursorLeft()`
    `float` | `getValueCursorRight()`
    `float` | `getValueLast()`
    `float` | `getValueMax()`
    `float` | `getValueMin()`
    `int` | `getVisible()` Returns the state to show. 0=hidden, don't show, but the values are stored. 1= show normal. 2= show lifted out (selected).
    `void` | `groupTrackScale(GralCurveViewTrack_ifc from)` Refers the same instance `GralCurveView.TrackScale` with the other track.
    `boolean` | `isGroupedTrackScale(GralCurveViewTrack_ifc with)` Checks whether the scaling is shared with the other given thread
    `void` | `setDataPath(java.lang.String path)` Sets the data path.
    `void` | `setLineProperties(GralColor color, int width, int pattern)` Sets the properties for this track.
    `void` | `setTrackScale(float scale7div, float offset, int line0)` Change the scaling of a track.
    `void` | `setVisible(int mode)` Set the state to show. 0=hidden, don't show, but the values are stored. 1= show normal. 2= show lifted out (selected).
    `void` | `ungroupTrackScale()` Creates an own instance for the scaling values.

    - ### Methods inherited from interface org.vishia.gral.ifc.GralSetValue_ifc

      `getContentInfo, getDataIx, setContentInfo, setDataIx, setLongValue, setMinMax, setText, setValue, setValue`

- - ### Field Detail

    - #### version

          static final int version

      Version, history and license.
      - 2013-05-14 Hartmut new: `getValueCursorLeft()`
      - 2013-05-14 Hartmut new: `#getIxTrack()`
      - 2012-06-08 Hartmut new: `getDataPath()`, used to write settings.
      - 2012-06-08 Hartmut chg: `#setLineProperties(GralColor, int)` instead setLineColor()
      - 2012-04-01 Hartmut new: `setDataPath(String)`
      - 2012-03-17 Hartmut created as interface to `GralCurveView.Track`. Approach: Accessibility. The class Track is protected. Its details should only be used for implementation and inside `GralCurveView`
      Copyright/Copyleft: For this source the LGPL Lesser General Public License, published by the Free Software Foundation is valid. It means:
      1. You can use this source without any restriction for any desired purpose.
      2. You can redistribute copies of this source to everybody.
      3. Every user of this source, also the user of redistribute copies with or without payment, must accept this license for further using.
      4. But the LPGL is not appropriate for a whole software product, if this source is only a part of them. It means, the user must publish this part of source, but doesn't need to publish the whole source of the own product.
      5. You can study and modify (improve) this source for own using or for redistribution, but you have to license the modified sources likewise under this LGPL Lesser General Public License. You mustn't delete this Copyright/Copyleft inscription in this source file.
      If you intent to use this source without publishing its usage, you can get a second license subscribing a special contract with the author.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getScale7div

          float getScale7div()

      Returns the scaling per division. One division is 1/10 of full y presentation, like usual on oscilloscopes.

    - #### getOffset

          float getOffset()

      Returns the value which is shown at the 0-line.

    - #### getLinePercent

          int getLinePercent()

      Returns the position of the 0-line as value from 0 to 100 for this track.

    - #### getLineColor

          GralColor getLineColor()

      Returns the set color for this line.

    - #### getDataPath

          java.lang.String getDataPath()

      Description copied from interface: `GralSetValue_ifc`
      Changes the data path
      Specified by:
        `getDataPath` in interface `GralSetValue_ifc`
      Returns:
        the last one.

    - #### setTrackScale

          void setTrackScale(float scale7div,
                             float offset,
                             int line0)

      Change the scaling of a track.
      Parameters:
        `trackNr` - Number of the track in order of creation, 0 ist the first.
        `scale7div` - value per division
        `offset` - value, which is shown at line0
        `line0` - percent of 0-line in graphic.

    - #### groupTrackScale

          void groupTrackScale(GralCurveViewTrack_ifc from)

      Refers the same instance `GralCurveView.TrackScale` with the other track. All `setTrackScale(float, float, int)` with tracks which are shared influences one another.
      Parameters:
        `from` - one of the track of a scale group.

    - #### isGroupedTrackScale

          boolean isGroupedTrackScale(GralCurveViewTrack_ifc with)

      Checks whether the scaling is shared with the other given thread
      Parameters:
        `with` - The other track.
      Returns:
        true if it refers the same instance of scaling values.

    - #### ungroupTrackScale

          void ungroupTrackScale()

      Creates an own instance for the scaling values.

    - #### setLineProperties

          void setLineProperties(GralColor color,
                                 int width,
                                 int pattern)

      Sets the properties for this track.
      Parameters:
        `color` - The color of line, null: no change
        `width` - The thickness of the line. 0: no change
        `pattern` - a Pattern of the line. Yet the pattern is not used (TODO). Value 0 doesn't change the current one.

    - #### setVisible

          void setVisible(int mode)

      Set the state to show. 0=hidden, don't show, but the values are stored. 1= show normal. 2= show lifted out (selected).

    - #### getVisible

          int getVisible()

      Returns the state to show. 0=hidden, don't show, but the values are stored. 1= show normal. 2= show lifted out (selected).

    - #### setDataPath

          void setDataPath(java.lang.String path)

      Description copied from interface: `GralSetValue_ifc`
      Sets the data path. It is a String in application context.
      Specified by:
        `setDataPath` in interface `GralSetValue_ifc`

    - #### getValueCursorLeft

          float getValueCursorLeft()

    - #### getValueCursorRight

          float getValueCursorRight()

    - #### getValueLast

          float getValueLast()

    - #### getValueMin

          float getValueMin()

    - #### getValueMax

          float getValueMax()