org.havi.ui.HRangeValue Maven / Gradle / Ivy
package org.havi.ui;
/*
* Copyright 2000-2003 by HAVi, Inc. Java is a trademark of Sun
* Microsystems, Inc. All rights reserved.
*/
import org.havi.ui.event.*;
import java.awt.Point;
/**
The {@link org.havi.ui.HRangeValue HRangeValue} is a user interface
component used to display a value within a fixed range (as
org.havi.ui.HStaticRange HStaticRange}) which enables a user to
navigate to and alter the value of it, i.e. it can have the input
focus and it can be adjusted. By default it uses the {@link
org.havi.ui.HRangeLook HRangeLook} to render itself.
The parameters to the constructors are as follows, in cases where
parameters are not used, then the constructor should use the default
values.
Default parameter values exposed in the constructors
Parameter Description Default value
Set method Get method
x
x-coordinate of top left hand corner of this component in pixels,
relative to its parent container (subject to layout management).
---
java.awt.Component#setBounds
java.awt.Component#getBounds
y
y-coordinate of top left hand corner of this component in pixels,
relative to its parent container (subject to layout management).
---
java.awt.Component#setBounds
java.awt.Component#getBounds
width
width of this component in pixels (subject to layout management).
---
java.awt.Component#setBounds
java.awt.Component#getBounds
height
height of this component in pixels (subject to layout management).
---
java.awt.Component#setBounds
java.awt.Component#getBounds
orientation
The "orientation" of the range object.
{@link HStaticRange#ORIENT_LEFT_TO_RIGHT ORIENT_LEFT_TO_RIGHT}
{@link HStaticRange#setOrientation setOrientation}
{@link HStaticRange#getOrientation getOrientation}
minimum
The minimum value that can be returned by this range object.
0
{@link HStaticRange#setRange setRange}
{@link HStaticRange#getMinValue getMinValue}
maximum
The maximum value that can be returned by this range object.
100
{@link HStaticRange#setRange setRange}
{@link HStaticRange#getMaxValue getMaxValue}
value
The current value returned by this range object.
0
{@link HStaticRange#setValue setValue}
{@link HStaticRange#getValue getValue}
Default parameter values not exposed in the constructors
Description Default value Set method
Get method
Associated matte ({@link org.havi.ui.HMatte HMatte}).
none (i.e. getMatte() returns null
)
{@link org.havi.ui.HComponent#setMatte setMatte}
{@link org.havi.ui.HComponent#getMatte getMatte}
The text layout manager responsible for text
formatting.
An {@link org.havi.ui.HDefaultTextLayoutManager}
object.
{@link org.havi.ui.HVisible#setTextLayoutManager}
{@link org.havi.ui.HVisible#getTextLayoutManager}
The background painting mode
{@link org.havi.ui.HVisible#NO_BACKGROUND_FILL}
{@link org.havi.ui.HVisible#setBackgroundMode}
{@link org.havi.ui.HVisible#getBackgroundMode}
The default preferred size
not set (i.e. NO_DEFAULT_SIZE) unless specified by width
and height
parameters
{@link org.havi.ui.HVisible#setDefaultSize}
{@link org.havi.ui.HVisible#getDefaultSize}
The horizontal content alignment
{@link org.havi.ui.HVisible#HALIGN_CENTER}
{@link org.havi.ui.HVisible#setHorizontalAlignment}
{@link org.havi.ui.HVisible#getHorizontalAlignment}
The vertical content alignment
{@link org.havi.ui.HVisible#VALIGN_CENTER}
{@link org.havi.ui.HVisible#setVerticalAlignment}
{@link org.havi.ui.HVisible#getVerticalAlignment}
The content scaling mode
{@link org.havi.ui.HVisible#RESIZE_NONE}
{@link org.havi.ui.HVisible#setResizeMode}
{@link org.havi.ui.HVisible#getResizeMode}
The border mode
true
{@link org.havi.ui.HVisible#setBordersEnabled}
{@link org.havi.ui.HVisible#getBordersEnabled}
The default "look" for this class.
A platform specific {@link org.havi.ui.HRangeLook HRangeLook}
{@link org.havi.ui.HRangeValue#setDefaultLook HRangeValue.setDefaultLook}
{@link org.havi.ui.HRangeValue#getDefaultLook HRangeValue.getDefaultLook}
The "look" for this object.
The {@link org.havi.ui.HRangeLook HRangeLook} returned from
HRangeValue.getDefaultLook when this object was created.
{@link org.havi.ui.HRangeValue#setLook HRangeValue.setLook}
{@link org.havi.ui.HRangeValue#getLook HRangeValue.getLook}
The offsets for the "thumb" of this range control
min = 0, max = 0
{@link HStaticRange#setThumbOffsets setThumbOffsets}
{@link HStaticRange#getThumbMinOffset getThumbMinOffset} /
{@link HStaticRange#getThumbMaxOffset getThumbMaxOffset}
The behavior of this range object with respect to its
"thumb" values
{@link HStaticRange#SLIDER_BEHAVIOR SLIDER_BEHAVIOR}
{@link HStaticRange#setBehavior setBehavior}
{@link HStaticRange#getBehavior getBehavior}
The block increment for this object.
1 unit
{@link org.havi.ui.HRangeValue#setBlockIncrement setBlockIncrement}
{@link org.havi.ui.HRangeValue#getBlockIncrement getBlockIncrement}
The gain focus sound.
null
{@link org.havi.ui.HRangeValue#setGainFocusSound setGainFocusSound}
{@link org.havi.ui.HRangeValue#getGainFocusSound getGainFocusSound}
The lose focus sound.
null
{@link org.havi.ui.HRangeValue#setLoseFocusSound setLoseFocusSound}
{@link org.havi.ui.HRangeValue#getLoseFocusSound getLoseFocusSound}
@see HStaticRange
@see HRange
@see HNavigable
@see HAdjustmentValue
*/
public class HRangeValue
extends HRange
implements HAdjustmentValue
{
/**
* Creates an {@link org.havi.ui.HRangeValue HRangeValue}
* object. See the class description for details of constructor
* parameters and default values.
*/
public HRangeValue()
{
}
/**
* Creates an {@link org.havi.ui.HRangeValue HRangeValue}
* object. See the class description for details of constructor
* parameters and default values.
*/
public HRangeValue(int orientation, int minimum, int maximum, int value,
int x, int y, int width, int height)
{
}
/**
* Creates an {@link org.havi.ui.HRangeValue HRangeValue}
* object. See the class description for details of constructor
* parameters and default values.
*/
public HRangeValue(int orientation, int minimum, int maximum, int value)
{
}
/**
* Sets the default {@link org.havi.ui.HLook HLook} for further
* {@link org.havi.ui.HRangeValue HRangeValue} Components.
*
* @param look The {@link org.havi.ui.HLook HLook} that will be
* used by default when creating a new {@link
* org.havi.ui.HRangeValue HRangeValue} component.
* Note that this parameter may be null, in which case newly
* created components shall not draw themselves until a non-null
* look is set using the {@link
* org.havi.ui.HStaticRange#setLook setLook} method.
*/
public static void setDefaultLook(HRangeLook look)
{
}
/**
* Returns the currently set default look for {@link
* org.havi.ui.HRangeValue HRangeValue} components.
*
* @return The look that is used by default when creating a new
* {@link org.havi.ui.HRangeValue HRangeValue} component.
*/
public static HRangeLook getDefaultLook()
{
return (null);
}
/**
* Defines the navigation path from the current {@link
* org.havi.ui.HNavigable HNavigable} to another {@link
* org.havi.ui.HNavigable HNavigable} when a particular key is
* pressed. Note that {@link
* org.havi.ui.HNavigable#setFocusTraversal setFocusTraversal} is
* equivalent to multiple calls to {@link
* org.havi.ui.HNavigable#setMove setMove}, where the key codes
* VK_UP
, VK_DOWN
, VK_LEFT
,
* VK_RIGHT
are used.
*
* @param keyCode The key code of the pressed key. Any numerical
* keycode is allowed, but the platform may not be able to
* generate all keycodes. Application authors should only use keys
* for which HRcCapabilities.isSupported()
or
* HKeyCapabilities.isSupported()
returns true.
* @param target The target {@link org.havi.ui.HNavigable
* HNavigable} object that should be navigated to. If a target is
* to be removed from a particular navigation path, then
* null
shall be specified.
*/
public void setMove(int keyCode, HNavigable target)
{
return;
}
/**
* Provides the {@link org.havi.ui.HNavigable HNavigable} object
* that is navigated to when a particular key is pressed.
*
* @param keyCode The key code of the pressed key.
* @return Returns the {@link org.havi.ui.HNavigable HNavigable}
* object or null
if no {@link org.havi.ui.HNavigable
* HNavigable} is associated with the keyCode.
*/
public HNavigable getMove(int keyCode)
{
return(null);
}
/**
* Set the focus control for an {@link org.havi.ui.HNavigable
* HNavigable} component. Note {@link
* org.havi.ui.HNavigable#setFocusTraversal setFocusTraversal} is a
* convenience function for application programmers where a standard
* up, down, left and right focus traversal between components is
* required.
*
* Note {@link org.havi.ui.HNavigable#setFocusTraversal
* setFocusTraversal} is equivalent to multiple calls to {@link
* org.havi.ui.HNavigable#setMove setMove}, where the key codes
* VK_UP, VK_DOWN, VK_LEFT, VK_RIGHT are used.
Note that this
* API does not prevent the creation of "isolated"
* {@link org.havi.ui.HNavigable HNavigable} components --- authors
* should endeavor to avoid confusing the user.
*
* @param up The {@link org.havi.ui.HNavigable HNavigable} component
* to move to, when the user generates a VK_UP KeyEvent. If there is no {@link
* org.havi.ui.HNavigable HNavigable} component to move
* "up" to, then null shall be specified.
* @param down The {@link org.havi.ui.HNavigable HNavigable}
* component to move to, when the user generates a VK_DOWN KeyEvent. If there
* is no {@link org.havi.ui.HNavigable HNavigable} component to move
* "down" to, then null shall be specified.
* @param left The {@link org.havi.ui.HNavigable HNavigable}
* component to move to, when the user generates a VK_LEFT KeyEvent. If there
* is no {@link org.havi.ui.HNavigable HNavigable} component to move
* "left" to, then null shall be specified.
* @param right The {@link org.havi.ui.HNavigable HNavigable}
* component to move to, when the user generates a VK_RIGHT KeyEvent. If there
* is no {@link org.havi.ui.HNavigable HNavigable} component to move
* "right" to, then null shall be specified.
*/
public void setFocusTraversal(HNavigable up, HNavigable down, HNavigable left, HNavigable right)
{
return;
}
/**
* Indicates if this component has focus.
*
* @return true
if the component has focus, otherwise
* returns false
.
*/
public boolean isSelected()
{
return(false);
}
/**
* Associate a sound with gaining focus, i.e. when the {@link
* org.havi.ui.HNavigable HNavigable} receives a
* {@link org.havi.ui.event.HFocusEvent HFocusEvent} event of type
* FOCUS_GAINED
. This sound will start to be played
* when an object implementing this interface gains focus. It is
* not guaranteed to be played to completion. If the object
* implementing this interface loses focus before the audio
* completes playing, the audio will be truncated. Applications
* wishing to ensure the audio is always played to completion must
* implement special logic to slow down the focus transitions.
* By default, an {@link org.havi.ui.HNavigable HNavigable} object
* does not have any gain focus sound associated with it.
Note
* that the ordering of playing sounds is dependent on the order
* of the focus lost, gained events.
*
* @param sound the sound to be played, when the component gains
* focus. If sound content is already set, the original content is
* replaced. To remove the sound specify a null {@link
* org.havi.ui.HSound HSound}.
*/
public void setGainFocusSound(HSound sound)
{
return;
}
/**
* Associate a sound with losing focus, i.e. when the {@link
* org.havi.ui.HNavigable HNavigable} receives a
* {@link org.havi.ui.event.HFocusEvent HFocusEvent} event of type
* FOCUS_LOST. This sound will start to be played when an object
* implementing this interface loses focus. It is not guaranteed to be
* played to completion. It is implementation dependent whether and when
* this sound will be truncated by any gain focus sound played by the next
* object to gain focus.
By default, an {@link
* org.havi.ui.HNavigable HNavigable} object does not have any
* lose focus sound associated with it.
Note that the ordering
* of playing sounds is dependent on the order of the focus lost,
* gained events.
*
* @param sound the sound to be played, when the component loses
* focus. If sound content is already set, the original content is
* replaced. To remove the sound specify a null {@link
* org.havi.ui.HSound HSound}.
*/
public void setLoseFocusSound(HSound sound)
{
return;
}
/**
* Get the sound associated with the gain focus event.
*
* @return The sound played when the component gains focus. If no
* sound is associated with gaining focus, then null shall be
* returned.
*/
public HSound getGainFocusSound()
{
return(null);
}
/**
* Get the sound associated with the lost focus event.
*
* @return The sound played when the component loses focus. If no
* sound is associated with losing focus, then null shall be
* returned.
*/
public HSound getLoseFocusSound()
{
return(null);
}
/**
* Adds the specified {@link org.havi.ui.event.HFocusListener HFocusListener} to
* receive {@link org.havi.ui.event.HFocusEvent HFocusEvent} events sent from
* this {@link org.havi.ui.HNavigable HNavigable}: If the listener has
* already been added further calls will add further references to the listener,
* which will then receive multiple copies of a single event.
*
* @param l the HFocusListener to add
*/
public void addHFocusListener(org.havi.ui.event.HFocusListener l)
{
return;
}
/**
* Removes the specified {@link org.havi.ui.event.HFocusListener HFocusListener}
* so that it no longer receives {@link org.havi.ui.event.HFocusEvent
* HFocusEvent} events from this {@link org.havi.ui.HNavigable HNavigable}. If
* the specified listener is not registered, the method has no effect. If
* multiple references to a single listener have been registered it should be
* noted that this method will only remove one reference per call.
*
* @param l the HFocusListener to remove
*/
public void removeHFocusListener(org.havi.ui.event.HFocusListener l)
{
return;
}
/**
* Retrieve the set of key codes which this component maps to
* navigation targets.
*
* @return an array of key codes, or null
if no
* navigation targets are set on this component.
*/
public int[] getNavigationKeys()
{
return(null);
}
/**
* Process an {@link org.havi.ui.event.HFocusEvent
* HFocusEvent} sent to this {@link org.havi.ui.HRangeValue
* HRangeValue}.
*
* @param evt the {@link org.havi.ui.event.HFocusEvent
* HFocusEvent} to process.
*/
public void processHFocusEvent(org.havi.ui.event.HFocusEvent evt)
{
return;
}
/**
* Set the unit increment for this HRangeValue.
*
* @param increment the amount by which the value of the
* HRangeValue should change when an {@link
* org.havi.ui.event.HAdjustmentEvent#ADJUST_LESS} or {@link
* org.havi.ui.event.HAdjustmentEvent#ADJUST_MORE} event is
* received. Values of increment
less than one shall
* be treated as a value of one.
*/
public void setUnitIncrement(int increment)
{
return;
}
/**
* Get the unit increment for this HRangeValue.
* 1
shall be returned if this method is called
* before its corresponding set method.
*
* @return the increment value for this HRangeValue.
*/
public int getUnitIncrement()
{
return(1);
}
/**
* Set the block increment for this HRangeValue.
*
* @param increment the amount by which the value of the
* HRangeValue should change when an {@link
* org.havi.ui.event.HAdjustmentEvent#ADJUST_PAGE_LESS}
* or {@link org.havi.ui.event.HAdjustmentEvent#ADJUST_PAGE_MORE}
* event is received. Values of
* increment
less than one shall be treated as a
* value of one.
*/
public void setBlockIncrement(int increment)
{
return;
}
/**
* Get the block increment for this HRangeValue.
* 1
shall be returned if this method is called before its
* corresponding set method.
*
* @return the block increment value for this HRangeValue.
*/
public int getBlockIncrement()
{
return(1);
}
/**
* Adds the specified HAdjustmentListener to
* receive HAdjustmentEvents
* sent from this object. If the listener has
* already been added further calls will add further references to
* the listener, which will then receive multiple copies of a
* single event.
*
* @param l the HAdjustmentListener to be notified.
*/
public void addAdjustmentListener(org.havi.ui.event.HAdjustmentListener l)
{
return;
}
/**
* Removes the specified HAdjustmentListener so
* that it no longer receives HAdjustmentEvents
from
* this object. If the specified listener is not registered, the
* method has no effect. If multiple references to
* a single listener have been registered it should be noted that
* this method will only remove one reference per call.
*
* @param l the HAdjustmentListener to be removed from notification.
*/
public void removeAdjustmentListener(org.havi.ui.event.HAdjustmentListener l)
{
return;
}
/**
* Associate a sound to be played when the value is modified. The
* sound is played irrespective of whether an
* HAdjustmentEvent
is sent to one or more listeners.
*
* @param sound the sound to be played, when the value is
* modified. If sound content is already set, the original content
* is replaced. To remove the sound specify a null {@link
* org.havi.ui.HSound}.
*/
public void setAdjustmentSound(HSound sound)
{
return;
}
/**
* Get the sound to be played when the value changes.
* null
shall be returned if this method is called
* before its corresponding set method.
*
* @return The sound played when the value changes
*/
public HSound getAdjustmentSound()
{
return(null);
}
/**
* Get the adjustment mode for this
* HRangeValue. If the returned value is true
the
* component is in adjustment mode, and its value may be changed on
* receipt of {@link org.havi.ui.event.HAdjustmentEvent#ADJUST_LESS} and
* {@link org.havi.ui.event.HAdjustmentEvent#ADJUST_MORE} events.
*
* The component is switched into and out of adjustment mode on
* receiving {@link org.havi.ui.event.HAdjustmentEvent#ADJUST_START_CHANGE}
* {@link org.havi.ui.event.HAdjustmentEvent#ADJUST_END_CHANGE}
* events. Note that these events are ignored, if the component is
* disabled.
*
* @return true if this component is in adjustment mode, false
* otherwise.
* @see HComponent#setEnabled
*/
public boolean getAdjustMode()
{
return(true);
}
/**
* Set the adjustment mode for this HRangeValue.
*
* This method is provided for the convenience of component
* implementors. Interoperable applications shall not call this
* method. It cannot be made protected because interfaces cannot have
* protected methods.
*
* Calls to this method shall be ignored, if the component is
* disabled.
*
* @param adjust true to switch this component into adjustment mode,
* false otherwise.
* @see HAdjustmentInputPreferred#getAdjustMode
* @see HComponent#setEnabled
*/
public void setAdjustMode(boolean adjust)
{
return;
}
/**
* Process an HAdjustmentEvent
* sent to this HAdjustmentInputPreferred
.
* Widgets implementing this interface
* shall ignore HAdjustmentEvents
, while the
* component is disabled.
*
* @param evt the HAdjustmentEvent
to process.
* @see HComponent#setEnabled
*/
public void processHAdjustmentEvent(org.havi.ui.event.HAdjustmentEvent evt)
{
return;
}
}