Package org.eclipse.gef.fx.swt.controls

## Class FXAdvancedLinearGradientPicker

- 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.gef.fx.swt.controls.FXAdvancedLinearGradientPicker

All Implemented Interfaces:
  `Drawable`

    public class FXAdvancedLinearGradientPicker
    extends Composite

A picker for multi-stop `LinearGradient`s.

### Field Summary

Fields
`static java.lang.String` `ADVANCED_LINEAR_GRADIENT_PROPERTY` Property name used in change events related to `advancedLinearGradientProperty()`

### Fields inherited from class org.eclipse.swt.widgets.Control

`view`

### Constructor Summary

Constructors
`FXAdvancedLinearGradientPicker​(Composite parent, javafx.scene.paint.Color color1, javafx.scene.paint.Color color2, javafx.scene.paint.Color color3)` Constructs a new `FXAdvancedLinearGradientPicker`.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`javafx.beans.property.Property<javafx.scene.paint.LinearGradient>` `advancedLinearGradientProperty()` Returns a writable `Property` for the advanced gradient.
`static javafx.scene.paint.LinearGradient` `createAdvancedLinearGradient​(javafx.scene.paint.Color c1, javafx.scene.paint.Color c2, javafx.scene.paint.Color c3)` Creates an "advanced" linear color gradient with 3 stops from the given colors.
`protected void` `createStop​(double offset)` Creates a new spot for the given offset.
`javafx.scene.paint.LinearGradient` `getAdvancedLinearGradient()` Returns the currently selected advanced gradient.
`protected double` `getNextOffset​(int stopIndex)` Computes the maximum offset for the given stop index.
`protected double` `getPrevOffset​(int stopIndex)` Computes the minimum offset for the given stop index.
`protected java.util.List<javafx.scene.paint.Stop>` `getStops()` Returns a list of the `Stop`s of the currently selected advanced gradient.
`static boolean` `isAdvancedLinearGradient​(javafx.scene.paint.Paint paint)` Returns `true` if the given `Paint` is considered to be an "advanced" gradient.
`protected void` `removeStop​(int index)` Removes the spot specified by the given index.
`void` `setAdvancedGradient​(javafx.scene.paint.LinearGradient advancedLinearGradient)` Sets the gradient managed by this gradient picker to the given value.
`protected void` `updateDirectionLine()` Updates the direction line to display the current direction (specified by directionX and directionY).
`protected void` `updateGradient​(java.util.List<javafx.scene.paint.Stop> newStops)` Changes the currently selected advanced gradient to a new linear gradient that is constructed from the given list of `Stop`s.
`protected void` `updateStop​(int index, double offset, javafx.scene.paint.Color color)` Sets the offset and color of the spot specified by the given index to the given values.

### Methods inherited from class org.eclipse.swt.widgets.Composite

`changed, checkSubclass, computeSize, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, redraw, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList, toString`

### Methods inherited from class org.eclipse.swt.widgets.Scrollable

`computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar`

### Methods inherited from class org.eclipse.swt.widgets.Control

`addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update`

### Methods inherited from class org.eclipse.swt.widgets.Widget

`addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setData`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.swt.graphics.Drawable

`isAutoScalable`

### Field Detail

#### ADVANCED_LINEAR_GRADIENT_PROPERTY

    public static final java.lang.String ADVANCED_LINEAR_GRADIENT_PROPERTY

Property name used in change events related to `advancedLinearGradientProperty()`

See Also:
  Constant Field Values

### Constructor Detail

#### FXAdvancedLinearGradientPicker

    public FXAdvancedLinearGradientPicker​(Composite parent,
                                          javafx.scene.paint.Color color1,
                                          javafx.scene.paint.Color color2,
                                          javafx.scene.paint.Color color3)

Constructs a new `FXAdvancedLinearGradientPicker`.

Parameters:
  `parent` - The parent `Composite`.
  `color1` - The first color of the initial three-stop `LinearGradient`.
  `color2` - The second color of the initial three-stop `LinearGradient`.
  `color3` - The third color of the initial three-stop `LinearGradient`.

### Method Detail

#### createAdvancedLinearGradient

    public static javafx.scene.paint.LinearGradient createAdvancedLinearGradient​(javafx.scene.paint.Color c1,
                                                                                 javafx.scene.paint.Color c2,
                                                                                 javafx.scene.paint.Color c3)

Creates an "advanced" linear color gradient with 3 stops from the given colors.

Parameters:
  `c1` - The start color.
  `c2` - The middle color (t = 0.5).
  `c3` - The end color.
Returns:
  An "advanced" `LinearGradient` from the given colors.

#### isAdvancedLinearGradient

    public static boolean isAdvancedLinearGradient​(javafx.scene.paint.Paint paint)

Returns `true` if the given `Paint` is considered to be an "advanced" gradient. Otherwise returns `false`. An advanced gradient can either be a linear gradient with at least 3 stops, or any radial gradient.

Parameters:
  `paint` - The `Paint` in question.
Returns:
  `true` if the given `Paint` is considered to be an "advanced" gradient, othwerise `false`.

#### advancedLinearGradientProperty

    public javafx.beans.property.Property<javafx.scene.paint.LinearGradient> advancedLinearGradientProperty()

Returns a writable `Property` for the advanced gradient.

Returns:
  A writable `Property`.

#### createStop

    protected void createStop​(double offset)

Creates a new spot for the given offset.

Parameters:
  `offset` - The offset for the new spot.

#### getAdvancedLinearGradient

    public javafx.scene.paint.LinearGradient getAdvancedLinearGradient()

Returns the currently selected advanced gradient.

Returns:
  The currently selected advanced gradient.

#### getNextOffset

    protected double getNextOffset​(int stopIndex)

Computes the maximum offset for the given stop index.

Parameters:
  `stopIndex` - The index of the stop for which to compute the next offset.
Returns:
  The maximum offset for the given stop index.

#### getPrevOffset

    protected double getPrevOffset​(int stopIndex)

Computes the minimum offset for the given stop index.

Parameters:
  `stopIndex` - The index of the stop for which to compute the previous offset.
Returns:
  The minimum offset for the given stop index.

#### getStops

    protected java.util.List<javafx.scene.paint.Stop> getStops()

Returns a list of the `Stop`s of the currently selected advanced gradient.

Returns:
  A list of the `Stop`s of the currently selected advanced gradient.

#### removeStop

    protected void removeStop​(int index)

Removes the spot specified by the given index.

Parameters:
  `index` - The spot index.

#### setAdvancedGradient

    public void setAdvancedGradient​(javafx.scene.paint.LinearGradient advancedLinearGradient)

Sets the gradient managed by this gradient picker to the given value. Does also update the UI so that the new gradient can be manipulated.

Parameters:
  `advancedLinearGradient` - The new gradient.

#### updateDirectionLine

    protected void updateDirectionLine()

Updates the direction line to display the current direction (specified by directionX and directionY).

#### updateGradient

    protected void updateGradient​(java.util.List<javafx.scene.paint.Stop> newStops)

Changes the currently selected advanced gradient to a new linear gradient that is constructed from the given list of `Stop`s.

Parameters:
  `newStops` - The list of `Stop`s from which the newly selected advanced gradient is constructed.

#### updateStop

    protected void updateStop​(int index,
                              double offset,
                              javafx.scene.paint.Color color)

Sets the offset and color of the spot specified by the given index to the given values.

Parameters:
  `index` - The index of the spot.
  `offset` - The new offset for that spot.
  `color` - The new color for that spot.