com.sybase.uep.bobclient.controls
Class PhoneEmailRichTextInput

java.lang.Object
  extended by net.rim.device.api.ui.Field
      extended by net.rim.device.api.ui.component.TextField
          extended by net.rim.device.api.ui.component.RichTextField
              extended by net.rim.device.api.ui.component.ActiveRichTextField
                  extended by com.sybase.uep.bobclient.controls.PhoneEmailRichTextInput
All Implemented Interfaces:
Control, net.rim.device.api.ui.component.CookieProvider, net.rim.device.internal.ui.Formatter.TextRenderer

public class PhoneEmailRichTextInput
extends net.rim.device.api.ui.component.ActiveRichTextField
implements Control

This is the phone and email rich text input It will detect and highlight emails and phone numbers It will also allow user to call phone numbers in the inputs and email the email address. As well as save to address book.

Author:
tdang

Nested Class Summary
 
Nested classes/interfaces inherited from class net.rim.device.api.ui.component.ActiveRichTextField
net.rim.device.api.ui.component.ActiveRichTextField.RegionQueue
 
Field Summary
 
Fields inherited from class net.rim.device.api.ui.component.ActiveRichTextField
_cookieID, INVALID_COOKIE_ID, SCANFLAG_DISABLE_ALL_THREADING, SCANFLAG_THREAD_ON_CREATE
 
Fields inherited from class net.rim.device.api.ui.component.RichTextField
TEXT_ALIGN_HCENTER, TEXT_ALIGN_LEFT, TEXT_ALIGN_RIGHT, USE_TEXT_WIDTH
 
Fields inherited from class net.rim.device.api.ui.component.TextField
CONSUME_INPUT, DEFAULT_MAXCHARS, JUMP_FOCUS_AT_END, NO_COMPLEX_INPUT, NO_EDIT_MODE_INPUT, NO_LEARNING, NO_NEWLINE, NO_SWITCHING_INPUT
 
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
PhoneEmailRichTextInput(java.lang.String text, long style)
          Phone Email Rich Text Input constructor
 
Method Summary
 int getColSpan()
          (non-Javadoc)
 FontStyle getFocusFontStyle()
          Retrieve this control's focus font style
 FontStyle getFontStyle()
          Retrieve this control's font style
 long getHorizontalAlignment()
          (non-Javadoc)
 java.lang.String getName()
          (non-Javadoc)
static int getNumberSplitParts(java.lang.String str, net.rim.device.api.ui.Font f, int width)
          Split the label into pieces if it's too long
 int getPreferredHeight()
          (non-Javadoc)
 int getPreferredWidth()
          (non-Javadoc)
 int getRowSpan()
          (non-Javadoc)
 java.lang.Object getValue()
          (non-Javadoc)
 long getVerticalAlignment()
          (non-Javadoc)
protected  void layout(int width, int height)
          (non-Javadoc)
protected  void makeContextMenu(net.rim.device.api.ui.ContextMenu menu)
          (non-Javadoc)
protected  void onFocus(int direction)
          (non-Javadoc)
protected  void onUnfocus()
          Invoked when a field loses the focus.
 void paint(net.rim.device.api.ui.Graphics graphics)
          (non-Javadoc)
 void refresh()
          (non-Javadoc)
 void setBackgroundColor(int bgcolor)
          (non-Javadoc)
 void setColSpan(int colspan)
          (non-Javadoc)
 void setFocusFontStyle(FontStyle fontStyle)
          Set the focus font style for this control
 void setFontStyle(FontStyle fontStyle)
          Set the font style for this control
 void setFooterField(FooterField footerField)
          Set the footer field
 void setLayoutHeight(int height)
          (non-Javadoc)
 void setLayoutWidth(int width)
          (non-Javadoc)
 void setRowSpan(int rowspan)
          (non-Javadoc)
 
Methods inherited from class net.rim.device.api.ui.component.ActiveRichTextField
drawFocus, drawText, executeBackgroundScan, getContextMenuContext, getCookieWithFocus, getFocusRect, getMainScreenManager, getRegionCookie, getRegionCookie, getScanFlags, getText, invokeAction, keyDown, regionHasCookie, regionHasCookie, scrollVertically, selectionCopy, setAttributes, setScanFlags, setText, setText, setText, setText, setText
 
Methods inherited from class net.rim.device.api.ui.component.RichTextField
charAt, getAttributes, getBackgroundColors, getCursorPosition, getFonts, getFonts, getForegroundColors, getOffsets, getRegion, getRegionFont, getRegionFont, getRegionText, getRegionText, getText, getTextLength, isSelectable, keyChar, moveFocus, setCursorPosition, setFont, setFont, setText, setText
 
Methods inherited from class net.rim.device.api.ui.component.TextField
backspace, backspace, backspace, clear, displayFieldFullMessage, drawText, fieldChangeNotify, getAccessibleContext, getComposedTextEnd, getComposedTextStart, getDisplayLineCount, getFilter, getLabel, getLabelLength, getMaxSize, getText, getText, getTextAbstractString, insert, insert, insert, insert, insert, insert, insert, isPasteable, isSelecting, isSelectionCopyable, isSelectionDeleteable, isSymbolScreenAllowed, keyControl, moveFocus, navigationClick, navigationUnclick, onUndisplay, paste, select, selectionDelete, setCursorPosition, setFilter, setLabel, setMaxSize, setPreLayoutInternal, setSelection, setText, toString, update, wipe
 
Methods inherited from class net.rim.device.api.ui.Field
drawHighlightRegion, focusAdd, focusChangeNotify, focusRemove, getBackground, getBackground, getBorder, getBorder, getBorder, getChangeListener, getContentHeight, getContentLeft, getContentRect, getContentRect, getContentTop, getContentWidth, getContextMenu, getContextMenu, getCookie, getExtent, getExtent, getFieldStyle, getFocusListener, getFont, getHeight, getIndex, getLeafFieldWithFocus, getLeft, getManager, getMargin, getMarginBottom, getMarginLeft, getMarginRight, getMarginTop, getOriginal, getPadding, getPaddingBottom, getPaddingLeft, getPaddingRight, getPaddingTop, getScreen, getState, getStyle, getTop, getVisualState, getWidth, invalidate, invalidate, invalidateAll, isDataValid, isDirty, isEditable, isFocus, isFocusable, isMuddy, isSelectionCutable, isSpellCheckable, isStyle, isVisible, keyRepeat, keyStatus, keyUp, makeContextMenu, navigationMovement, onDisplay, onExposed, onMenuDismissed, onMenuDismissed, onObscured, onVisibilityChange, paintBackground, selectionCut, setBackground, setBackground, setBorder, setBorder, setBorder, setBorder, setBorder, setChangeListener, setCookie, setDirty, setEditable, setExtent, setFocus, setFocusListener, setFont, setMargin, setMargin, setMuddy, setNonSpellCheckable, setPadding, setPadding, setPosition, setVisualState, touchEvent, trackwheelClick, trackwheelUnclick, updateLayout
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface net.rim.device.internal.ui.Formatter.TextRenderer
getFont
 

Constructor Detail

PhoneEmailRichTextInput

public PhoneEmailRichTextInput(java.lang.String text,
                               long style)
Phone Email Rich Text Input constructor

Parameters:
text - String value for the initial default text
style - long value for the input style
See Also:
Field
Method Detail

getFontStyle

public FontStyle getFontStyle()
Retrieve this control's font style

Returns:
FontStyle font style object
See Also:
FontStyle

setFontStyle

public void setFontStyle(FontStyle fontStyle)
Set the font style for this control

Parameters:
fontStyle - FontStyle font style object
See Also:
FontStyle

getFocusFontStyle

public FontStyle getFocusFontStyle()
Retrieve this control's focus font style

Returns:
FontStyle font style object
See Also:
FontStyle

setFocusFontStyle

public void setFocusFontStyle(FontStyle fontStyle)
Set the focus font style for this control

Parameters:
fontStyle - FontStyle font style object
See Also:
FontStyle

setBackgroundColor

public void setBackgroundColor(int bgcolor)
(non-Javadoc)

Specified by:
setBackgroundColor in interface Control
Parameters:
bgcolor - int value of the color in HEX. For example: 0x00000000, 0x00FF0000, 0x00FFFFFF
See Also:
Control.setBackgroundColor(int bgcolor)

setColSpan

public void setColSpan(int colspan)
(non-Javadoc)

Specified by:
setColSpan in interface Control
Parameters:
colspan - int value of the column span
See Also:
Control.setColSpan(int colspan)

getColSpan

public int getColSpan()
(non-Javadoc)

Specified by:
getColSpan in interface Control
Returns:
int value of the column span
See Also:
Control.getColSpan()

setRowSpan

public void setRowSpan(int rowspan)
(non-Javadoc)

Specified by:
setRowSpan in interface Control
Parameters:
rowspan - int value of the row span
See Also:
Control.setRowSpan(int rowspan)

getRowSpan

public int getRowSpan()
(non-Javadoc)

Specified by:
getRowSpan in interface Control
Returns:
int value of the row span
See Also:
Control.getRowSpan()

getHorizontalAlignment

public long getHorizontalAlignment()
(non-Javadoc)

Specified by:
getHorizontalAlignment in interface Control
Returns:
long value of the horizontal alignment. Possible values could be Field.FIELD_HCENTER, Field.FIELD_RIGHT, or Field.FIELD_LEFT
See Also:
Control.getHorizontalAlignment()

getVerticalAlignment

public long getVerticalAlignment()
(non-Javadoc)

Specified by:
getVerticalAlignment in interface Control
Returns:
long value of the vertical alignment Possible values could be Field.FIELD_TOP, Field.FIELD_BOTTOM, or Field.FIELD_VCENTER
See Also:
Control.getVerticalAlignment()

setLayoutWidth

public void setLayoutWidth(int width)
(non-Javadoc)

Specified by:
setLayoutWidth in interface Control
Parameters:
width - int value of the available layout width
See Also:
Control.setLayoutWidth(int width)

getPreferredWidth

public int getPreferredWidth()
(non-Javadoc)

Specified by:
getPreferredWidth in interface Control
Overrides:
getPreferredWidth in class net.rim.device.api.ui.component.TextField
Returns:
int value of the available layout width
See Also:
Control.getPreferredWidth()

setLayoutHeight

public void setLayoutHeight(int height)
(non-Javadoc)

Specified by:
setLayoutHeight in interface Control
Parameters:
height - int value of the available layout height
See Also:
Control.setLayoutHeight(int height)

getValue

public java.lang.Object getValue()
(non-Javadoc)

Specified by:
getValue in interface Control
Returns:
Object of the value set for this control
See Also:
Control.getValue()

getName

public java.lang.String getName()
(non-Javadoc)

Specified by:
getName in interface Control
Returns:
String value of the key name
See Also:
Control.getName()

refresh

public void refresh()
(non-Javadoc)

Specified by:
refresh in interface Control
See Also:
Control.refresh()

getPreferredHeight

public int getPreferredHeight()
(non-Javadoc)

Specified by:
getPreferredHeight in interface Control
Overrides:
getPreferredHeight in class net.rim.device.api.ui.component.RichTextField
Returns:
int value of the available layout height
See Also:
Control.getPreferredHeight()

getNumberSplitParts

public static int getNumberSplitParts(java.lang.String str,
                                      net.rim.device.api.ui.Font f,
                                      int width)
Split the label into pieces if it's too long

Parameters:
str - String value for the label
f - Font object being used in this control
width - int value for the avaiable width
Returns:
int value for the size of the array size of the label

onFocus

protected void onFocus(int direction)
(non-Javadoc)

Overrides:
onFocus in class net.rim.device.api.ui.component.TextField
See Also:
Field.onFocus(int direction)

onUnfocus

protected void onUnfocus()
Invoked when a field loses the focus.

Overrides:
onUnfocus in class net.rim.device.api.ui.Field

paint

public void paint(net.rim.device.api.ui.Graphics graphics)
(non-Javadoc)

Overrides:
paint in class net.rim.device.api.ui.component.RichTextField
See Also:
Field.paint(Graphics g)

makeContextMenu

protected void makeContextMenu(net.rim.device.api.ui.ContextMenu menu)
(non-Javadoc)

Overrides:
makeContextMenu in class net.rim.device.api.ui.component.TextField
See Also:
Field.makeContextMenu(ContextMenu menu)

layout

protected void layout(int width,
                      int height)
(non-Javadoc)

Overrides:
layout in class net.rim.device.api.ui.component.RichTextField
See Also:
Field.layout(int width, int height)

setFooterField

public void setFooterField(FooterField footerField)
Set the footer field

Parameters:
{@link - FooterField} footer field to put the text of the textinput into. This is useful for long text, so it can be displayed in the footer. null value if there is no footer.
See Also:
FooterField