Class CalculatorCombo
- 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.calculator.CalculatorCombo
-
- All Implemented Interfaces:
org.eclipse.swt.graphics.Drawable
public class CalculatorCombo extends org.eclipse.swt.widgets.Composite
The CalculatorCombo class represents a selectable user interface object that combines a text field and a calculator buttons panel and issues notification when an the value is modified.Note that although this class is a subclass of
Composite
, it does not make sense to add children to it, or set a layout on it.- Styles:
- BORDER, FLAT
- Events:
- Modify
- See Also:
- CCombo snippets
-
-
Field Summary
Fields Modifier and Type Field Description private org.eclipse.swt.widgets.Button
arrow
private CalculatorButtonsComposite
composite
private org.eclipse.swt.widgets.Listener
filter
private boolean
hasFocus
private org.eclipse.swt.events.KeyListener
keyListener
private org.eclipse.swt.widgets.Label
label
private org.eclipse.swt.widgets.Listener
listener
private org.eclipse.swt.widgets.Shell
popup
-
Constructor Summary
Constructors Constructor Description CalculatorCombo(org.eclipse.swt.widgets.Composite parent, int style)
Constructs a new instance of this class given its parent.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
_displayHidePopupWindow(boolean show)
void
addModifyListener(org.eclipse.swt.events.ModifyListener listener)
Adds the listener to the collection of listeners who will be notified when the receiver's text is modified, by sending it one of the messages defined in theModifyListener
interface.org.eclipse.swt.graphics.Point
computeSize(int wHint, int hHint, boolean changed)
private void
createPopupShell()
java.lang.String
getValue()
private void
handleButtonEvent(org.eclipse.swt.widgets.Event event)
private void
handleFocusEvent(int eventType)
private void
handleMultiChoiceEvent(org.eclipse.swt.widgets.Event event)
private void
handlePopupEvent(org.eclipse.swt.widgets.Event event)
Handle a popup eventprivate void
hidePopupWindow(boolean drop)
private boolean
isPopupVisible()
void
removeModifyListener(org.eclipse.swt.events.ModifyListener listener)
Removes the listener from the collection of listeners who will be notified when the receiver's text is modified.void
setEnabled(boolean enabled)
void
setToolTipText(java.lang.String txt)
void
setValue(java.lang.String value)
-
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, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, 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
-
label
private org.eclipse.swt.widgets.Label label
-
arrow
private org.eclipse.swt.widgets.Button arrow
-
popup
private org.eclipse.swt.widgets.Shell popup
-
listener
private org.eclipse.swt.widgets.Listener listener
-
filter
private org.eclipse.swt.widgets.Listener filter
-
hasFocus
private boolean hasFocus
-
keyListener
private org.eclipse.swt.events.KeyListener keyListener
-
composite
private CalculatorButtonsComposite composite
-
-
Constructor Detail
-
CalculatorCombo
public CalculatorCombo(org.eclipse.swt.widgets.Composite parent, int style)
Constructs a new instance of this class given its parent.- Parameters:
parent
- a widget which will be the parent of the new instance (cannot be null)style
- not used- 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
-
handlePopupEvent
private void handlePopupEvent(org.eclipse.swt.widgets.Event event)
Handle a popup event- Parameters:
event
- event to handle
-
hidePopupWindow
private void hidePopupWindow(boolean drop)
-
_displayHidePopupWindow
private void _displayHidePopupWindow(boolean show)
-
createPopupShell
private void createPopupShell()
-
handleButtonEvent
private void handleButtonEvent(org.eclipse.swt.widgets.Event event)
-
handleFocusEvent
private void handleFocusEvent(int eventType)
-
isPopupVisible
private boolean isPopupVisible()
-
handleMultiChoiceEvent
private void handleMultiChoiceEvent(org.eclipse.swt.widgets.Event event)
-
addModifyListener
public void addModifyListener(org.eclipse.swt.events.ModifyListener listener)
Adds the listener to the collection of listeners who will be notified when the receiver's text is modified, by sending it one of the messages defined in theModifyListener
interface.- 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:
ModifyListener
,removeModifyListener(org.eclipse.swt.events.ModifyListener)
-
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)
-
getValue
public java.lang.String getValue()
- Returns:
- the value of the combo
-
removeModifyListener
public void removeModifyListener(org.eclipse.swt.events.ModifyListener listener)
Removes the listener from the collection of listeners who will be notified when the receiver's text is modified.- 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:
ModifyListener
,addModifyListener(org.eclipse.swt.events.ModifyListener)
-
setEnabled
public void setEnabled(boolean enabled)
- Overrides:
setEnabled
in classorg.eclipse.swt.widgets.Control
- See Also:
Control.setEnabled(boolean)
-
setToolTipText
public void setToolTipText(java.lang.String txt)
- Overrides:
setToolTipText
in classorg.eclipse.swt.widgets.Control
- See Also:
Control.setToolTipText(java.lang.String)
-
setValue
public void setValue(java.lang.String value)
- Parameters:
value
- new value- Throws:
java.lang.NumberFormatException
- ifvalue
is not a valid double value
-
-