Class RoundedToolbar
- 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.swt.widgets.Canvas
-
- org.eclipse.nebula.widgets.opal.roundedtoolbar.RoundedToolbar
-
- All Implemented Interfaces:
org.eclipse.swt.graphics.Drawable
public class RoundedToolbar extends org.eclipse.swt.widgets.Canvas
Instances of this class support the layout of selectable rounded tool bar items.The item children that may be added to instances of this class must be of type
RoundedToolItem
.- Styles:
- HIDE_SELECTION : if this style is selected, the radio button are not drawned
- Events:
- (none)
- See Also:
- ToolBar, ToolItem snippets
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static org.eclipse.swt.graphics.Color
BORDER_COLOR
private int
cornerRadius
private org.eclipse.swt.graphics.Color
END_GRADIENT_COLOR
private static org.eclipse.swt.graphics.Color
END_GRADIENT_COLOR_DEFAULT
private java.util.List<RoundedToolItem>
items
private static java.lang.String
LAST_TOGGLE_BUTTON_SELECTED
private static java.lang.String
LAST_TOGGLE_BUTTON_SELECTED_STATE
private org.eclipse.swt.graphics.Color
START_GRADIENT_COLOR
private static org.eclipse.swt.graphics.Color
START_GRADIENT_COLOR_DEFAULT
-
Constructor Summary
Constructors Constructor Description RoundedToolbar(org.eclipse.swt.widgets.Composite parent, int style)
Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.RoundedToolbar(org.eclipse.swt.widgets.Composite parent, int style, org.eclipse.swt.graphics.Color startGradientColor, org.eclipse.swt.graphics.Color endGradientColor)
Constructs a new instance of this class given its parent, a style value describing its behavior and appearance and colors to specify the start and end gradient of the rounded corner
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
addItem(RoundedToolItem roundedToolItem)
Add an item to the toolbarprivate void
addListeners()
private void
clearLastToggleButtonInfo()
org.eclipse.swt.graphics.Point
computeSize(int wHint, int hHint, boolean changed)
private void
drawBorders(org.eclipse.swt.graphics.GC gc, int width, int height)
int
getCornerRadius()
RoundedToolItem
getItem(int index)
Returns the item at the given, zero-relative index in the receiver.RoundedToolItem
getItem(org.eclipse.swt.graphics.Point point)
Returns the item at the given point in the receiver or null if no such item exists.int
getItemCount()
Returns the number of items contained in the receiver.RoundedToolItem[]
getItems()
Returns an array ofRoundedToolItem
s which are the items in the receiver.int
indexOf(RoundedToolItem item)
Searches the receiver's list starting at the first item (index 0) until an item is found that is equal to the argument, and returns the index of that item.protected void
paintControl(org.eclipse.swt.events.PaintEvent e)
Paint the component(package private) void
removeItem(RoundedToolItem roundedToolItem)
Add an item to the toolbarvoid
setCornerRadius(int cornerRadius)
-
Methods inherited from class org.eclipse.swt.widgets.Canvas
drawBackground, getCaret, getIME, scroll, setCaret, setFont, setIME
-
Methods inherited from class org.eclipse.swt.widgets.Composite
changed, checkSubclass, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList
-
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, isAutoScalable, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, 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, toString
-
-
-
-
Field Detail
-
LAST_TOGGLE_BUTTON_SELECTED
private static final java.lang.String LAST_TOGGLE_BUTTON_SELECTED
-
LAST_TOGGLE_BUTTON_SELECTED_STATE
private static final java.lang.String LAST_TOGGLE_BUTTON_SELECTED_STATE
-
items
private final java.util.List<RoundedToolItem> items
-
cornerRadius
private int cornerRadius
-
START_GRADIENT_COLOR_DEFAULT
private static org.eclipse.swt.graphics.Color START_GRADIENT_COLOR_DEFAULT
-
END_GRADIENT_COLOR_DEFAULT
private static org.eclipse.swt.graphics.Color END_GRADIENT_COLOR_DEFAULT
-
BORDER_COLOR
static org.eclipse.swt.graphics.Color BORDER_COLOR
-
START_GRADIENT_COLOR
private org.eclipse.swt.graphics.Color START_GRADIENT_COLOR
-
END_GRADIENT_COLOR
private org.eclipse.swt.graphics.Color END_GRADIENT_COLOR
-
-
Constructor Detail
-
RoundedToolbar
public RoundedToolbar(org.eclipse.swt.widgets.Composite parent, int style)
Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.The style value is either one of the style constants defined in class
SWT
which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using theint
"|" operator) two or more of thoseSWT
style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.- Parameters:
parent
- a composite control which will be the parent of the new instance (cannot be null)style
- the style of control to construct- Throws:
java.lang.IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the parent is null
org.eclipse.swt.SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
- ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
- See Also:
Widget.getStyle()
-
RoundedToolbar
public RoundedToolbar(org.eclipse.swt.widgets.Composite parent, int style, org.eclipse.swt.graphics.Color startGradientColor, org.eclipse.swt.graphics.Color endGradientColor)
Constructs a new instance of this class given its parent, a style value describing its behavior and appearance and colors to specify the start and end gradient of the rounded cornerThe style value is either one of the style constants defined in class
SWT
which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using theint
"|" operator) two or more of thoseSWT
style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.- Parameters:
parent
- a composite control which will be the parent of the new instance (cannot be null)style
- the style of control to construct- Throws:
java.lang.IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the parent is null
org.eclipse.swt.SWTException
-- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
- ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
- See Also:
Widget.getStyle()
-
-
Method Detail
-
addListeners
private void addListeners()
-
clearLastToggleButtonInfo
private void clearLastToggleButtonInfo()
-
addItem
void addItem(RoundedToolItem roundedToolItem)
Add an item to the toolbar- Parameters:
roundedToolItem
- roundedToolItem to add
-
computeSize
public org.eclipse.swt.graphics.Point computeSize(int wHint, int hHint, boolean changed)
- Overrides:
computeSize
in classorg.eclipse.swt.widgets.Control
- See Also:
Control.computeSize(int, int, boolean)
-
getCornerRadius
public int getCornerRadius()
- Returns:
- the corner radius
-
getItem
public RoundedToolItem getItem(int index)
Returns the item at the given, zero-relative index in the receiver. Throws an exception if the index is out of range.- Parameters:
index
- the index of the item to return- Returns:
- the item at the given index
- Throws:
java.lang.IllegalArgumentException
-- ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)
org.eclipse.swt.SWTException
-- ERROR_WIDGET_DISPOSED - if the receiver has been disposed
- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
-
getItem
public RoundedToolItem getItem(org.eclipse.swt.graphics.Point point)
Returns the item at the given point in the receiver or null if no such item exists. The point is in the coordinate system of the receiver.- Parameters:
point
- the point used to locate the item- Returns:
- the item at the given point
- Throws:
java.lang.IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the point is null
org.eclipse.swt.SWTException
-- ERROR_WIDGET_DISPOSED - if the receiver has been disposed
- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
-
getItemCount
public int getItemCount()
Returns the number of items contained in the receiver.- Returns:
- the number of items
- Throws:
org.eclipse.swt.SWTException
-- ERROR_WIDGET_DISPOSED - if the receiver has been disposed
- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
-
getItems
public RoundedToolItem[] getItems()
Returns an array ofRoundedToolItem
s which are the items in the receiver.Note: This is not the actual structure used by the receiver to maintain its list of items, so modifying the array will not affect the receiver.
- Returns:
- the items in the receiver
- Throws:
org.eclipse.swt.SWTException
-- ERROR_WIDGET_DISPOSED - if the receiver has been disposed
- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
-
indexOf
public int indexOf(RoundedToolItem item)
Searches the receiver's list starting at the first item (index 0) until an item is found that is equal to the argument, and returns the index of that item. If no item is found, returns -1.- Parameters:
item
- the search item- Returns:
- the index of the item
- Throws:
java.lang.IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the tool item is null
- ERROR_INVALID_ARGUMENT - if the tool item has been disposed
org.eclipse.swt.SWTException
-- ERROR_WIDGET_DISPOSED - if the receiver has been disposed
- ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver
-
paintControl
protected void paintControl(org.eclipse.swt.events.PaintEvent e)
Paint the component- Parameters:
e
- event
-
drawBorders
private void drawBorders(org.eclipse.swt.graphics.GC gc, int width, int height)
-
removeItem
void removeItem(RoundedToolItem roundedToolItem)
Add an item to the toolbar- Parameters:
roundedToolItem
- roundedToolItem to add
-
setCornerRadius
public void setCornerRadius(int cornerRadius)
- Parameters:
cornerRadius
- new corner radius
-
-