com.blackledge.david.tivo.gadgets
Class FileChooser

java.lang.Object
  extended by com.tivo.hme.sdk.HmeObject
      extended by com.tivo.hme.sdk.View
          extended by com.tivo.hme.bananas.BView
              extended by com.tivo.hme.bananas.BScreen
                  extended by com.blackledge.david.tivo.gadgets.FileChooser
All Implemented Interfaces:
com.tivo.hme.bananas.IBananas, com.tivo.hme.bananas.IHighlightsLayout, com.tivo.hme.sdk.IHmeEventHandler, com.tivo.hme.sdk.IHmeProtocol

public class FileChooser
extends com.tivo.hme.bananas.BScreen

Simple file chooser screen. Allows you to set Background Color, too. Upon selection, posts your specified event, but does NOT pop the application screen - allowing you to do that yourself, or optionally push a screen based on the selected file/folder.

Version:
$Revision: 1.1 $

Field Summary
 
Fields inherited from interface com.tivo.hme.bananas.IBananas
A_ANCHOR_MASK, A_BOTTOM, A_CENTER, A_DELTA_MASK, A_LEFT, A_NEGATIVE_MASK, A_RIGHT, A_TOP, ARROW_NAMES, BAR_DEFAULT, BAR_HANG, BEVT_ACTION, BEVT_FOCUS, BEVT_SCREEN_ENTER, BEVT_SCREEN_EXIT, H_BAR, H_DOWN, H_KEYBOARD, H_LEFT, H_PAGEDOWN, H_PAGEUP, H_RIGHT, H_UP, H_VIS_FALSE, H_VIS_FOCUS, H_VIS_TRUE, TRANSITION_FADE, TRANSITION_LEFT, TRANSITION_NONE
 
Fields inherited from interface com.tivo.hme.sdk.IHmeProtocol
APP_ERROR_BAD_ARGUMENT, APP_ERROR_BAD_COMMAND, APP_ERROR_OTHER, APP_ERROR_OUT_OF_MEMORY, APP_ERROR_RSRC_NOT_FOUND, APP_ERROR_UNKNOWN, APP_ERROR_VIEW_NOT_FOUND, CMD_RECEIVER_ACKNOWLEDGE_IDLE, CMD_RECEIVER_TRANSITION, CMD_RESERVED, CMD_RSRC_ADD_ANIM, CMD_RSRC_ADD_COLOR, CMD_RSRC_ADD_FONT, CMD_RSRC_ADD_IMAGE, CMD_RSRC_ADD_SOUND, CMD_RSRC_ADD_STREAM, CMD_RSRC_ADD_TEXT, CMD_RSRC_ADD_TTF, CMD_RSRC_CLOSE, CMD_RSRC_REMOVE, CMD_RSRC_SEND_EVENT, CMD_RSRC_SET_ACTIVE, CMD_RSRC_SET_POSITION, CMD_RSRC_SET_SPEED, CMD_VIEW_ADD, CMD_VIEW_REMOVE, CMD_VIEW_SET_BOUNDS, CMD_VIEW_SET_PAINTING, CMD_VIEW_SET_RESOURCE, CMD_VIEW_SET_SCALE, CMD_VIEW_SET_TRANSLATION, CMD_VIEW_SET_TRANSPARENCY, CMD_VIEW_SET_VISIBLE, EVT_APP_INFO, EVT_DEVICE_INFO, EVT_FONT_INFO, EVT_IDLE, EVT_INIT_INFO, EVT_KEY, EVT_RESERVED, EVT_RSRC_INFO, FONT_BOLD, FONT_BOLDITALIC, FONT_ITALIC, FONT_METRICS_BASIC, FONT_METRICS_GLYPH, FONT_PLAIN, ID_ALERT_SOUND, ID_BONK_SOUND, ID_CLIENT, ID_CLIENT_PRE_0_38, ID_DEFAULT_TTF, ID_DESELECT_SOUND, ID_ERROR_SOUND, ID_LEFT_SOUND, ID_NULL, ID_PAGEDOWN_SOUND, ID_PAGEUP_SOUND, ID_RESERVED, ID_RIGHT_SOUND, ID_ROOT_STREAM, ID_ROOT_VIEW, ID_SELECT_SOUND, ID_SLOWDOWN1_SOUND, ID_SPEEDUP1_SOUND, ID_SPEEDUP2_SOUND, ID_SPEEDUP3_SOUND, ID_SYSTEM_TTF, ID_THUMBSDOWN_SOUND, ID_THUMBSUP_SOUND, ID_TIVO_SOUND, ID_UPDOWN_SOUND, KEY_ADVANCE, KEY_CHANNELDOWN, KEY_CHANNELUP, KEY_CLEAR, KEY_DISPLAY, KEY_DOWN, KEY_ENTER, KEY_FORWARD, KEY_INFO, KEY_LEFT, KEY_LIVETV, KEY_MUTE, KEY_NUM0, KEY_NUM1, KEY_NUM2, KEY_NUM3, KEY_NUM4, KEY_NUM5, KEY_NUM6, KEY_NUM7, KEY_NUM8, KEY_NUM9, KEY_OPT_ANGLE, KEY_OPT_ASPECT, KEY_OPT_DVD, KEY_OPT_EXIT, KEY_OPT_GUIDE, KEY_OPT_LIST, KEY_OPT_MENU, KEY_OPT_PIP, KEY_OPT_STOP, KEY_OPT_TOP_MENU, KEY_OPT_WINDOW, KEY_PAUSE, KEY_PLAY, KEY_PRESS, KEY_RECORD, KEY_RELEASE, KEY_REPEAT, KEY_REPLAY, KEY_REVERSE, KEY_RIGHT, KEY_SELECT, KEY_SLOW, KEY_THUMBSDOWN, KEY_THUMBSUP, KEY_TIVO, KEY_UNKNOWN, KEY_UP, KEY_VOLUMEDOWN, KEY_VOLUMEUP, LIMIT_CMD_NBYTES, LIMIT_EVENT_NBYTES, LIMIT_FONT_POINT_SIZE, LIMIT_IMAGE_HEIGHT, LIMIT_IMAGE_NBYTES, LIMIT_IMAGE_WIDTH, LIMIT_SOUND_NBYTES, LIMIT_TEXT_NBYTES, LIMIT_URL_NBYTES, LIMIT_VIEW_DEPTH, MAGIC, RSRC_ERROR_BAD_ARGUMENT, RSRC_ERROR_BAD_DATA, RSRC_ERROR_BAD_MAGIC, RSRC_ERROR_BAD_STATE, RSRC_ERROR_BAD_VERSION, RSRC_ERROR_CONNECT_FAILED, RSRC_ERROR_CONNECTION_LOST, RSRC_ERROR_CONNECTION_TIMEOUT, RSRC_ERROR_HOST_NOT_FOUND, RSRC_ERROR_INCOMPATIBLE, RSRC_ERROR_NOT_SUPPORTED, RSRC_ERROR_OTHER, RSRC_ERROR_UNKNOWN, RSRC_HALIGN_CENTER, RSRC_HALIGN_LEFT, RSRC_HALIGN_MASK, RSRC_HALIGN_RIGHT, RSRC_IMAGE_BESTFIT, RSRC_IMAGE_HFIT, RSRC_IMAGE_MASK, RSRC_IMAGE_VFIT, RSRC_STATUS_CLOSED, RSRC_STATUS_COMPLETE, RSRC_STATUS_CONNECTED, RSRC_STATUS_CONNECTING, RSRC_STATUS_ERROR, RSRC_STATUS_LOADING, RSRC_STATUS_PAUSED, RSRC_STATUS_PLAYING, RSRC_STATUS_READY, RSRC_STATUS_SEEKING, RSRC_STATUS_UNKNOWN, RSRC_TEXT_MASK, RSRC_TEXT_WRAP, RSRC_VALIGN_BOTTOM, RSRC_VALIGN_CENTER, RSRC_VALIGN_MASK, RSRC_VALIGN_TOP, SAFE_ACTION_H, SAFE_ACTION_V, SAFE_TITLE_H, SAFE_TITLE_V, TRANSITION_BACK, TRANSITION_FORWARD, TRANSITION_TELEPORT, VERSION, VERSION_0_38, VERSION_0_40, VERSION_MAJOR, VERSION_MINOR, VERSION_STRING
 
Constructor Summary
FileChooser(com.tivo.hme.bananas.BApplication app)
          A Screen for selecting a file.
 
Method Summary
 File getFile()
          Get the selected File object.
 boolean handleAction(com.tivo.hme.bananas.BView view, Object action)
           
 boolean handleEnter(Object arg, boolean isReturn)
           
 boolean handleExit()
           
 boolean handleKeyPress(int code, long rawcode)
           
 boolean handleKeyRepeat(int code, long rawcode)
           
 void setAction(Object action)
          Your filechooser must set this value if you want to receive an action when the filechooser ends.
 void setBgColor(Color color)
           
 void setFile(File file)
          Set the default file to return if nothing is selected - usually null, but you must to call this again (with null if that's what you want returned) if you re-use the FileChooser screen instance.
 void setFontColor(Color color2)
           
 void setProperties(File startFolder, String pattern, boolean filesSelectable, boolean foldersSelectable)
          Your filechooser will not work until this method is called.
 
Methods inherited from class com.tivo.hme.bananas.BScreen
getAbove, getBelow, getFocus, getFocusDefault, getNormal, handleEvent, handleFocus, setFocus, setFocusDefault
 
Methods inherited from class com.tivo.hme.bananas.BView
getBApp, getFocusBounds, getHighlightBounds, getHighlightIsVisible, getHighlights, getScreen, hasFocus, isAncestorOf, isFocusable, setFocusable, setHighlights, toScreen, toScreen, toScreenBounds, toScreenBounds, toString
 
Methods inherited from class com.tivo.hme.sdk.View
clearResource, dump, getBounds, getChild, getChildCount, getFlags, getHeight, getLocation, getPainting, getParent, getResource, getScaleX, getScaleY, getSize, getTranslate, getTranslationX, getTranslationY, getTransparency, getVisible, getWidth, getX, getY, handleFocus, layoutText, postEvent, remove, remove, setBounds, setBounds, setFocus, setLocation, setLocation, setPainting, setResource, setResource, setResource, setResource, setScale, setScale, setSize, setSize, setTranslation, setTranslation, setTransparency, setTransparency, setVisible, setVisible, translate, translate
 
Methods inherited from class com.tivo.hme.sdk.HmeObject
createAnimation, createAnimation, createColor, createFont, createFont, createImage, createImage, createImage, createImage, createSound, createSound, createSound, createStream, createStream, createStream, createText, createTrueType, flush, getApp, getContext, getID, getResource, handleKeyRelease, parseQuery, play, rsrcFlagsToString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FileChooser

public FileChooser(com.tivo.hme.bananas.BApplication app)
A Screen for selecting a file.

Parameters:
app -
Method Detail

setAction

public void setAction(Object action)
Your filechooser must set this value if you want to receive an action when the filechooser ends.

Parameters:
action -

setProperties

public void setProperties(File startFolder,
                          String pattern,
                          boolean filesSelectable,
                          boolean foldersSelectable)
Your filechooser will not work until this method is called.

Parameters:
startFolder - initial folder to list, and the top of the hierarchy.
pattern - pattern of files that are OK (doesn't apply to folders) currently supports "*.txt,*.log" format only... * may only be at beginning.
filesSelectable - whether the selectaction can be performed on a file.
foldersSelectable - whether the selectaction can be performed on a folder.

handleEnter

public boolean handleEnter(Object arg,
                           boolean isReturn)
Overrides:
handleEnter in class com.tivo.hme.bananas.BScreen

handleExit

public boolean handleExit()
Overrides:
handleExit in class com.tivo.hme.bananas.BScreen

setFontColor

public void setFontColor(Color color2)

setBgColor

public void setBgColor(Color color)

handleAction

public boolean handleAction(com.tivo.hme.bananas.BView view,
                            Object action)
Overrides:
handleAction in class com.tivo.hme.bananas.BScreen

handleKeyPress

public boolean handleKeyPress(int code,
                              long rawcode)
Overrides:
handleKeyPress in class com.tivo.hme.bananas.BView

handleKeyRepeat

public boolean handleKeyRepeat(int code,
                               long rawcode)
Overrides:
handleKeyRepeat in class com.tivo.hme.sdk.HmeObject

getFile

public File getFile()
Get the selected File object.

Returns:
a File, or null (if setFile was not called with a non-null) if nothing was selected.

setFile

public void setFile(File file)
Set the default file to return if nothing is selected - usually null, but you must to call this again (with null if that's what you want returned) if you re-use the FileChooser screen instance.

Parameters:
file -