Class WTimeEdit


public class WTimeEdit extends WLineEdit
A Time field editor.

Styling through CSS is not applicable. A native HTML5 control can be used by means of setNativeControl().

Note: Using the native HTML5 control forces the format HH:mm or HH:mm:ss. The user will not be aware of this, since the control offers them a view dependent on their locale.

See Also:
  • Constructor Details

  • Method Details

    • remove

      public void remove()
      Description copied from class: WFormWidget
      Destructor.
      Overrides:
      remove in class WFormWidget
      See Also:
    • setTime

      public void setTime(WTime time)
      Sets the time.

      Does nothing if the current time is Null.

      See Also:
    • getTime

      public WTime getTime()
      Returns the time.

      Returns an invalid time (for which WTime.isValid() returns false) if the time could not be parsed using the current getFormat().

      See Also:
    • setFormat

      public void setFormat(String format)
      Sets the format of the Time.

      This sets the format in the validator.

      When the native HTML5 control is used, the format is limited to HH:mm:ss or HH:mm. Changing to another format has no effect.

      See Also:
    • getFormat

      public String getFormat()
      Returns the format.
    • setHidden

      public void setHidden(boolean hidden, WAnimation animation)
      Description copied from class: WFormWidget
      Sets the hidden state of this widget.

      If the widget has a label, it is hidden and shown together with this widget.

      Overrides:
      setHidden in class WFormWidget
    • setNativeControl

      public void setNativeControl(boolean nativeControl)
      Changes whether the native HTML5 control is used.

      When enabled the browser's native time input (<input type="time"> ) will be used if available. This should provide a better experience on mobile browsers.

      Calling native control after the widget is rendered is not supported.

      Setting native control to true requires both HH:mm:ss and HH:mm to be valid formats. The format can be set by either the validator, or directly with setFormat().

      Once the format is set, the step will be automatically calculated. This indicates the minimum increment in seconds or minutes that is valid input.

      When setting native control to true the setters for the steps will no longer do anything.

      By default, this option is set to WWebWidget.isDefaultNativeControl(), which is false by default.

      See Also:
    • isNativeControl

      public boolean isNativeControl()
      Returns whether a native HTML5 control is used.

      When active, the format of the input it limited to HH:mm or HH:mm:ss . The step is set to 60, or 1 respectively, specifying the granularity of the input to a minute or a second.

      See Also:
    • setBottom

      public void setBottom(WTime bottom)
      Sets the lower limit of the valid time range.
    • getBottom

      public WTime getBottom()
      Returns the lower limit of the valid time range.
    • setTop

      public void setTop(WTime top)
      Sets the upper limit of the valid time range.
    • getTop

      public WTime getTop()
      Returns the upper limit of the valid time range.
    • setHourStep

      public void setHourStep(int step)
      Sets the step size for the hours.

      It has no effect if a native HTML5 control is used.

      See Also:
    • getHourStep

      public int getHourStep()
      Returns the step size for the hours.
    • setMinuteStep

      public void setMinuteStep(int step)
      Sets the step size for the minutes.

      It has no effect if a native HTML5 control is used.

      See Also:
    • getMinuteStep

      public int getMinuteStep()
      Returns the step size for the minutes.
    • setSecondStep

      public void setSecondStep(int step)
      Sets the step size for the seconds.

      It has no effect if a native HTML5 control is used.

      See Also:
    • getSecondStep

      public int getSecondStep()
      Returns the step size for the seconds.
    • setMillisecondStep

      public void setMillisecondStep(int step)
      Sets the step size for the milliseconds.

      It has no effect if a native HTML5 control is used.

      See Also:
    • getMillisecondStep

      public int getMillisecondStep()
      Returns the step size for the milliseconds.
    • setWrapAroundEnabled

      public void setWrapAroundEnabled(boolean enabled)
      Enables or disables wraparound.

      It has no effect if a native HTML5 control is used.

      Wraparound is enabled by default

    • isWrapAroundEnabled

      public boolean isWrapAroundEnabled()
      Returns whether wraparound is enabled.
    • 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 WInteractWidget
    • getTimeValidator

      public WTimeValidator getTimeValidator()
      Returns the validator.

      Note: Using the validator to change the format while a native control is being used will break the native control. If a native control is used, do not call WTimeValidator()::setFormat(), instead use setFormat().

      See Also:
    • render

      protected void render(EnumSet<RenderFlag> flags)
      Description copied from class: WWidget
      Renders the widget.

      This function renders the widget (or an update for the widget), after this has been scheduled using scheduleRender().

      The default implementation will render the widget by serializing changes to JavaScript and HTML. You may want to reimplement this widget if you have been postponing some of the layout / rendering implementation until the latest moment possible. In that case you should make sure you call the base implementation however.

      Overrides:
      render in class WLineEdit
    • 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 WFormWidget
    • validatorChanged

      protected void validatorChanged()
      Overrides:
      validatorChanged in class WFormWidget
    • getType

      protected String getType()
      Overrides:
      getType in class WLineEdit