|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.rim.device.api.ui.Field
com.sybase.uep.bobclient.controls.Button
public class Button
This is a button control.
It draws a custom button that gets laid out in the LayoutManager
A label can be assigned to the button to display.
An action can be assigned to the button to execute.
It can also display an image to the right side of the button.
Control
,
LayoutManager
,
setAction(IBOBAction action)
,
setImage(String image)
,
setImage(Bitmap image)
,
IBOBAction
Field Summary | |
---|---|
protected AppLoggerWrapper |
_appLogger
|
protected int |
_controlID
|
protected int |
_cushion
|
protected CustomEventsHandler |
_customEventsHandler
|
protected net.rim.device.api.system.EncodedImage |
_eImage
|
protected FontStyle |
_focusFontStyle
|
protected net.rim.device.api.system.Bitmap |
_image
Encourage to use the _eImage, keep this field only for compatible with the interface |
protected int |
_imageAlignment
|
protected int |
_orientation
|
protected FontStyle |
_unfocusFontStyle
|
static int |
BUTTON_TOP_BOTTOM_CUSHION
|
static int |
IMAGE_ALIGN_CENTER
|
static int |
IMAGE_ALIGN_LEFT
|
static int |
IMAGE_ALIGN_RIGHT
|
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 | |
---|---|
Button(long style)
Constructor to create a button control |
|
Button(long style,
boolean isFocusable)
|
Method Summary | |
---|---|
protected void |
drawBorder(net.rim.device.api.ui.Graphics g,
FontStyle buttonFontStyle)
|
protected void |
drawButton(net.rim.device.api.ui.Graphics g,
boolean isFocus)
Draws this button. |
protected void |
drawFocus(net.rim.device.api.ui.Graphics g,
boolean on)
(non-Javadoc) |
protected void |
drawGradient(net.rim.device.api.ui.Graphics g,
FontStyle buttonFontStyle,
int height,
int width)
|
IBOBAction |
getAction()
Retrieve the action assigned to this button |
int |
getBorderColor()
Retrieve the border color |
int |
getButtonWidth()
Retrieve button width based on the label and image |
int |
getColSpan()
(non-Javadoc) |
int |
getControlID()
Returns the control's ID |
ICustomEventsDelegate |
getCustomEventsDelegate()
Returns the control's custom events delegate |
FontStyle |
getFocusFontStyle()
Retrieve this focus font style |
long |
getHorizontalAlignment()
(non-Javadoc) |
java.lang.String |
getName()
(non-Javadoc) |
int |
getPreferredHeight()
(non-Javadoc) |
int |
getPreferredWidth()
(non-Javadoc) |
int |
getRowSpan()
(non-Javadoc) |
FontStyle |
getUnfocusFontStyle()
Retrieve this unfocus font style |
java.lang.Object |
getValue()
(non-Javadoc) |
long |
getVerticalAlignment()
(non-Javadoc) |
protected void |
layout(int width,
int height)
(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 |
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(java.lang.String valueToBeDisplay)
Refresh the footer field from the screen that contains the text of the button. |
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 |
setBorderColor(int color)
Set the border color |
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 |
setFocusFontStyle(FontStyle fontStyle)
Set the focus font style for this control |
void |
setFooterField(FooterField field)
Set the footer field |
void |
setImage(net.rim.device.api.system.Bitmap image)
Add image to the button |
void |
setImage(net.rim.device.api.system.Bitmap image,
int alignment)
Add image to the button |
void |
setImage(java.lang.String image)
Add image to the button |
void |
setImage(java.lang.String image,
int alignment)
Add image to the button |
void |
setImageAlignment(int alignment)
Set the image alignment |
void |
setLabel(int labelRID)
Set the label for this button by localization resource id |
void |
setLabel(java.lang.String label)
Set the label for this button |
void |
setLayoutHeight(int height)
(non-Javadoc) |
void |
setLayoutWidth(int width)
(non-Javadoc) |
void |
setProperty(int key,
net.rim.device.api.system.Bitmap image)
Set the property action for this button |
void |
setProperty(int key,
IBOBAction action)
Set the property action for this button |
void |
setProperty(int key,
java.lang.String value)
Set the property values for this button |
void |
setRowSpan(int rowspan)
(non-Javadoc) |
void |
setUnfocusFontStyle(FontStyle fontStyle)
Set the unfocus font style for this control |
void |
setVariableLabel(ControlVariable variable)
Set the variable for the label |
java.lang.String |
toString()
Return the label of the button |
protected boolean |
touchEvent(net.rim.device.api.ui.TouchEvent message)
(non-Javadoc) |
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, makeContextMenu, moveFocus, moveFocus, onDisplay, 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, wait, wait, wait |
Field Detail |
---|
public static final int IMAGE_ALIGN_LEFT
public static final int IMAGE_ALIGN_RIGHT
public static final int IMAGE_ALIGN_CENTER
public static final int BUTTON_TOP_BOTTOM_CUSHION
protected net.rim.device.api.system.Bitmap _image
protected net.rim.device.api.system.EncodedImage _eImage
protected int _imageAlignment
protected FontStyle _unfocusFontStyle
protected FontStyle _focusFontStyle
protected AppLoggerWrapper _appLogger
protected int _cushion
protected CustomEventsHandler _customEventsHandler
protected int _controlID
protected int _orientation
Constructor Detail |
---|
public Button(long style)
style
- long
value for the style of the label control
Can be Field.FIELD_LEFT
, Field.FIELD_RIGHT
, Field.FIELD_HCENTER
, etc.net.rim.device.api.ui.Field.FIELD_LEFT
,
net.rim.device.api.ui.Field.FIELD_RIGHT
,
net.rim.device.api.ui.Field.FIELD_HCENTER
public Button(long style, boolean isFocusable)
Method Detail |
---|
public void setBackgroundColor(int bgcolor)
setBackgroundColor
in interface Control
bgcolor
- int
value of the color in HEX.
For example: 0x00000000, 0x00FF0000, 0x00FFFFFFControl.setBackgroundColor(int bgcolor)
public void setColSpan(int colspan)
setColSpan
in interface Control
colspan
- int
value of the column spanControl.setColSpan(int colspan)
public int getColSpan()
getColSpan
in interface Control
int
value of the column spanControl.getColSpan()
public void setRowSpan(int rowspan)
setRowSpan
in interface Control
rowspan
- int
value of the row spanControl.setRowSpan(int rowspan)
public int getRowSpan()
getRowSpan
in interface Control
int
value of the row spanControl.getRowSpan()
public long getHorizontalAlignment()
getHorizontalAlignment
in interface Control
long
value of the horizontal alignment.
Possible values could be Field.FIELD_HCENTER, Field.FIELD_RIGHT, or Field.FIELD_LEFTControl.getHorizontalAlignment()
public long getVerticalAlignment()
getVerticalAlignment
in interface Control
long
value of the vertical alignment
Possible values could be Field.FIELD_TOP, Field.FIELD_BOTTOM, or Field.FIELD_VCENTERControl.getVerticalAlignment()
public void setVariableLabel(ControlVariable variable)
variable
- ControlVariable
objectControlVariable
public FontStyle getUnfocusFontStyle()
FontStyle
objectFontStyle
public void setUnfocusFontStyle(FontStyle fontStyle)
fontStyle
- FontStyle
font style objectFontStyle
public FontStyle getFocusFontStyle()
FontStyle
font style objectFontStyle
public void setFocusFontStyle(FontStyle fontStyle)
fontStyle
- FontStyle
font style objectFontStyle
protected void onFocus(int direction)
onFocus
in class net.rim.device.api.ui.Field
Field.onFocus(int direction)
protected void onUnfocus()
onUnfocus
in class net.rim.device.api.ui.Field
Field.onUnfocus()
protected boolean navigationClick(int status, int time)
navigationClick
in class net.rim.device.api.ui.Field
Field.navigationClick(int status, int time)
protected boolean navigationUnclick(int status, int time)
navigationUnclick
in class net.rim.device.api.ui.Field
Field.navigationUnclick(int status, int time)
protected boolean navigationMovement(int dx, int dy, int status, int time)
navigationMovement
in class net.rim.device.api.ui.Field
Field.navigationMovement(int dx, int dy, int status, int time)
protected boolean touchEvent(net.rim.device.api.ui.TouchEvent message)
touchEvent
in class net.rim.device.api.ui.Field
Field.touchEvent(TouchEvent message)
protected void drawFocus(net.rim.device.api.ui.Graphics g, boolean on)
drawFocus
in class net.rim.device.api.ui.Field
Field.drawFocus(Graphics g, boolean on)
public IBOBAction getAction()
IBOBAction
action objectIBOBAction
public void setAction(IBOBAction action)
action
- IBOBAction
action to be perform when the button is clicked onIBOBAction
public void runAction()
public void setLabel(java.lang.String label)
label
- String
value for this labelpublic void setLabel(int labelRID)
labelRID
- localization resource ID for the label to be displayed on the buttonpublic void setImage(java.lang.String image)
image
- String
value for the file name of the imagepublic void setImage(java.lang.String image, int alignment)
image
- String
for the file name of the imagealignment
- int
value for the alignment of the button.
Can be IMAGE_ALIGN_LEFT
(image will be to the left of the text if any),
IMAGE_ALIGN_RIGHT
(image will be to the right of the text if any),
or IMAGE_ALIGN_CENTER
(image will be to the center and there shouldn't be text otherwise it will paint over the text)Button.IMAGE_ALIGN_LEFT
,
Button.IMAGE_ALIGN_RIGHT
,
Button.IMAGE_ALIGN_CENTER
public void setImage(net.rim.device.api.system.Bitmap image)
image
- Bitmap
of the imageBitmap
public void setImage(net.rim.device.api.system.Bitmap image, int alignment)
image
- Bitmap
of the imagealignment
- int
value for the alignment.
Can be IMAGE_ALIGN_LEFT
(image will be to the left of the text if any),
IMAGE_ALIGN_RIGHT
(image will be to the right of the text if any),
or IMAGE_ALIGN_CENTER
(image will be to the center and there shouldn't be text otherwise it will paint over the text)Bitmap
,
Button.IMAGE_ALIGN_LEFT
,
Button.IMAGE_ALIGN_RIGHT
,
Button.IMAGE_ALIGN_CENTER
public void setImageAlignment(int alignment)
alignment
- int
value for the alignment.
Can be IMAGE_ALIGN_LEFT
(image will be to the left of the text if any),
IMAGE_ALIGN_RIGHT
(image will be to the right of the text if any),
or IMAGE_ALIGN_CENTER
(image will be to the center and there shouldn't be text otherwise it will paint over the text)Bitmap
,
Button.IMAGE_ALIGN_LEFT
,
Button.IMAGE_ALIGN_RIGHT
,
Button.IMAGE_ALIGN_CENTER
public void setBorderColor(int color)
color
- int
HEX value for the border color.
Examples of colors are 0x00FFFFFF, 0x00FF0000, 0x00000000public int getBorderColor()
int
HEX value for the border scolorpublic java.lang.Object getValue()
getValue
in interface Control
Object
of the value set for this controlControl.getValue()
public java.lang.String getName()
getName
in interface Control
String
value of the key nameControl.getName()
public void setLayoutWidth(int width)
setLayoutWidth
in interface Control
width
- int
value of the available layout widthControl.setLayoutWidth(int width)
public void setLayoutHeight(int height)
setLayoutHeight
in interface Control
height
- int
value of the available layout heightControl.setLayoutHeight(int height)
public void setProperty(int key, IBOBAction action)
key
- int
key of a specific button attributeaction
- IBOBAction
action objectIBOBAction
public void setProperty(int key, net.rim.device.api.system.Bitmap image)
key
- int
int value for the key of a specific attributeimage
- Bitmap
image for this buttonpublic void setProperty(int key, java.lang.String value)
key
- int
value for the key pertaining to a specific attribute of this controlvalue
- String
value for this attributepublic int getButtonWidth()
int
value for the width of the buttonpublic int getPreferredWidth()
getPreferredWidth
in interface Control
getPreferredWidth
in class net.rim.device.api.ui.Field
int
value of the available layout widthControl.getPreferredWidth()
public int getPreferredHeight()
getPreferredHeight
in interface Control
getPreferredHeight
in class net.rim.device.api.ui.Field
int
value of the available layout heightControl.getPreferredHeight()
protected void layout(int width, int height)
layout
in class net.rim.device.api.ui.Field
Field.layout(int width, int height)
protected void paint(net.rim.device.api.ui.Graphics g)
paint
in class net.rim.device.api.ui.Field
Field.paint(Graphics g)
protected void drawButton(net.rim.device.api.ui.Graphics g, boolean isFocus)
graphics
- Graphics
object context for repainting this field.isFocus
- true
if the button is focused, otherwise false
net.rim.device.api.ui.Graphicss
protected void drawGradient(net.rim.device.api.ui.Graphics g, FontStyle buttonFontStyle, int height, int width)
protected void drawBorder(net.rim.device.api.ui.Graphics g, FontStyle buttonFontStyle)
public void refresh()
refresh
in interface Control
Control.refresh()
public void refreshFooter(java.lang.String valueToBeDisplay)
valueToBeDisplay
- String
value for the text displayed in the footerpublic void setFooterField(FooterField field)
{@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.FooterField
public java.lang.String toString()
toString
in class java.lang.Object
String
value for the button labelspublic ICustomEventsDelegate getCustomEventsDelegate()
public void setCustomEventsDelegate(ICustomEventsDelegate delegate, int eventsFlags)
delegate
- custom events delegateeventsFlags
- the events to set delegate topublic int getControlID()
public void setControlID(int controlID)
controlId
- control ID
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |