Class FileChooser
- All Implemented Interfaces:
Constants
,ActionListener
,ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,AncestorListener
,IdvConstants
- Direct Known Subclasses:
HRITChooser
,Level2RadarChooser
,PollingFileChooser
,SuomiNPPChooser
FileChooser
is another "UI nicety" extension. The main
difference is that this class allows choosers.xml
to specify a
boolean attribute, "selectdatasourceid"
. If disabled or not present,
a FileChooser
will behave exactly like a standard
FileChooser
.
If the attribute is present and enabled, the FileChooser
's
data source type will automatically select the
DataSource
corresponding to the chooser's
"datasourceid"
attribute.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class ucar.unidata.idv.chooser.FileChooser
FileChooser.MyFileChooser
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Chooser attribute that controls selecting the default data source.protected JPanel
protected Boolean
Boolean to tell if the load was initiated from the load button (as opposed to typing in a filename... we need to capture that)protected JPanel
private final String
Default data source ID for this chooser.private String
If there is a default data source ID, get the combo box display valueprotected JFileChooser
Get a handle on the actual file chooser.protected IntegratedDataViewer
Get a handle on the IDV.private static final org.slf4j.Logger
Logging object.private final boolean
Whether or not to select the data source corresponding todefaultDataSourceId
within theJComboBox
returned bygetDataSourcesComponent()
.private JComboBox
Different subclasses can use the combobox of data source idsprivate JLabel
protected JPanel
Panels that might need to be enabled/disabled.private boolean
Value is controlled viaancestorAdded(AncestorEvent)
andancestorRemoved(AncestorEvent)
protected OnFileChangeListener
This is mostly used to preemptively null-out the listener.Fields inherited from class ucar.unidata.idv.chooser.FileChooser
allowDirectorySelectionCbx, ATTR_DATASOURCEID, ATTR_DSCOMP, ATTR_FILECOUNT, ATTR_FILEPATTERN, ATTR_FILTERS, ATTR_PATH, ATTR_POLLON, ATTR_SHOWPATTERNFIELD, patternFld, recentFilesCbx
Fields inherited from class ucar.unidata.idv.chooser.IdvChooser
ATTR_ID, ATTR_SHOWDETAILS, dirHistoryCbx, ignoreDirHistory, NULL_PROPERTIES, NULL_STRING, PREF_ADDESERVERS, PREF_CATALOGLIST, PREF_DEFAULTDIR, PREF_IMAGEDESCLIST, PREF_POLLINGINFO, PREF_RADARDESCLIST, PREF_TDSPOINTOBSERVER, PREF_TDSRADARSERVER, PROP_CHOOSER_MAPS, PROP_CHOOSER_PROJECTION_BOUNDS, PROP_CHOOSERCLASSNAME, PROP_STATUS_BACKGROUND, PROP_STATUS_FOREGROUND, PROP_STATUS_TEMPLATE, stationMap
Fields inherited from class ucar.unidata.ui.ChooserPanel
cancelButton, CMD_LOAD, contents, GRID_INSETS, GRID_SPACING, GRID_SPACING_H, GRID_SPACING_V, haveData, helpPath, loadButton, MAP_COLOR, simpleMode
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface edu.wisc.ssec.mcidasv.Constants
BLANK_COMP_GROUP, COMP_MONITORPANEL, DATASELECTOR_NAME, DEFAULT_COLOR_PICKER_SIZE, DEFAULT_DOCPATH, DEFAULT_MAP_Z_LEVEL, DEFAULT_SERVERSTATE, DISPLAY_NAME, DISPLAYCONTROLLER_NAME, ELEMENT_DOUBLE_WIDTH, ELEMENT_DOUBLEDOUBLE_WIDTH, ELEMENT_HALF_WIDTH, ELEMENT_ONEHALF_WIDTH, ELEMENT_WIDTH, EVENT_FILECHOOSER_START, EVENT_FILECHOOSER_STOP, FILTER_MCV, FILTER_MCVMCVZ, FILTER_MCVZ, GAP_RELATED, GAP_UNRELATED, HOMEPAGE_URL, ICON_ACCEPT_SMALL, ICON_ADD_SMALL, ICON_APPLY_SMALL, ICON_BACKGROUND_SMALL, ICON_CANCEL, ICON_CANCEL_SMALL, ICON_CHECKVERSION_SMALL, ICON_COLORTABLE_SMALL, ICON_CONNECT_SMALL, ICON_CONSOLE_SMALL, ICON_DATAEXPLORER_SMALL, ICON_DEFAULTLAYOUT_SMALL, ICON_DEFAULTLAYOUTADD_SMALL, ICON_DEFAULTLAYOUTDELETE_SMALL, ICON_DELETE_SMALL, ICON_DISCONNECT_SMALL, ICON_ERROR_SMALL, ICON_EXCLAMATION_SMALL, ICON_FAVORITE_SMALL, ICON_FAVORITEMANAGE_SMALL, ICON_FAVORITESAVE_SMALL, ICON_FORUMS_SMALL, ICON_GETTINGSTARTED_SMALL, ICON_HELP, ICON_HELP_SMALL, ICON_HELPTIPS_SMALL, ICON_INFORMATION_SMALL, ICON_LAYOUTEDIT_SMALL, ICON_LOCALDATA_SMALL, ICON_LOCATION_SMALL, ICON_MCIDASV_DEFAULT, ICON_MCIDASV_SMALL, ICON_NEWTAB_SMALL, ICON_NEWWINDOW_SMALL, ICON_NEXT_SMALL, ICON_NOTE_SMALL, ICON_OPEN, ICON_OPEN_SMALL, ICON_PREFERENCES_SMALL, ICON_PREVIOUS_SMALL, ICON_RANDOM_SMALL, ICON_RANGEANDBEARING_SMALL, ICON_REDO_SMALL, ICON_REFRESH, ICON_REFRESH_SMALL, ICON_REMOVE_SMALL, ICON_REMOVEDATA_SMALL, ICON_REMOVELAYERS_SMALL, ICON_REMOVELAYERSDATA_SMALL, ICON_SAVE, ICON_SAVE_SMALL, ICON_SAVEAS_SMALL, ICON_SUPPORT_SMALL, ICON_UNDO_SMALL, ICON_UPDATE, ICON_USERSGUIDE_SMALL, lineStyles, LOCAL_ADDE_PORT, MACRO_BUILDDATE, MACRO_COPYRIGHT_YEAR, MACRO_GRANULE_COUNT, MACRO_IDV_VERSION, MACRO_VERSION, MACRO_VISAD_VERSION, MAX_MEMORY_32BIT, MCV_BLUE, MCV_BLUE_DARK, NOTICE_URL, OS_OSX, PANEL_NAME, PREF_AUTO_SAVE_DEFAULT_LAYOUT, PREF_CONFIRM_REMOVE_BOTH, PREF_CONFIRM_REMOVE_DATA, PREF_CONFIRM_REMOVE_LAYERS, PREF_IMAGE_PREVIEW, PREF_LIST_ADDE_SERVERS, PREF_LIST_ADVANCED, PREF_LIST_AVAILABLE_DISPLAYS, PREF_LIST_DATA_CHOOSERS, PREF_LIST_FORMATS_DATA, PREF_LIST_GENERAL, PREF_LIST_LOCAL_ADDE, PREF_LIST_NAV_CONTROLS, PREF_LIST_TOOLBAR, PREF_LIST_VIEW, PREF_MODIFY_DEFAULT_COLOR_TABLE, PREF_NUM_IMAGE_PRESET_IMGCHOOSER, PREF_NUM_IMAGE_PRESET_RADARCHOOSER, PREF_OPEN_LIMIT_WIN, PREF_PRERELEASE_CHECK, PREF_SAVE_DASHBOARD_VIZ, PREF_SERVERSTATE, PREF_SHOW_SYSTEM_BUNDLES, PREF_SYSTEMSERVERSIMG, PREF_TBM_SIZE, PREF_VERSION_CHECK, PRERELEASE_URL, PROP_ABOUTTEXT, PROP_APP_ICON, PROP_BUILD_DATE, PROP_CHAN, PROP_COPYRIGHT_YEAR, PROP_DASHBOARD_BOUNDS, PROP_GRANULE_COUNT, PROP_HOMEPAGE, PROP_HYDRA_360, PROP_RECENT_COLORS, PROP_SERVERS, PROP_SERVERS_ALL, PROP_SYSMEM, PROP_TABBED_UI, PROP_VERSION_MAJOR, PROP_VERSION_MINOR, PROP_VERSION_RELEASE, PROP_VERSIONFILE, PROP_VISAD_DATE, PROP_VISAD_ORIGINAL, PROP_VISAD_PARSE_FAIL, PROP_VISAD_REVISION, PROP_VP_CATOPEN, PROP_VP_SHOWCATS, PROP_VP_SHOWPOPUP, PROPERTIES_FILE, SCRUB_STRINGS_FILE, SUFFIX_MCV, SUFFIX_MCVZ, TOOLTIP_PROGRESSIVE_RESOLUTION, USER_DIRECTORY_NAME, VERSION_HANDLER_URL, VERSION_URL
Fields inherited from interface ucar.unidata.idv.IdvConstants
ARG_B64BUNDLE, ARG_B64ISL, ARG_BUNDLE, ARG_CATALOG, ARG_CHOOSER, ARG_CLEARDEFAULT, ARG_CODE, ARG_CONNECT, ARG_CURRENTTIME, ARG_DATA, ARG_DEBUG, ARG_DEFAULT, ARG_DISPLAY, ARG_DXML, ARG_FIXEDTIME, ARG_HELP, ARG_IMAGE, ARG_IMAGESERVER, ARG_INSTALLPLUGIN, ARG_ISLFILE, ARG_ISLINTERACTIVE, ARG_LISTRESOURCES, ARG_MAINCLASS, ARG_MOVIE, ARG_MSG_DEBUG, ARG_MSG_RECORD, ARG_NODEFAULT, ARG_NOERRORSINGUI, ARG_NOGUI, ARG_NOONEINSTANCE, ARG_NOPLUGINS, ARG_NOPREF, ARG_ONEINSTANCEPORT, ARG_PLUGIN, ARG_PORT, ARG_PRINTJNLP, ARG_PROPERTIES, ARG_SCRIPT, ARG_SERVER, ARG_SETFILES, ARG_SITEPATH, ARG_TEMPLATE, ARG_TEST, ARG_TESTEVAL, ARG_TRACE, ARG_TRACEONLY, ARG_USERPATH, DEFAULT_DATE_FORMAT, DEFAULT_DOCPATH, DEFAULT_TIMEZONE, FILTER_CPT, FILTER_ISL, FILTER_JNLP, FILTER_XIDV, FILTER_XIDVZIDV, FILTER_XML, FILTER_ZIDV, ID_COMMANDSTORUN, ID_DATASOURCES, ID_DISPLAYCONTROLS, ID_IDV, ID_JYTHON, ID_MESSAGE, ID_MISCHASHTABLE, ID_NCIDV_VERSION, ID_VERSION, ID_VIEWMANAGERS, ID_WINDOWS, INITIAL_PROBE_EARTHLOCATION, NULL_DATA_SELECTION, NULL_STRING, PREF_APPEARANCEMODE, PREF_ARCHIVEDIR, PREF_ARCHIVENAME, PREF_AUTODISPLAYS_ENABLE, PREF_AUTODISPLAYS_SHOWGUI, PREF_AUTOSELECTDATA, PREF_CACHESIZE, PREF_CONTROLSINTABS, PREF_DATAPREFIX, PREF_DATE_FORMAT, PREF_DISTANCEUNIT, PREF_DOCACHE, PREF_EMBEDDATACHOOSERINDASHBOARD, PREF_EMBEDFIELDSELECTORINDASHBOARD, PREF_EMBEDLEGENDINDASHBOARD, PREF_EMBEDQUICKLINKSINDASHBOARD, PREF_EVENT_KEYBOARDMAP, PREF_EVENT_MOUSEMAP, PREF_EVENT_WHEELMAP, PREF_FAST_RENDER, PREF_FIELD_CACHETHRESHOLD, PREF_FILEREADDIR, PREF_FILEWRITEDIR, PREF_GEOMETRY_BY_REF, PREF_HISTORY, PREF_IMAGE_BY_REF, PREF_LARGE_REMOTE_DATA_WARN, PREF_LASTVERSION, PREF_LATLON_FORMAT, PREF_LEGEND_SHOWICONS, PREF_LOCALE, PREF_LOOKANDFEEL, PREF_MAXIMAGESIZE, PREF_MEMORY, PREF_NPOT_IMAGE, PREF_OPEN_ASK, PREF_OPEN_MERGE, PREF_OPEN_REMOVE, PREF_PROJ_LIST, PREF_SAMPLINGMODE, PREF_SHOWCONTROLWINDOW, PREF_SHOWDASHBOARD, PREF_SHOWDECODEDIALOG, PREF_SHOWHIDDENFILES, PREF_SHOWQUITCONFIRM, PREF_SITEPATH, PREF_THREADS_DATA, PREF_THREADS_RENDER, PREF_TIMEZONE, PREF_VERTICALCS, PREF_VERTICALUNIT, PREF_WINDOW_SHOWTOOLBAR, PREF_ZIDV_ASK, PREF_ZIDV_DIRECTORY, PREF_ZIDV_SAVETOTMP, PROP_3DMODE, PROP_ABOUTTEXT, PROP_APPRESOURCEPATH, PROP_CHOOSERS, PROP_CHOOSERS_ALL, PROP_CONTROLDESCRIPTORS, PROP_CONTROLDESCRIPTORS_ALL, PROP_DATAHOLDERBOUNDS, PROP_DEFAULTLOCATIONS, PROP_DISPLAYLIST_GROUP, PROP_FIXFILELOCKUP, PROP_JNLPCODEBASE, PROP_JNLPTEMPLATE, PROP_JNLPTITLE, PROP_LOADINGXML, PROP_MAP_GLOBE_LEVEL, PROP_MAP_MAP_LEVEL, PROP_MINIMUMFRAMECYCLETIME, PROP_MONITORPORT, PROP_OLDCONTROLDESCRIPTORS, PROP_ONEINSTANCEPORT, PROP_PREFERENCES, PROP_PROJ_NAME, PROP_RESOURCEFILES, PROP_SHOWCLOCK_DASH, PROP_SHOWCLOCK_VIEW, PROP_SHOWDASHBOARD, PROP_SHOWDATATREE, PROP_SHOWFORMULAS, PROP_SHOWSPLASH, PROP_SPLASHICON, PROP_UI_DESKTOP, PROP_USE_DISPLAYAREA, PROP_USE_TIMEDRIVER, PROP_VERSIONFILE, PROP_WINDOW_SCREENSIZEOFFSET, PROP_WINDOW_SIZEHEIGHT, PROP_WINDOW_SIZEWIDTH, PROP_WINDOW_USESCREENSIZE, SUFFIX_BAT, SUFFIX_CPT, SUFFIX_ISL, SUFFIX_JNLP, SUFFIX_RBI, SUFFIX_SH, SUFFIX_XIDV, SUFFIX_XML, SUFFIX_ZIDV
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
ancestorAdded
(AncestorEvent event) void
ancestorMoved
(AncestorEvent event) Not implemented.void
ancestorRemoved
(AncestorEvent event) Maps data source IDs to their index withinbox
.protected PropertyChangeListener
Creates aPropertyChangeListener
that listens forJFileChooser.DIRECTORY_CHANGED_PROPERTY
.protected OnFileChangeListener
Creates a directory monitoringService
.void
Override the base class method to catch the do loadprotected JComponent
Create a more McIDAS-V-like GUI layoutvoid
doUpdate()
Override the base class method to catch the do updatestatic String
findValidParent
(String filePath) Find the closest valid "parent" of the given path.protected JComponent
Get the accessory componentprotected boolean
Allow multiple file selection.protected JPanel
Get the bottom panel for the chooserprotected JPanel
Get the center panel for the chooserprotected String
If the dataSources combo box is non-null then return the data source id the user selected.protected JComboBox
Overridden so that McIDAS-V can attempt auto-selecting the default data source type.protected String
Label forgetDataSourcesComponent()
selector.getPath()
See the javadoc forgetPath(String)
.Get the path theJFileChooser
should be using.protected void
getTopComponents
(List comps) Get the top components for the chooserprotected JPanel
Get the top panel for the chooservoid
handleChangeWatchService
(String newPath) Respond to path changes in theJFileChooser
.void
handleStartWatchService
(String topic, Object reason) Begin monitoring the directory returned bygetPath()
for changes.void
handleStopWatchService
(String topic, Object reason) Disable directory monitoring (if it was enabled in the first place).boolean
Determine if this file chooser is actually visible to the user.void
setHaveData
(boolean have) Set whether the user has made a selection that contains data.void
Change the path that the file chooser is presenting to the user.void
private void
setTrulyVisible
(boolean value) Set whether or not this file chooser is actually visible to the user.protected void
Set the status message appropriatelyMethods inherited from class ucar.unidata.idv.chooser.FileChooser
checkRecentPatternWidgetsEnable, doMakeFileChooser, getAllowDirectorySelectionCbx, getButtonLabels, getFileChooser, getFileCount, getFileNames, getFilePattern, getLoadToolTip, getRecentFilesComponent, getRecentFilesComponent, getUpdateToolTip, selectFiles, selectFilesInner, shouldShowRecentComponent
Methods inherited from class ucar.unidata.idv.chooser.IdvChooser
clearSelectedStations, clearStations, closeChooser, createStationMap, decorateButtons, doCancel, doClose, errorMessage, getAttribute, getContents, getDataManager, getDataSource, getDataSourceId, getDataSourceProperties, getDataSourcesComponent, getDataSourcesComponent, getDataSourcesComponent, getDefaultButtons, getDefaultDisplayType, getDefaultMap, getDefaultMaps, getDefaultProjection, getDefaultProjectionRect, getHaveStations, getId, getIdv, getMenuTitle, getPreferenceList, getPreferenceList, getPreferenceList, getPreferenceList, getProperty, getProperty, getPropList, getSelectedStation, getSelectedStations, getShowInMenu, getStationMap, getStatusLabel, getStatusLabelBackground, getStatusLabelForeground, getTitle, getXmlNode, haveStationSelected, init, initChooserPanel, initStationMap, isReloadable, logException, makeDataSource, makeDataSource, makeTimeMenus, newSelectedStations, resetDataSourceId, setDataSource, setDataSourceListener, shouldDoUpdateOnFirstDisplay, showNormalCursor, showWaitCursor, startTask, stopTask, stopTaskAndIsOk, taskOk, userMessage, usingStations
Methods inherited from class ucar.unidata.ui.ChooserPanel
actionPerformed, addPropertyChangeListener, canDoUpdate, clearWaitCursor, doHelp, doLoad, firePropertyChange, getDefaultButtons, getHaveData, getLoadCommandName, getMessageTemplate, getSimpleMode, getStatusComponent, padLabel, registerStatusComp, revalidate, setHelpPath, setMessageTemplate, setStatus, showNormalCursor, showWaitCursor
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
logger
Logging object. -
ATTR_SELECT_DSID
Chooser attribute that controls selecting the default data source.- See Also:
-
defaultDataSourceId
Default data source ID for this chooser. Defaults tonull
. -
selectDefaultDataSource
Whether or not to select the data source corresponding todefaultDataSourceId
within theJComboBox
returned bygetDataSourcesComponent()
. Defaults tofalse
. -
defaultDataSourceName
If there is a default data source ID, get the combo box display value -
sourceComboBox
Different subclasses can use the combobox of data source ids -
fileChooser
Get a handle on the actual file chooser. -
topPanel
Panels that might need to be enabled/disabled. -
centerPanel
-
bottomPanel
-
buttonPressed
Boolean to tell if the load was initiated from the load button (as opposed to typing in a filename... we need to capture that) -
idv
Get a handle on the IDV. -
watchListener
This is mostly used to preemptively null-out the listener. -
trulyVisible
Value is controlled viaancestorAdded(AncestorEvent)
andancestorRemoved(AncestorEvent)
-
statusLabel
-
-
Constructor Details
-
FileChooser
- Parameters:
mgr
- Global IDV chooser manager.root
- XML representing this chooser.
-
-
Method Details
-
getDataSourcesLabel
Label forgetDataSourcesComponent()
selector.- Returns:
String
to use as the label for data type selector.
-
getDataSourcesComponent
Overridden so that McIDAS-V can attempt auto-selecting the default data source type.- Overrides:
getDataSourcesComponent
in classIdvChooser
-
comboBoxContents
Maps data source IDs to their index withinbox
. This method is only applicable toJComboBox
es created forFileChooser
s.- Parameters:
box
- Combo box containing relevant data source IDs and indices.- Returns:
- A mapping of data source IDs to their offset within
box
.
-
getDataSourceId
If the dataSources combo box is non-null then return the data source id the user selected. Else, return null- Overrides:
getDataSourceId
in classIdvChooser
- Returns:
- Data source id
-
getAccessory
Get the accessory component- Overrides:
getAccessory
in classFileChooser
- Returns:
- the component
-
doLoadInThread
Override the base class method to catch the do load- Overrides:
doLoadInThread
in classFileChooser
-
doUpdate
Override the base class method to catch the do update- Overrides:
doUpdate
in classFileChooser
-
getAllowMultiple
Allow multiple file selection. Override if necessary.- Returns:
- Always returns
true
.
-
setHaveData
Set whether the user has made a selection that contains data.- Overrides:
setHaveData
in classFileChooser
- Parameters:
have
- true to set the haveData property. Enables the loading button
-
updateStatus
Set the status message appropriately- Overrides:
updateStatus
in classIdvChooser
-
getTopComponents
Get the top components for the chooser- Overrides:
getTopComponents
in classFileChooser
- Parameters:
comps
- the top component
-
getTopPanel
Get the top panel for the chooser- Returns:
- the top panel
-
getBottomPanel
Get the bottom panel for the chooser- Returns:
- the bottom panel
-
getCenterPanel
Get the center panel for the chooser- Returns:
- the center panel
-
createPropertyListener
Creates aPropertyChangeListener
that listens forJFileChooser.DIRECTORY_CHANGED_PROPERTY
.This is used to disable directory monitoring in directories not being looked at, as well as enabling monitoring of the directory the user has chosen.
- Returns:
PropertyChangeListener
that listens forJFileChooser
directory changes.
-
setPath
Change the path that the file chooser is presenting to the user.This value will be written to the user's preferences so that the user can pick up where they left off after restarting McIDAS-V.
- Parameters:
newPath
- Path to set.
-
getPath
See the javadoc forgetPath(String)
.The difference between the two is that this method passes the value of
System.getProperty("user.home")
togetPath(String)
as the default value.- Returns:
- Path to use for the chooser.
-
getPath
Get the path theJFileChooser
should be using.If the path in the user's preferences is
null
(or does not exist),defaultValue
will be returned.If there is a nonexistent path in the preferences file,
findValidParent(String)
will be used.- Parameters:
defaultValue
- Default path to use if there is a "bad" path in the user's preferences. Cannot benull
.- Returns:
- Path to use for the chooser.
- Throws:
NullPointerException
- ifdefaultValue
isnull
.
-
handleChangeWatchService
Respond to path changes in theJFileChooser
.This method will disable monitoring of the previous path and then enable monitoring of
newPath
.- Parameters:
newPath
- New path to begin watching.
-
handleStartWatchService
Begin monitoring the directory returned bygetPath()
for changes.- Parameters:
topic
- Artifact fromEventBus
annotation. Not used.reason
- Optional "Reason" for starting. Helpful for logging.
-
handleStopWatchService
Disable directory monitoring (if it was enabled in the first place).- Parameters:
topic
- Artifact fromEventBus
annotation. Not used.reason
- Optional "Reason" for starting. Helpful for logging.
-
createWatcher
Creates a directory monitoringService
.- Returns:
- Directory monitor that will respond to changes.
-
findValidParent
Find the closest valid "parent" of the given path.Example:
/tmp/foo/bar/baz/
isfilePath
, but only/tmp/foo
exists. This method will return/tmp/foo
.- Parameters:
filePath
- Path to use a base. Cannot benull
, but the path does not need to exist.- Returns:
- Closest existing ancestor of
filePath
.
-
setStatus
- Overrides:
setStatus
in classChooserPanel
-
doMakeContents
Create a more McIDAS-V-like GUI layout- Overrides:
doMakeContents
in classFileChooser
-
ancestorAdded
- Specified by:
ancestorAdded
in interfaceAncestorListener
-
ancestorRemoved
- Specified by:
ancestorRemoved
in interfaceAncestorListener
-
ancestorMoved
Not implemented.- Specified by:
ancestorMoved
in interfaceAncestorListener
- Parameters:
event
- Ignored.
-
isTrulyVisible
Determine if this file chooser is actually visible to the user.- Returns:
- Whether or not this component has been made visible.
-
setTrulyVisible
Set whether or not this file chooser is actually visible to the user.- Parameters:
value
-true
means visible.
-