com.sybase.uep.bobclient.screens
Class ProfileScreen

java.lang.Object
  extended by net.rim.device.api.ui.Field
      extended by net.rim.device.api.ui.Manager
          extended by net.rim.device.api.ui.Screen
              extended by net.rim.device.api.ui.container.FullScreen
                  extended by net.rim.device.api.ui.container.MainScreen
                      extended by com.sybase.uep.bobclient.screens.BaseBOBScreen
                          extended by com.sybase.uep.bobclient.screens.BaseBOBStockScreen
                              extended by com.sybase.uep.bobclient.screens.BaseBOBSettingsScreen
                                  extended by com.sybase.uep.bobclient.screens.ProfileScreen
All Implemented Interfaces:
IBOBScreen, ISettingScreen, java.lang.Runnable, net.rim.device.api.ui.component.ListFieldCallback

public class ProfileScreen
extends BaseBOBSettingsScreen
implements net.rim.device.api.ui.component.ListFieldCallback, ISettingScreen

This is the profile list screen

This screen will show a list of profiles and allow users to edit: their profile

Author:
tdang
See Also:
BaseBOBStockScreen

Field Summary
static java.lang.String DEFAULT_CLOSE_MENU_LABEL
           
static java.lang.String DEFAULT_EDIT_PROFILE_MENU_LABEL
           
static java.lang.String DEFAULT_ERROR_LOADING_PROFILES_MESSAGE
           
static java.lang.String DEFAULT_ERROR_SAVING_PROFILES_MESSAGE
           
static java.lang.String DEFAULT_SET_LOGIN_PROFILE_ERROR_MESSAGE
           
static java.lang.String DEFAULT_SET_LOGIN_PROFILE_MENU_LABEL
           
static java.lang.String DEFAULT_TITLE_LABEL
           
 
Fields inherited from class com.sybase.uep.bobclient.screens.BaseBOBSettingsScreen
_clientName, _encodedBackgroundImage
 
Fields inherited from class com.sybase.uep.bobclient.screens.BaseBOBStockScreen
_backgroundImage, _isScaleBackgroundImageAspectFit, _navigationBarBorderStyle, _navigationBarStyle, _screenTitle
 
Fields inherited from class com.sybase.uep.bobclient.screens.BaseBOBScreen
_appLogger, KEY
 
Fields inherited from class net.rim.device.api.ui.container.MainScreen
NO_STATUS_SEPARATOR, NO_TITLE_SEPARATOR
 
Fields inherited from class net.rim.device.api.ui.Screen
DEFAULT_CLOSE, DEFAULT_MENU, NO_SYSTEM_MENU_ITEMS
 
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
ProfileScreen(int screenTitleRID, java.lang.String clientName)
          Constructor to create the Profile List Screen
ProfileScreen(java.lang.String clientName)
          Constructor to create the Profile List Screen
ProfileScreen(java.lang.String screenTitle, java.lang.String clientName)
          Constructor to create the Profile List Screen
 
Method Summary
protected  void defineScreen()
          (non-Javadoc)
 void drawListRow(net.rim.device.api.ui.component.ListField listField, net.rim.device.api.ui.Graphics graphics, int index, int y, int width)
          (non-Javadoc)
 java.lang.Object get(net.rim.device.api.ui.component.ListField listField, int index)
          (non-Javadoc)
 int getPreferredWidth(net.rim.device.api.ui.component.ListField listField)
          (non-Javadoc)
 FontStyle getScreenFontStyle()
          Get this screen's font style
 int indexOfList(net.rim.device.api.ui.component.ListField listField, java.lang.String prefix, int start)
          (non-Javadoc)
 void initProfileList()
          Initialize the profile list
 void refresh()
          (non-Javadoc)
 boolean saveProfileList()
           
 void setCloseMenuLabel(java.lang.String label)
          Set the close menu label
 void setEditMenuLabel(java.lang.String label)
          Set the edit profile menu label
 void setErrorLoadingProfileMsg(java.lang.String msg)
          Set the error loading profile message string
 void setErrorLoginProfileMsg(java.lang.String msg)
          Set the error setting profile message string
 void setErrorSavingProfileMsg(java.lang.String msg)
          Set the error saving profile message string
 void setLoginProfileIcon(java.lang.Object image)
          Set login profile icon
 void setLoginProfileMenuLabel(java.lang.String label)
          Set the login profile menu label
 void setProperty(int key, int resourceID)
          Set the property values for the screen
 void setProperty(int key, java.lang.Object value)
          Set the property values for this screen
 void setScreenFontStyle(FontStyle fontStyle)
          Set the font style for this screen
 
Methods inherited from class com.sybase.uep.bobclient.screens.BaseBOBSettingsScreen
getClientName, getLabelMsgString, getScreenTitle
 
Methods inherited from class com.sybase.uep.bobclient.screens.BaseBOBStockScreen
closeScreen, runOnSaveActions, setNavigationBarBorderStyle, setNavigationBarLabel, setNavigationBarStyle, setOnCloseActions, setOnSaveActions
 
Methods inherited from class com.sybase.uep.bobclient.screens.BaseBOBScreen
addMenuAction, addMenuAction, addMenuAction, addMenuAction, addMenuAction, addMenuAction, addMenuAction, addMenuAction, addMenuAction, addMenuAction, addMenuSeperator, addMenuSeperator, addReferencedMBO, addSourceConnectionReference, addSpacer, askMobileDataControlRefresh, deleteMenuAction, getFooter, getLabelMsgValue, getMenuGroup, getMenuItemByName, getMenuItemByNameAndDisable, getParentScreen, getReferencedMBOList, getScreenContext, getSyncProgressBar, getUIController, initAppLogger, initScreenContext, isCache, isSynchronizing, keyChar, makeMenu, onFocusNotify, refreshScreenContext, run, setFooter, setFooterBorderColor, setFooterFontStyle, setFooterHasBorder, setFooterLabel, setHeaderFooter, setIsCache, setLabelMsgValue, setParentScreen, setSynchronizing
 
Methods inherited from class net.rim.device.api.ui.container.MainScreen
addMenuItem, getField, getFieldCount, getFieldWithFocus, getFieldWithFocusIndex, getMainManager, keyCharUnhandled, onSavePrompt, removeAllMenuItems, removeMenuItem, setBanner, setId, setStatus, setTitle, setTitle, setTitle, setTitle
 
Methods inherited from class net.rim.device.api.ui.container.FullScreen
sublayout
 
Methods inherited from class net.rim.device.api.ui.Screen
add, addKeyListener, addScreenUiEngineAttachedListener, addTrackwheelListener, close, delete, deleteRange, dispatchKeyEvent, doLayout, doPaint, ensureRegionVisible, getAccessibleContext, getApplication, getDefaultMenuItem, getDelegate, getFieldAtLocation, getFocusRect, getGraphics, getLeafFieldWithFocus, getMenu, getScreenAbove, getScreenBelow, getUiEngine, getVirtualKeyboard, insert, invalidate, invalidate, invalidateAll, invalidateLayout, invokeAction, isDataValid, isDirty, isDisplayed, isFocus, isFocusable, isGlobal, isGlobalStatus, isMuddy, isObscured, isSelecting, keyControl, keyDown, keyRepeat, keyStatus, keyUp, layoutDelegate, navigationClick, navigationMovement, navigationUnclick, onClose, onDisplay, onExposed, onFocus, onMenu, onMenuDismissed, onMenuDismissed, onObscured, onSave, onUiEngineAttached, onUndisplay, onUnfocus, openDevelopmentBackdoor, openProductionBackdoor, paint, paintBackground, removeFocus, removeKeyListener, removeScreenUiEngineAttachedListener, removeTrackwheelListener, replace, save, scroll, setBackdoorAltStatus, setDefaultClose, setDirty, setFocus, setFocus, setFocus, setHorizontalQuantization, setPositionDelegate, setTrackballFilter, setTrackballSensitivityXOffset, setTrackballSensitivityYOffset, setVerticalQuantization, touchEvent, trackwheelClick, trackwheelClickUnhandled, trackwheelRoll, trackwheelUnclick, updateDisplay
 
Methods inherited from class net.rim.device.api.ui.Manager
clearCustomScrollArrows, deleteAll, getHorizontalScroll, getPreferredHeightOfChild, getPreferredWidthOfChild, getVerticalScroll, getVirtualHeight, getVirtualWidth, getVisibleHeight, getVisibleWidth, invalidateFieldRange, isDownArrowShown, isUpArrowShown, isValidLayout, layout, layoutChild, moveFocus, moveFocus, moveFocus, nextFocus, nextFocus, paintChild, setFocus, setHorizontalScroll, setNonfocusableOverride, setPositionChild, setScrollListener, setVerticalScroll, setVirtualExtent, subpaint
 
Methods inherited from class net.rim.device.api.ui.Field
drawFocus, drawHighlightRegion, fieldChangeNotify, 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, getLeft, getManager, getMargin, getMarginBottom, getMarginLeft, getMarginRight, getMarginTop, getOriginal, getPadding, getPaddingBottom, getPaddingLeft, getPaddingRight, getPaddingTop, getPreferredHeight, getPreferredWidth, getScreen, getState, getStyle, getTop, getVisualState, getWidth, isEditable, isPasteable, isSelectable, isSelectionCopyable, isSelectionCutable, isSelectionDeleteable, isSpellCheckable, isStyle, isVisible, makeContextMenu, makeContextMenu, onVisibilityChange, paste, select, selectionCopy, selectionCut, selectionDelete, setBackground, setBackground, setBorder, setBorder, setBorder, setBorder, setBorder, setChangeListener, setCookie, setEditable, setExtent, setFocusListener, setFont, setFont, setMargin, setMargin, setMuddy, setNonSpellCheckable, setPadding, setPadding, setPosition, setVisualState, updateLayout
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.sybase.uep.bobclient.screens.ISettingScreen
getClientName, getScreenTitle
 

Field Detail

DEFAULT_TITLE_LABEL

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

DEFAULT_EDIT_PROFILE_MENU_LABEL

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

DEFAULT_SET_LOGIN_PROFILE_MENU_LABEL

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

DEFAULT_CLOSE_MENU_LABEL

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

DEFAULT_SET_LOGIN_PROFILE_ERROR_MESSAGE

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

DEFAULT_ERROR_LOADING_PROFILES_MESSAGE

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

DEFAULT_ERROR_SAVING_PROFILES_MESSAGE

public static final java.lang.String DEFAULT_ERROR_SAVING_PROFILES_MESSAGE
See Also:
Constant Field Values
Constructor Detail

ProfileScreen

public ProfileScreen(java.lang.String clientName)
Constructor to create the Profile List Screen


ProfileScreen

public ProfileScreen(java.lang.String screenTitle,
                     java.lang.String clientName)
Constructor to create the Profile List Screen

Parameters:
screenTitle - String value for the screen title
hasLoginScreen - boolean has login screen or not

ProfileScreen

public ProfileScreen(int screenTitleRID,
                     java.lang.String clientName)
Constructor to create the Profile List Screen

Parameters:
screenTitleRID - int value for the screen title resource id
Method Detail

defineScreen

protected void defineScreen()
(non-Javadoc)

Overrides:
defineScreen in class BaseBOBStockScreen
See Also:
BaseBOBScreen.defineScreen()

initProfileList

public void initProfileList()
Initialize the profile list


getScreenFontStyle

public FontStyle getScreenFontStyle()
Get this screen's font style

Returns:
FontStyle font style object
See Also:
FontStyle

setScreenFontStyle

public void setScreenFontStyle(FontStyle fontStyle)
Set the font style for this screen

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

setLoginProfileMenuLabel

public void setLoginProfileMenuLabel(java.lang.String label)
Set the login profile menu label

Parameters:
label - String value for the new label

setEditMenuLabel

public void setEditMenuLabel(java.lang.String label)
Set the edit profile menu label

Parameters:
label - String value for the new label

setCloseMenuLabel

public void setCloseMenuLabel(java.lang.String label)
Set the close menu label

Parameters:
label - String value for the new label

setErrorLoadingProfileMsg

public void setErrorLoadingProfileMsg(java.lang.String msg)
Set the error loading profile message string

Parameters:
msg - String value for the new message

setErrorSavingProfileMsg

public void setErrorSavingProfileMsg(java.lang.String msg)
Set the error saving profile message string

Parameters:
msg - String value for the new message

setErrorLoginProfileMsg

public void setErrorLoginProfileMsg(java.lang.String msg)
Set the error setting profile message string

Parameters:
msg - String value for the new message

setLoginProfileIcon

public void setLoginProfileIcon(java.lang.Object image)
Set login profile icon

Parameters:
image - String value for the file name of the image or the Bitmap object

refresh

public void refresh()
(non-Javadoc)

Specified by:
refresh in interface IBOBScreen
Overrides:
refresh in class BaseBOBScreen
See Also:
BaseBOBScreen.refresh()

setProperty

public void setProperty(int key,
                        int resourceID)
Set the property values for the screen

Overrides:
setProperty in class BaseBOBScreen
Parameters:
key - int value for the screen property attribute
resourceID - int for the string localization resource ID

setProperty

public void setProperty(int key,
                        java.lang.Object value)
Set the property values for this screen

Overrides:
setProperty in class BaseBOBStockScreen
Parameters:
key - int value for a screen attribute
value - Object value for the attribute value
See Also:
ScreenProperties

drawListRow

public void drawListRow(net.rim.device.api.ui.component.ListField listField,
                        net.rim.device.api.ui.Graphics graphics,
                        int index,
                        int y,
                        int width)
(non-Javadoc)

Specified by:
drawListRow in interface net.rim.device.api.ui.component.ListFieldCallback
See Also:
ListFieldCallback.drawListRow(ListField listField, Graphics graphics, int index, int y, int width)

get

public java.lang.Object get(net.rim.device.api.ui.component.ListField listField,
                            int index)
(non-Javadoc)

Specified by:
get in interface net.rim.device.api.ui.component.ListFieldCallback
See Also:
ListFieldCallback.get(ListField listField, int index)

getPreferredWidth

public int getPreferredWidth(net.rim.device.api.ui.component.ListField listField)
(non-Javadoc)

Specified by:
getPreferredWidth in interface net.rim.device.api.ui.component.ListFieldCallback
See Also:
ListFieldCallback.getPreferredWidth(ListField listField)

indexOfList

public int indexOfList(net.rim.device.api.ui.component.ListField listField,
                       java.lang.String prefix,
                       int start)
(non-Javadoc)

Specified by:
indexOfList in interface net.rim.device.api.ui.component.ListFieldCallback
See Also:
ListFieldCallback.indexOfList(ListField listField, String prefix, int start)

saveProfileList

public boolean saveProfileList()