com.sybase.uep.bobclient.controls
Class ImageControl

java.lang.Object
  extended by net.rim.device.api.ui.Field
      extended by net.rim.device.api.ui.component.BitmapField
          extended by com.sybase.uep.bobclient.controls.ImageControl
All Implemented Interfaces:
Control, net.rim.device.api.ui.DrawStyle
Direct Known Subclasses:
CellImage

public class ImageControl
extends net.rim.device.api.ui.component.BitmapField
implements Control

This is the image control

Author:
tdang

Field Summary
protected  int _controlID
           
protected  CustomEventsHandler _customEventsHandler
           
protected  int _orientation
           
static java.lang.String DEFAULT_UNDEFINED_IMAGE_MESSAGE
           
 
Fields inherited from class net.rim.device.api.ui.component.BitmapField
STAMP_MONOCHROME
 
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
 
Fields inherited from interface net.rim.device.api.ui.DrawStyle
BASELINE, BOTTOM, ELLIPSIS, HALIGN_MASK, HCENTER, HDEFAULT, HFULL, LEADING, LEFT, RIGHT, TOP, TRAILING, TRUNCATE_BEGINNING, VALIGN_MASK, VCENTER, VDEFAULT, VFULL
 
Constructor Summary
ImageControl(IBOBAction action, long style)
          Constructor to create the image control
 
Method Summary
protected  void drawFocus(net.rim.device.api.ui.Graphics g, boolean on)
          (non-Javadoc)
 IBOBAction getAction()
          Retrieve the action assigned to this button
 net.rim.device.api.system.Bitmap getBitmapImage()
           
 int getColSpan()
          (non-Javadoc)
 int getControlID()
          Returns the control's ID
 ICustomEventsDelegate getCustomEventsDelegate()
          Returns the control's custom events delegate
 long getHorizontalAlignment()
          (non-Javadoc)
 java.lang.String getName()
          (non-Javadoc)
 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  boolean navigationClick(int status, int time)
          (non-Javadoc)
protected  boolean navigationMovement(int dx, int dy, int status, int time)
          (non-Javadoc)
protected  boolean navigationUnclick(int status, int time)
          (non-Javadoc)
protected  void onDisplay()
           
protected  void onFocus(int direction)
          (non-Javadoc)
protected  void onUnfocus()
          (non-Javadoc)
protected  void paint(net.rim.device.api.ui.Graphics g)
          (non-Javadoc)
 void refresh()
          (non-Javadoc)
 void refreshFooter()
          Refresh the footer with the display valu for this image.
 void runAction()
          Run the action assigned to this button
 void setAction(IBOBAction action)
          Set the action assigned to this button
 void setBackgroundColor(int bgcolor)
          (non-Javadoc)
 void setColSpan(int colspan)
          (non-Javadoc)
 void setControlID(int controlID)
          Sets the control's ID
 void setCustomEventsDelegate(ICustomEventsDelegate delegate, int eventsFlags)
          Sets the control's custom events delegate for the given events
 void setFocusDisplayValue(java.lang.String displayValue)
          Set focus display value
 void setFooterField(FooterField field)
          Set the footer field
 void setImage(net.rim.device.api.system.Bitmap image)
          Set image to the control
 void setImage(java.lang.Object image)
          Set image
 void setImage(java.lang.String imageName)
          Set image to the control
 void setLayoutHeight(int height)
          (non-Javadoc)
 void setLayoutWidth(int width)
          (non-Javadoc)
 void setRowSpan(int rowspan)
          (non-Javadoc)
 void setScaleAspectFit(boolean isScaleAspectFit)
          Sets if scaling the image as aspect fit
 void setVariableSource(ControlVariable variable)
          set the control variable object for the image source
protected  boolean touchEvent(net.rim.device.api.ui.TouchEvent message)
          (non-Javadoc)
 
Methods inherited from class net.rim.device.api.ui.component.BitmapField
getBitmap, getBitmapHeight, getBitmapWidth, paintBitmap, setBitmap, setImage, setSpace
 
Methods inherited from class net.rim.device.api.ui.Field
drawHighlightRegion, fieldChangeNotify, focusAdd, focusChangeNotify, focusRemove, getAccessibleContext, getBackground, getBackground, getBorder, getBorder, getBorder, getChangeListener, getContentHeight, getContentLeft, getContentRect, getContentRect, getContentTop, getContentWidth, getContextMenu, getContextMenu, getCookie, getExtent, getExtent, getFieldStyle, getFocusListener, getFocusRect, 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, invokeAction, isDataValid, isDirty, isEditable, isFocus, isFocusable, isMuddy, isPasteable, isSelectable, isSelecting, isSelectionCopyable, isSelectionCutable, isSelectionDeleteable, isSpellCheckable, isStyle, isVisible, keyChar, keyControl, keyDown, keyRepeat, keyStatus, keyUp, makeContextMenu, moveFocus, moveFocus, onExposed, onMenuDismissed, onMenuDismissed, onObscured, onUndisplay, onVisibilityChange, paintBackground, paste, select, selectionCopy, selectionCut, selectionDelete, setBackground, setBackground, setBorder, setBorder, setBorder, setBorder, setBorder, setChangeListener, setCookie, setDirty, setEditable, setExtent, setFocus, setFocusListener, setFont, setFont, setMargin, setMargin, setMuddy, setNonSpellCheckable, setPadding, setPadding, setPosition, setVisualState, trackwheelClick, trackwheelUnclick, updateLayout
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_UNDEFINED_IMAGE_MESSAGE

public static final java.lang.String DEFAULT_UNDEFINED_IMAGE_MESSAGE
See Also:
Constant Field Values

_customEventsHandler

protected CustomEventsHandler _customEventsHandler

_controlID

protected int _controlID

_orientation

protected int _orientation
Constructor Detail

ImageControl

public ImageControl(IBOBAction action,
                    long style)
Constructor to create the image control

Parameters:
action - IBOBAction action object to perform when clicked on
style - long value for the style of this control eg. Field.FIELD_LEFT, Field.FIELD_RIGHT, Field.FIELD_HCENTER, etc.
See Also:
Field, IBOBAction
Method Detail

makeContextMenu

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

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

setImage

public void setImage(net.rim.device.api.system.Bitmap image)
Set image to the control

Parameters:
image - Bitmap object for the image
See Also:
Bitmap

setImage

public void setImage(java.lang.String imageName)
Set image to the control

Parameters:
imageName - String value for the image name

setVariableSource

public void setVariableSource(ControlVariable variable)
set the control variable object for the image source

Parameters:
variable - ControlVariable control variable object
See Also:
ControlVariable

getAction

public IBOBAction getAction()
Retrieve the action assigned to this button

Returns:
IBOBAction action object
See Also:
IBOBAction

setAction

public void setAction(IBOBAction action)
Set the action assigned to this button

Parameters:
action - IBOBAction action object to be perform when the button is clicked on
See Also:
IBOBAction

runAction

public void runAction()
Run the action assigned to this button


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)

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()

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)

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)

getPreferredWidth

public int getPreferredWidth()
(non-Javadoc)

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

getPreferredHeight

public int getPreferredHeight()
(non-Javadoc)

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

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()

onFocus

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

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

onUnfocus

protected void onUnfocus()
(non-Javadoc)

Overrides:
onUnfocus in class net.rim.device.api.ui.Field
See Also:
Field.onUnfocus()

navigationClick

protected boolean navigationClick(int status,
                                  int time)
(non-Javadoc)

Overrides:
navigationClick in class net.rim.device.api.ui.Field
See Also:
Field.navigationClick(int status, int time)

navigationUnclick

protected boolean navigationUnclick(int status,
                                    int time)
(non-Javadoc)

Overrides:
navigationUnclick in class net.rim.device.api.ui.Field
See Also:
Field.navigationUnclick(int status, int time)

navigationMovement

protected boolean navigationMovement(int dx,
                                     int dy,
                                     int status,
                                     int time)
(non-Javadoc)

Overrides:
navigationMovement in class net.rim.device.api.ui.Field
See Also:
Field.navigationMovement(int dx, int dy, int status, int time)

touchEvent

protected boolean touchEvent(net.rim.device.api.ui.TouchEvent message)
(non-Javadoc)

Overrides:
touchEvent in class net.rim.device.api.ui.Field
See Also:
Field.touchEvent(TouchEvent message)

drawFocus

protected void drawFocus(net.rim.device.api.ui.Graphics g,
                         boolean on)
(non-Javadoc)

Overrides:
drawFocus in class net.rim.device.api.ui.component.BitmapField
See Also:
Field.drawFocus(Graphics g, boolean on)

paint

protected void paint(net.rim.device.api.ui.Graphics g)
(non-Javadoc)

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

refreshFooter

public void refreshFooter()
Refresh the footer with the display valu for this image. If no dipslay value is defined, show the image name instead.


refresh

public void refresh()
(non-Javadoc)

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

layout

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

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

setFooterField

public void setFooterField(FooterField field)
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

setFocusDisplayValue

public void setFocusDisplayValue(java.lang.String displayValue)
Set focus display value

Parameters:
displayValue - String value for the display when this image is focused.

setImage

public void setImage(java.lang.Object image)
Set image

Parameters:
image - Object value the image name or the Bitmap object

getBitmapImage

public net.rim.device.api.system.Bitmap getBitmapImage()

getCustomEventsDelegate

public ICustomEventsDelegate getCustomEventsDelegate()
Returns the control's custom events delegate

Returns:
the control's custom events delegate

setCustomEventsDelegate

public void setCustomEventsDelegate(ICustomEventsDelegate delegate,
                                    int eventsFlags)
Sets the control's custom events delegate for the given events

Parameters:
delegate - custom events delegate
eventsFlags - the events to set delegate to

getControlID

public int getControlID()
Returns the control's ID

Returns:
the control's Id

setControlID

public void setControlID(int controlID)
Sets the control's ID

Parameters:
controlId - control ID

setScaleAspectFit

public void setScaleAspectFit(boolean isScaleAspectFit)
Sets if scaling the image as aspect fit

Parameters:
isScaleAspectFit - - true means to scale the image as aspect fit, otherwise aspect fill

onDisplay

protected void onDisplay()
Overrides:
onDisplay in class net.rim.device.api.ui.Field