net.rim.device.api.ui.container
Class HorizontalFieldManager

java.lang.Object
  |
  +--net.rim.device.api.ui.Field
        |
        +--net.rim.device.api.ui.Manager
              |
              +--net.rim.device.api.ui.container.HorizontalFieldManager
All Implemented Interfaces:
IComponent, InputMethodListener

public class HorizontalFieldManager
extends Manager

A manager that lays out fields along a single, horizontal row.

Behaviour
A horizontal field manager lays out fields left to right on a single row. You can build this manager with Manager.HORIZONTAL_SCROLL to accommodate collections of fields wider than the manager's visible frame; you can build this manager with Manager.VERTICAL_SCROLL to accommodate fields taller than the manager's visible frame.


Field Summary
 
Fields inherited from class net.rim.device.api.ui.Manager
BOTTOMMOST, DOWNWARD, HORIZONTAL_SCROLL, HORIZONTAL_SCROLL_MASK, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_MASK, LEAVE_BLANK_SPACE, LEFTMOST, LEFTWARD, NO_HORIZONTAL_SCROLL, NO_HORIZONTAL_SCROLLBAR, NO_SCROLL_RESET, NO_VERTICAL_SCROLL, NO_VERTICAL_SCROLLBAR, QUANTA_FONT, RIGHTMOST, RIGHTWARD, TOPMOST, UPWARD, VERTICAL_SCROLL, VERTICAL_SCROLL_MASK, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_MASK
 
Fields inherited from class net.rim.device.api.ui.Field
ACTION_INVOKE, EDITABLE, EDITABLE_MASK, FIELD_BOTTOM, FIELD_HALIGN_MASK, FIELD_HCENTER, FIELD_LEADING, FIELD_LEFT, FIELD_RIGHT, FIELD_TOP, FIELD_TRAILING, FIELD_VALIGN_MASK, FIELD_VCENTER, FOCUSABLE, FOCUSABLE_MASK, HIGHLIGHT_FOCUS, HIGHLIGHT_SELECT, NON_FOCUSABLE, NON_SPELLCHECKABLE, READONLY, SPELLCHECKABLE, SPELLCHECKABLE_MASK, STATUS_MOVE_FOCUS_HORIZONTALLY, STATUS_MOVE_FOCUS_VERTICALLY, USE_ALL_HEIGHT, USE_ALL_WIDTH, VISUAL_STATE_ACTIVE, VISUAL_STATE_DISABLED, VISUAL_STATE_DISABLED_FOCUS, VISUAL_STATE_FOCUS, VISUAL_STATE_NORMAL
 
Constructor Summary
HorizontalFieldManager()
          Constructs a new horizontal field manager.
HorizontalFieldManager(long style)
          Constructs a new horizontal field manager with provided style.
 
Method Summary
 int getFieldAtLocation(int x, int y)
          Retrieves field under a particular point.
 int getPreferredHeight()
          Retrieves this manager's preferred height.
 int getPreferredWidth()
          Retrieves this manager's preferred width.
protected  void sublayout(int maxWidth, int maxHeight)
          Lays out this manager's controlled fields.
protected  void subpaint(Graphics graphics)
          Redraws this manager's controlled fields.
 
Methods inherited from class net.rim.device.api.ui.Manager
add, delete, deleteAll, deleteRange, getAccessibleContext, getField, getFieldCount, getFieldWithFocus, getFieldWithFocusIndex, getFocusRect, getHorizontalScroll, getLeafFieldWithFocus, getPreferredHeightOfChild, getPreferredWidthOfChild, getVerticalScroll, getVirtualHeight, getVirtualWidth, getVisibleHeight, getVisibleWidth, insert, invalidate, invalidate, invalidateFieldRange, invokeAction, isDataValid, isDirty, isDownArrowShown, isFocusable, isMuddy, isSelecting, isUpArrowShown, isValidLayout, keyChar, keyControl, keyDown, keyRepeat, keyStatus, keyUp, layout, layoutChild, makeMenu, moveFocus, moveFocus, navigationClick, navigationMovement, navigationUnclick, nextFocus, onFocus, onUndisplay, onUnfocus, paint, paintChild, replace, setDirty, setFocus, setHorizontalQuantization, setHorizontalScroll, setPositionChild, setScrollListener, setVerticalQuantization, setVerticalScroll, setVirtualExtent, touchEvent, trackwheelClick, trackwheelUnclick
 
Methods inherited from class net.rim.device.api.ui.Field
drawFocus, drawHighlightRegion, fieldChangeNotify, focusAdd, focusRemove, getBackground, getBackground, getBorder, getBorder, getBorder, getChangeListener, getContentHeight, getContentLeft, getContentRect, getContentRect, getContentTop, getContentWidth, getContextMenu, getCookie, getExtent, getExtent, getFieldStyle, getFocusListener, getFont, getHeight, getIndex, getLeft, getManager, getOriginal, getScreen, getStyle, getTop, getVisualState, getWidth, invalidateAll, isEditable, isFocus, isPasteable, isSelectable, isSelectionCopyable, isSelectionCutable, isSelectionDeleteable, isSpellCheckable, isStyle, isVisible, makeContextMenu, onDisplay, onExposed, onMenuDismissed, onMenuDismissed, onObscured, onVisibilityChange, paste, select, selectionCopy, selectionCut, selectionDelete, setBackground, setBackground, setBorder, setBorder, setBorder, setBorder, setChangeListener, setCookie, setEditable, setExtent, setFocus, setFocusListener, setFont, setMuddy, setNonSpellCheckable, setPosition, setVisualState, updateLayout
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HorizontalFieldManager

public HorizontalFieldManager()
Constructs a new horizontal field manager.

This method builds a new horizontal field manager with no style.


HorizontalFieldManager

public HorizontalFieldManager(long style)
Constructs a new horizontal field manager with provided style.

Parameters:
style - Style(s) for this manager (can be Manager.HORIZONTAL_SCROLL and/or Manager.VERTICAL_SCROLL).
Method Detail

getFieldAtLocation

public int getFieldAtLocation(int x,
                              int y)
Retrieves field under a particular point.

Given a point in coordinates local to this manager's extent, this method returns the index of the controlled field under that point.

If no field exists under the point you specify, this method returns -1.

If you provide a coordinate outside this manager's extent, this method uses values along the edges of the extent as required.

By default, this method performs a linear search, testing each controlled field in turn. If you extend this manager, you can override this method to optimize its functionality.

Overrides:
getFieldAtLocation in class Manager
Parameters:
x - Distance from left edge of this manager's extent.
y - Distance from top edge of this manager's extent.
Returns:
Index of the field under your point, or -1 if no field under your point.

getPreferredHeight

public int getPreferredHeight()
Retrieves this manager's preferred height.

This method returns the largest preferred height of all this manager's controlled fields.

Overrides:
getPreferredHeight in class Field
Returns:
Vertical space preferred by this manager.

getPreferredWidth

public int getPreferredWidth()
Retrieves this manager's preferred width.

This method returns the sum of all the preferred widths of this manager's controlled fields.

Overrides:
getPreferredWidth in class Field
Returns:
Horizontal space preferred by this manager.

sublayout

protected void sublayout(int maxWidth,
                         int maxHeight)
Lays out this manager's controlled fields.

The framework invokes this method to direct this manager to lay out its controlled fields.

Overrides:
sublayout in class Manager
Parameters:
maxWidth - Horizontal space available for this manager.
maxHeight - Vertical space available for this manager.

subpaint

protected void subpaint(Graphics graphics)
Redraws this manager's controlled fields.

The framework invokes this method to direct this manager to repaint its controlled fields. This method examines the clipping rectangle contained in the graphics context parameter to determine which controlled fields are in the invalid region (require repainting), in order to prevent unnecessary redraws.

Overrides:
subpaint in class Manager
Parameters:
graphics - Graphics context used for the redraw operation.



Copyright 1999-2009 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.