Class RectangleGroupStrategy

java.lang.Object
org.eclipse.nebula.widgets.pgroup.AbstractGroupStrategy
org.eclipse.nebula.widgets.pgroup.RectangleGroupStrategy

public class RectangleGroupStrategy
extends AbstractGroupStrategy
RectangleGroupStrategy is a very flexible painting strategy that displays a (rounded) rectangle around the PGroup's body.
Since:
1.0
  • Constructor Summary

    Constructors 
    Constructor Description
    RectangleGroupStrategy()
    Deprecated.
    use constructor with PGroup element instead
    RectangleGroupStrategy​(PGroup g)
    Constructs a RectangleGroupStrategy with the given toggle and style.
  • Method Summary

    Modifier and Type Method Description
    org.eclipse.swt.graphics.Rectangle computeTrim​(int x, int y, int width, int height)  
    void dispose()  
    org.eclipse.swt.graphics.Color getBorderColor()
    Returns the color of the one pixel border drawn around the body when the group is expanded.
    org.eclipse.swt.graphics.Rectangle getClientArea()  
    protected org.eclipse.swt.graphics.Rectangle getTextBounds()  
    org.eclipse.swt.graphics.Rectangle getToolItemArea()  
    void initialize()  
    boolean isToggleLocation​(int x, int y)  
    void paint​(org.eclipse.swt.graphics.GC gc)
    Paints the actual group widget.
    void setBackground​(org.eclipse.swt.graphics.Color[] colors, int[] percents)
    Specify a gradient of colours to be drawn in the background of the group.
    void setBackground​(org.eclipse.swt.graphics.Color[] colors, int[] percents, boolean vertical)
    Specify a gradient of colours to be drawn in the background of the group.
    void setBorderColor​(org.eclipse.swt.graphics.Color borderColor)
    Sets the border color.
    void update()  

    Methods inherited from class org.eclipse.nebula.widgets.pgroup.AbstractGroupStrategy

    getGroup

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RectangleGroupStrategy

      public RectangleGroupStrategy()
      Deprecated.
      use constructor with PGroup element instead
    • RectangleGroupStrategy

      public RectangleGroupStrategy​(PGroup g)
      Constructs a RectangleGroupStrategy with the given toggle and style.
      Parameters:
      toggleStrategy -
      style -
  • Method Details

    • initialize

      public void initialize()
      Overrides:
      initialize in class AbstractGroupStrategy
      See Also:
      AbstractGroupStrategy.initialize()
    • paint

      public void paint​(org.eclipse.swt.graphics.GC gc)
      Description copied from class: AbstractGroupStrategy
      Paints the actual group widget. This method is to be implemented by extending classes.
      Specified by:
      paint in class AbstractGroupStrategy
      See Also:
      AbstractGroupStrategy.paint(org.eclipse.swt.graphics.GC)
    • getToolItemArea

      public org.eclipse.swt.graphics.Rectangle getToolItemArea()
      Overrides:
      getToolItemArea in class AbstractGroupStrategy
      Returns:
      the area where toolitems can be drawn
    • isToggleLocation

      public boolean isToggleLocation​(int x, int y)
      Overrides:
      isToggleLocation in class AbstractGroupStrategy
      Returns:
      See Also:
      AbstractGroupStrategy.isToggleLocation(int, int)
    • getTextBounds

      protected org.eclipse.swt.graphics.Rectangle getTextBounds()
    • getClientArea

      public org.eclipse.swt.graphics.Rectangle getClientArea()
      Specified by:
      getClientArea in class AbstractGroupStrategy
      See Also:
      AbstractGroupStrategy.getClientArea()
    • computeTrim

      public org.eclipse.swt.graphics.Rectangle computeTrim​(int x, int y, int width, int height)
      Specified by:
      computeTrim in class AbstractGroupStrategy
      See Also:
      AbstractGroupStrategy.computeTrim(int, int, int, int)
    • dispose

      public void dispose()
      Specified by:
      dispose in class AbstractGroupStrategy
      See Also:
      AbstractGroupStrategy.dispose()
    • setBackground

      public void setBackground​(org.eclipse.swt.graphics.Color[] colors, int[] percents)
      Specify a gradient of colours to be drawn in the background of the group.

      For example, to draw a gradient that varies from dark blue to blue and then to white and stays white for the right half of the label, use the following call to setBackground:

       setBackground(new Color[] {display.getSystemColor(SWT.COLOR_DARK_BLUE),
                                  display.getSystemColor(SWT.COLOR_BLUE),
                                  display.getSystemColor(SWT.COLOR_WHITE),
                                  display.getSystemColor(SWT.COLOR_WHITE) }, new int[] {25, 50, 100 });
       
      Parameters:
      colors - an array of Color that specifies the colors to appear in the gradient in order of appearance from left to right; The value null clears the background gradient; the value null can be used inside the array of Color to specify the background color.
      percents - an array of integers between 0 and 100 specifying the percent of the width of the widget at which the color should change; the size of the percents array must be one less than the size of the colors array.
    • setBackground

      public void setBackground​(org.eclipse.swt.graphics.Color[] colors, int[] percents, boolean vertical)
      Specify a gradient of colours to be drawn in the background of the group.

      For example, to draw a gradient that varies from dark blue to white in the vertical, direction use the following call to setBackground:

       setBackground(new Color[] {display.getSystemColor(SWT.COLOR_DARK_BLUE),
                                  display.getSystemColor(SWT.COLOR_WHITE) }, new int[] {100 }, true);
       
      Parameters:
      colors - an array of Color that specifies the colors to appear in the gradient in order of appearance from left/top to right/bottom; The value null clears the background gradient; the value null can be used inside the array of Color to specify the background color.
      percents - an array of integers between 0 and 100 specifying the percent of the width/height of the widget at which the color should change; the size of the percents array must be one less than the size of the colors array.
      vertical - indicate the direction of the gradient. True is vertical and false is horizontal.
    • getBorderColor

      public org.eclipse.swt.graphics.Color getBorderColor()
      Returns the color of the one pixel border drawn around the body when the group is expanded.
      Returns:
      the border color
    • setBorderColor

      public void setBorderColor​(org.eclipse.swt.graphics.Color borderColor)
      Sets the border color. The border is the one pixel border drawn around the body when the group is expanded.
      Parameters:
      borderColor - the border color, or null for no border
    • update

      public void update()
      Specified by:
      update in class AbstractGroupStrategy