Class Launcher
- 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.nebula.widgets.opal.launcher.Launcher
-
- All Implemented Interfaces:
org.eclipse.swt.graphics.Drawable
public class Launcher extends org.eclipse.swt.widgets.Composite
Instances of this class are a launcher composed of buttons. When one clicks on the button, an animation is started and a selection event is fired- Styles:
- (none)
- Events:
- Selection
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<LauncherItem>
items
private boolean
needRedraw
private int
selection
private java.util.List<org.eclipse.swt.events.SelectionListener>
selectionListeners
-
Constructor Summary
Constructors Constructor Description Launcher(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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addItem(java.lang.String title, org.eclipse.swt.graphics.Image image)
Add an item to the launcherprivate void
addListenerToLabel(LauncherLabel label)
void
addSelectionListener(org.eclipse.swt.events.SelectionListener listener)
Adds the listener to the collection of listeners who will be notified when the control is selected by the user, by sending it one of the messages defined in theSelectionListener
interface.private void
changeColor(int index, boolean isSelected)
Change the background color of a given buttonprivate void
createButtons()
Create the buttons that will compose the launcherprivate void
createItem(LauncherItem item)
private LauncherLabel
createLauncherLabel(LauncherItem item)
private void
disposePreviousContent()
Dispose the content before a redrawprivate void
drawLauncher()
Draw the launcherprivate boolean
fireSelectionListeners(org.eclipse.swt.widgets.Event originalEvent)
Fire the selection listenersint
getSelection()
Return the selected buttonprivate void
handleClickEvent(org.eclipse.swt.widgets.Event event)
Code executed when one clicks on the buttonprivate void
handleDoubleClickEvent(org.eclipse.swt.widgets.Event event)
Code executed when one double-clicks on a buttonprivate void
handleKeyPressedEvent(org.eclipse.swt.widgets.Event event)
Code executed when a key is pressedvoid
removeSelectionListener(org.eclipse.swt.events.SelectionListener listener)
Removes the listener from the collection of listeners who will be notified when the control is selected by the user.private void
startAnimation(int index, org.eclipse.swt.widgets.Event event)
Start the animation for a given button-
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, 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, 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, toString
-
-
-
-
Field Detail
-
items
private final java.util.List<LauncherItem> items
-
selectionListeners
private final java.util.List<org.eclipse.swt.events.SelectionListener> selectionListeners
-
needRedraw
private boolean needRedraw
-
selection
private int selection
-
-
Constructor Detail
-
Launcher
public Launcher(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
-
-
Method Detail
-
addItem
public void addItem(java.lang.String title, org.eclipse.swt.graphics.Image image)
Add an item to the launcher- Parameters:
title
- text associated to this itemimage
- image associated to this item
-
addListenerToLabel
private void addListenerToLabel(LauncherLabel label)
-
addSelectionListener
public void addSelectionListener(org.eclipse.swt.events.SelectionListener listener)
Adds the listener to the collection of listeners who will be notified when the control is selected by the user, by sending it one of the messages defined in theSelectionListener
interface.widgetSelected
is called when the control is selected by the user.widgetDefaultSelected
is not called.- Parameters:
listener
- the listener which should be notified- Throws:
java.lang.IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener 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
- See Also:
SelectionListener
,removeSelectionListener(org.eclipse.swt.events.SelectionListener)
,SelectionEvent
-
changeColor
private void changeColor(int index, boolean isSelected)
Change the background color of a given button- Parameters:
index
- index of the buttonisSelected
- iftrue
, the background is the light shadow. Otherwise, the background color is white
-
createButtons
private void createButtons()
Create the buttons that will compose the launcher
-
createItem
private void createItem(LauncherItem item)
-
createLauncherLabel
private LauncherLabel createLauncherLabel(LauncherItem item)
-
disposePreviousContent
private void disposePreviousContent()
Dispose the content before a redraw
-
drawLauncher
private void drawLauncher()
Draw the launcher
-
fireSelectionListeners
private boolean fireSelectionListeners(org.eclipse.swt.widgets.Event originalEvent)
Fire the selection listeners- Parameters:
originalEvent
- mouse event- Returns:
true
if the selection could be changed,false
otherwise
-
getSelection
public int getSelection()
Return the selected button- Returns:
- the index of the selected button
- 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
-
handleClickEvent
private void handleClickEvent(org.eclipse.swt.widgets.Event event)
Code executed when one clicks on the button- Parameters:
event
- Event
-
handleDoubleClickEvent
private void handleDoubleClickEvent(org.eclipse.swt.widgets.Event event)
Code executed when one double-clicks on a button- Parameters:
event
- Event
-
handleKeyPressedEvent
private void handleKeyPressedEvent(org.eclipse.swt.widgets.Event event)
Code executed when a key is pressed- Parameters:
event
- Event
-
removeSelectionListener
public void removeSelectionListener(org.eclipse.swt.events.SelectionListener listener)
Removes the listener from the collection of listeners who will be notified when the control is selected by the user.- Parameters:
listener
- the listener which should no longer be notified- Throws:
java.lang.IllegalArgumentException
-- ERROR_NULL_ARGUMENT - if the listener 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
- See Also:
SelectionListener
,addSelectionListener(org.eclipse.swt.events.SelectionListener)
-
startAnimation
private void startAnimation(int index, org.eclipse.swt.widgets.Event event)
Start the animation for a given button- Parameters:
index
- index of the selected buttonevent
- event (propagated to the selection listeners)
-
-