Class WInteractWidget

Direct Known Subclasses:
WAbstractMedia, WContainerWidget, WFormWidget, WGLWidget, WImage, WLabel, WPaintedWidget, WProgressBar, WTable, WTemplate, WText

public abstract class WInteractWidget extends WWebWidget
An abstract widget that can receive user-interface interaction.

This abstract widget provides access to event signals that correspond to user-interface interaction through mouse or keyboard.

When JavaScript is disabled, only the clicked() event will propagate (but without event details information).

CSS

Styling through CSS is not applicable.

  • Field Details

    • dragTouchSlot_

      protected JSlot dragTouchSlot_
    • dragTouchEndSlot_

      protected JSlot dragTouchEndSlot_
  • Constructor Details

  • Method Details

    • remove

      public void remove()
      Description copied from class: WWidget
      Destructor.

      Deletes a widget and all contained contents.

      Overrides:
      remove in class WWebWidget
      See Also:
    • keyWentDown

      public EventSignal1<WKeyEvent> keyWentDown()
      Event signal emitted when a keyboard key is pushed down.

      The keyWentDown signal is the first signal emitted when a key is pressed (before the keyPressed signal). Unlike keyPressed() however it is also emitted for modifier keys (such as "shift", "control", ...) or keyboard navigation keys that do not have a corresponding character.

      Form widgets (like WLineEdit) will receive key events when focussed. Other widgets will receive key events when they contain (directly or indirectly) a form widget that has focus.

      To capture a key down event when no element has focus, see WApplication.globalKeyWentDown()

      See Also:
    • keyPressed

      public EventSignal1<WKeyEvent> keyPressed()
      Event signal emitted when a "character" was entered.

      The keyPressed signal is emitted when a key is pressed, and a character is entered. Unlike keyWentDown(), it is emitted only for key presses that result in a character being entered, and thus not for modifier keys or keyboard navigation keys.

      Form widgets (like WLineEdit) will receive key events when focussed. Other widgets will receive key events when they contain (directly or indirectly) a form widget that has focus.

      To capture a key press when no element has focus, see WApplication.globalKeyPressed()

      See Also:
    • keyWentUp

      public EventSignal1<WKeyEvent> keyWentUp()
      Event signal emitted when a keyboard key is released.

      This is the counter-part of the keyWentDown() event. Every key-down has its corresponding key-up.

      Form widgets (like WLineEdit) will receive key events when focussed. Other widgets will receive key events when they contain (directly or indirectly) a form widget that has focus.

      To capture a key up event when no element has focus, see WApplication.globalKeyWentUp()

      See Also:
    • enterPressed

      public EventSignal enterPressed()
      Event signal emitted when enter was pressed.

      This signal is emitted when the Enter or Return key was pressed.

      Form widgets (like WLineEdit) will receive key events when focussed. Other widgets will receive key events when they contain (directly or indirectly) a form widget that has focus.

      To capture an enter press when no element has focus, see WApplication.globalEnterPressed()

      See Also:
    • escapePressed

      public EventSignal escapePressed()
      Event signal emitted when escape was pressed.

      This signal is emitted when the Escape key was pressed.

      Form widgets (like WLineEdit) will receive key events when focussed. Other widgets will receive key events when they contain (directly or indirectly) a form widget that has focus.

      To capture an escape press when no element has focus, see WApplication.globalEscapePressed()

      See Also:
    • clicked

      public EventSignal1<WMouseEvent> clicked()
      Event signal emitted when the primary mouse button was clicked on this widget.

      The event details contains information such as the WMouseEvent.getButton(), optional keyboard modifiers, and mouse coordinates relative to the WMouseEvent.getWidget(), the window WMouseEvent.getWindow(), or the WMouseEvent.getDocument().

      For more details, see the MDN documentation.

      Note: When JavaScript is disabled, the event details contain invalid information.

    • doubleClicked

      public EventSignal1<WMouseEvent> doubleClicked()
      Event signal emitted when the primary mouse button was double clicked on this widget.

      The event details contains information such as the WMouseEvent.getButton(), optional keyboard modifiers, and mouse coordinates relative to the WMouseEvent.getWidget(), the window WMouseEvent.getWindow(), or the WMouseEvent.getDocument().

      For more details, see the MDN documentation.

      Note: When JavaScript is disabled, the signal will never fire.

    • mouseWentDown

      public EventSignal1<WMouseEvent> mouseWentDown()
      Event signal emitted when a mouse button was pushed down on this widget.

      The event details contains information such as the WMouseEvent.getButton(), optional keyboard modifiers, and mouse coordinates relative to the WMouseEvent.getWidget(), the window WMouseEvent.getWindow(), or the WMouseEvent.getDocument().

      Note: When JavaScript is disabled, the signal will never fire.

    • mouseWentUp

      public EventSignal1<WMouseEvent> mouseWentUp()
      Event signal emitted when a mouse button was released on this widget.

      The event details contains information such as the WMouseEvent.getButton(), optional keyboard modifiers, and mouse coordinates relative to the WMouseEvent.getWidget(), the window WMouseEvent.getWindow(), or the WMouseEvent.getDocument().

      If you connect also the mouseWentDown() signal, then a subsequent mouseWentUp() will be received by the same widget, even if mouse is no longer over the original widget.

      Note: When JavaScript is disabled, the signal will never fire.

    • mouseWentOut

      public EventSignal1<WMouseEvent> mouseWentOut()
      Event signal emitted when the mouse went out of this widget.

      Note: When JavaScript is disabled, the signal will never fire.

    • mouseWentOver

      public EventSignal1<WMouseEvent> mouseWentOver()
      Event signal emitted when the mouse entered this widget.

      The signal is emitted as soon as the mouse enters the widget, or after some delay as configured by setMouseOverDelay()

      Note: When JavaScript is disabled, the signal will never fire.

    • mouseMoved

      public EventSignal1<WMouseEvent> mouseMoved()
      Event signal emitted when the mouse moved over this widget.

      The mouse event contains information on the button(s) currently pressed. If multiple buttons are currently pressed, only the button with smallest enum value is returned.

      Note: When JavaScript is disabled, the signal will never fire.

    • mouseDragged

      public EventSignal1<WMouseEvent> mouseDragged()
      Event signal emitted when the mouse is dragged over this widget.

      The mouse event contains information on the button(s) currently pressed. If multiple buttons are currently pressed, only the button with smallest enum value is returned.

      Note: When JavaScript is disabled, the signal will never fire.

    • mouseWheel

      public EventSignal1<WMouseEvent> mouseWheel()
      Event signal emitted when the mouse scroll wheel was used.

      The event details contains information such as the wheel delta, optional keyboard modifiers, and mouse coordinates relative to the WMouseEvent.getWidget(), the window WMouseEvent.getWindow(), or the WMouseEvent.getDocument().

      Note: When JavaScript is disabled, the signal will never fire.

    • touchStarted

      public EventSignal1<WTouchEvent> touchStarted()
      Event signal emitted when a finger is placed on the screen.

      The event details contains information such as the WTouchEvent.getTouches(), target touches and changed touches.

      Note: When JavaScript is disabled, the signal will never fire.

    • touchEnded

      public EventSignal1<WTouchEvent> touchEnded()
      Event signal emitted when a finger is removed from the screen.

      The event details contains information such as the WTouchEvent.getTouches(), target touches and changed touches.

      Note: When JavaScript is disabled, the signal will never fire.

    • touchMoved

      public EventSignal1<WTouchEvent> touchMoved()
      Event signal emitted when a finger, which is already placed on the screen, is moved across the screen.

      The event details contains information such as the WTouchEvent.getTouches(), target touches and changed touches.

      Note: When JavaScript is disabled, the signal will never fire.

    • gestureStarted

      public EventSignal1<WGestureEvent> gestureStarted()
      Event signal emitted when a gesture is started.

      The event details contains information about the WGestureEvent.getScale() and the WGestureEvent.getRotation().

      Note: When JavaScript is disabled, the signal will never fire.

    • gestureChanged

      public EventSignal1<WGestureEvent> gestureChanged()
      Event signal emitted when a gesture is changed.

      The event details contains information about the WGestureEvent.getScale() and the WGestureEvent.getRotation().

      Note: When JavaScript is disabled, the signal will never fire.

    • gestureEnded

      public EventSignal1<WGestureEvent> gestureEnded()
      Event signal emitted when a gesture is ended.

      The event details contains information about the WGestureEvent.getScale() and the WGestureEvent.getRotation().

      Note: When JavaScript is disabled, the signal will never fire.

    • setDraggable

      public void setDraggable(String mimeType, WWidget dragWidget, boolean isDragWidgetOnly, WObject sourceObject)
      Configure dragging for drag and drop.

      Enable drag&drop for this widget. The mimeType is used to find a suitable drop target, which must accept dropping of this mimetype.

      By default, the entire widget is dragged. One may specify another widget to be dragged (for example the parent as dragWidget) or a dragWidget whose function is only to represent the drag visually (when isDragWidgetOnly = true).

      The widget to be identified as source in the dropEvent may be given explicitly, and will default to this widget otherwise.

      When using a touch interface, the widget can also be dragged after a long press.

      Note: When JavaScript is disabled, drag&drop does not work.

      See Also:
    • setDraggable

      public final void setDraggable(String mimeType)
      Configure dragging for drag and drop.

      Calls setDraggable(mimeType, (WWidget)null, false, (WObject)null)

    • setDraggable

      public final void setDraggable(String mimeType, WWidget dragWidget)
      Configure dragging for drag and drop.

      Calls setDraggable(mimeType, dragWidget, false, (WObject)null)

    • setDraggable

      public final void setDraggable(String mimeType, WWidget dragWidget, boolean isDragWidgetOnly)
    • unsetDraggable

      public void unsetDraggable()
      Disable drag & drop for this widget.

      See Also:
    • setMouseOverDelay

      public void setMouseOverDelay(int delay)
      Sets a delay for the mouse over event.

      This sets a delay (in milliseconds) before the mouse over event is emitted.

      The default value is 0.

      See Also:
    • getMouseOverDelay

      public int getMouseOverDelay()
      Returns the mouse over signal delay.

      See Also:
    • setPopup

      public void setPopup(boolean popup)
      Description copied from class: WWidget
      Lets the widget overlay over other sibling widgets.

      A widget that isPopup() will be rendered on top of any other sibling widget contained within the same parent (including other popup widgets previously added to the container).

      This will only have an effect when the widgetis either PositionScheme.Absolute or PositionScheme.Fixed getPositionScheme().

      This applies to CSS-based layout, and configures the z-index property.

      Overrides:
      setPopup in class WWebWidget
    • load

      public void load()
      Description copied from class: WWidget
      Loads content just before the widget is used.

      This function is called when a widget is inserted in the widget hierarchy. Widgets that get inserted in the widget hierarchy will be rendered. Visible widgets are rendered immediately, and invisible widgets in the back-ground (or not for a plain HTML session). This method is called when the widget is directly or indirectly inserted into the widget tree.

      The default implementation simply propagates the load signal to its children. You may want to override this method to delay loading of resource-intensive contents.

      During the life-time of a widget, this method may be called multiple times, so you should make sure that you do a deferred initialization only once.

      Overrides:
      load in class WWebWidget
    • isEnabled

      public boolean isEnabled()
      Description copied from class: WWidget
      Returns whether the widget is enabled.

      A widget is enabled if it is not disabled, and none of its ancestors are disabled. This method returns whether the widget is rendered as enabled, while isDisabled() returns whether a widget has been explicitly disabled.

      Note that a widget may be at the same time not enabled, and not disabled, in case one of its ancestors was disabled.

      Overrides:
      isEnabled in class WWebWidget
      See Also:
    • propagateSetEnabled

      protected void propagateSetEnabled(boolean enabled)
      Description copied from class: WWidget
      Propagates that a widget was enabled or disabled through children.

      When enabling or disabling a widget, you usually also want to disable contained children. This method is called by setDisabled() to propagate its state to all children.

      You may want to reimplement this method if they wish to render differently when a widget is disabled. The default implementation will propagate the signal to all children.

      Overrides:
      propagateSetEnabled in class WWebWidget