Class 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  
      • Fields inherited from class org.eclipse.swt.widgets.Composite

        embeddedHandle
      • Fields inherited from class org.eclipse.swt.widgets.Widget

        handle
    • 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 the ModifyListener 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 event
      private 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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
    • 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 the ModifyListener 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 class org.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 class org.eclipse.swt.widgets.Control
        See Also:
        Control.setEnabled(boolean)
      • setToolTipText

        public void setToolTipText​(java.lang.String txt)
        Overrides:
        setToolTipText in class org.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 - if value is not a valid double value