Class Win7GridColumnHeaderRenderer
- java.lang.Object
-
- org.eclipse.nebula.widgets.grid.AbstractRenderer
-
- org.eclipse.nebula.widgets.grid.AbstractInternalWidget
-
- org.eclipse.nebula.widgets.grid.GridHeaderRenderer
-
- org.eclipse.nebula.widgets.grid.internal.DefaultColumnHeaderRenderer
-
- org.eclipse.nebula.widgets.grid.internal.win7.Win7GridColumnHeaderRenderer
-
- All Implemented Interfaces:
IInternalWidget
,IRenderer
public class Win7GridColumnHeaderRenderer extends DefaultColumnHeaderRenderer
Column header renderer which emulates a default Win7 L&F. This implementation does not take into account any theme(s) applied to the OS and only used a pre-defined set of normalColors that seem to "mostly" match the default theme of Win7 normalColors.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) int
arrowMargin
private SortArrowRenderer
arrowRenderer
(package private) int
bottomMargin
(package private) int
imageSpacing
(package private) int
leftMargin
private Win7PaletteProvider
palette
(package private) int
rightMargin
private org.eclipse.swt.graphics.TextLayout
textLayout
(package private) int
topMargin
private int
truncationStyle
-
Fields inherited from interface org.eclipse.nebula.widgets.grid.IInternalWidget
LeftMouseButtonDown, MouseMove
-
-
Constructor Summary
Constructors Constructor Description Win7GridColumnHeaderRenderer(Win7PaletteProvider palette)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private org.eclipse.swt.graphics.Point
computeControlSize(GridColumn column)
protected static void
drawColumnHeader(org.eclipse.swt.graphics.GC graphics, org.eclipse.swt.graphics.Rectangle bounds, org.eclipse.swt.graphics.Color[] colors)
Draw the column header based on the given colorsprotected static void
drawColumnSelectedTopShadow(org.eclipse.swt.graphics.GC graphics, org.eclipse.swt.graphics.Rectangle bounds, org.eclipse.swt.graphics.Color[] colors)
Draw an additional shadow for the selected column stateprivate void
getTextLayout(org.eclipse.swt.graphics.GC gc, GridColumn column)
int
getTruncationStyle()
Get the truncation stylevoid
paint(org.eclipse.swt.graphics.GC gc, java.lang.Object value)
Paints the visual representation of the given value on the given GC.void
setDisplay(org.eclipse.swt.widgets.Display d)
Set the display for the renderervoid
setTruncationStyle(int truncationStyle)
Set the truncation style to use when cell content is too large.-
Methods inherited from class org.eclipse.nebula.widgets.grid.internal.DefaultColumnHeaderRenderer
computeSize, getControlBounds, getTextBounds, notify
-
Methods inherited from class org.eclipse.nebula.widgets.grid.GridHeaderRenderer
getHorizontalAlignment, getToggleBounds, isWordWrap, setHorizontalAlignment, setWordWrap
-
Methods inherited from class org.eclipse.nebula.widgets.grid.AbstractInternalWidget
getHoverDetail, setHoverDetail
-
Methods inherited from class org.eclipse.nebula.widgets.grid.AbstractRenderer
getBounds, getDisplay, getSize, isExpanded, isFocus, isHover, isMouseDown, isSelected, setBounds, setBounds, setExpanded, setFocus, setHover, setLocation, setLocation, setMouseDown, setSelected, setSize, setSize
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.nebula.widgets.grid.IRenderer
setBounds, setBounds, setExpanded, setFocus, setHover, setLocation, setLocation, setMouseDown, setSelected, setSize, setSize
-
-
-
-
Field Detail
-
leftMargin
int leftMargin
-
rightMargin
int rightMargin
-
topMargin
int topMargin
-
bottomMargin
int bottomMargin
-
arrowMargin
int arrowMargin
-
imageSpacing
int imageSpacing
-
arrowRenderer
private SortArrowRenderer arrowRenderer
-
textLayout
private org.eclipse.swt.graphics.TextLayout textLayout
-
palette
private Win7PaletteProvider palette
-
truncationStyle
private int truncationStyle
-
-
Constructor Detail
-
Win7GridColumnHeaderRenderer
public Win7GridColumnHeaderRenderer(Win7PaletteProvider palette)
- Parameters:
palette
-
-
-
Method Detail
-
setDisplay
public void setDisplay(org.eclipse.swt.widgets.Display d)
Set the display for the renderer- Specified by:
setDisplay
in interfaceIRenderer
- Overrides:
setDisplay
in classDefaultColumnHeaderRenderer
- Parameters:
d
- Display
-
paint
public void paint(org.eclipse.swt.graphics.GC gc, java.lang.Object value)
Paints the visual representation of the given value on the given GC. The actual class of the value object is determined by the use of the implementing class.Implementors need to respect the bounds values that may have been specified. The bounds values may affect the x and y values for all drawing operations as well as the width and heights. Implementors may use a
Transform
to translate the coordinates of all the drawing operations, otherwise they will need to offset each draw.- Specified by:
paint
in interfaceIRenderer
- Overrides:
paint
in classDefaultColumnHeaderRenderer
- Parameters:
gc
- GC to paint withvalue
- the value being painted
-
drawColumnSelectedTopShadow
protected static void drawColumnSelectedTopShadow(org.eclipse.swt.graphics.GC graphics, org.eclipse.swt.graphics.Rectangle bounds, org.eclipse.swt.graphics.Color[] colors)
Draw an additional shadow for the selected column state- Parameters:
graphics
-bounds
-colors
-
-
drawColumnHeader
protected static void drawColumnHeader(org.eclipse.swt.graphics.GC graphics, org.eclipse.swt.graphics.Rectangle bounds, org.eclipse.swt.graphics.Color[] colors)
Draw the column header based on the given colors- Parameters:
graphics
-bounds
-colors
-
-
getTextLayout
private void getTextLayout(org.eclipse.swt.graphics.GC gc, GridColumn column)
-
computeControlSize
private org.eclipse.swt.graphics.Point computeControlSize(GridColumn column)
-
getTruncationStyle
public int getTruncationStyle()
Get the truncation style- Overrides:
getTruncationStyle
in classGridHeaderRenderer
- Returns:
- the truncation style.
-
setTruncationStyle
public void setTruncationStyle(int truncationStyle)
Set the truncation style to use when cell content is too large.- Overrides:
setTruncationStyle
in classGridHeaderRenderer
- Parameters:
truncationStyle
-- See Also:
SWT.LEFT
,SWT.CENTER
,SWT.RIGHT
-
-