edu.wisc.ssec.mcidasv.chooser.adde
Class AddeImageChooser

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by ucar.unidata.ui.ChooserPanel
                      extended by ucar.unidata.idv.chooser.IdvChooser
                          extended by ucar.unidata.idv.chooser.TimesChooser
                              extended by ucar.unidata.idv.chooser.adde.AddeChooser
                                  extended by edu.wisc.ssec.mcidasv.chooser.adde.AddeChooser
                                      extended by edu.wisc.ssec.mcidasv.chooser.adde.AddeImageChooser
All Implemented Interfaces:
Constants, ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, IdvConstants, ImageSelector
Direct Known Subclasses:
AddeBasicImageChooser, AddeImageParameterChooser, AddeRadarChooser

public class AddeImageChooser
extends AddeChooser
implements ImageSelector

Widget to select images from a remote ADDE server Displays a list of the descriptors (names) of the image datasets available for a particular ADDE group on the remote server.

Author:
Don Murray
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class edu.wisc.ssec.mcidasv.chooser.adde.AddeChooser
AddeChooser.GroupComparator, AddeChooser.ServerComparator
 
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
private  XmlResourceCollection addeDefaults
          Holds the subsetting defaults
private static String[] ADVANCED_LABELS
          This is the list of labels used for the advanced gui
private static String[] ADVANCED_PROPS
          This is the list of properties that are used in the advanced gui
protected static String ALL
          string for ALL
protected static TwoFacedObject ALLBANDS
          object for selecting all bands
protected static TwoFacedObject ALLUNITS
          object for selecting all calibrations
private  boolean amSettingProperties
          flag for setting properties
protected  String archiveDay
          archive date
protected  JButton archiveDayBtn
           
private  SimpleDateFormat archiveDayFormatter
          archive date formatter
protected  JLabel archiveDayLabel
          archive day button and label
protected static String ATTR_NAME
          Xml attr name for the defaults
protected static String ATTR_PATTERN
          Xml attr name for the defaults
protected  JComboBox bandComboBox
          Widget for selecting the band
private  List<BandInfo> bandInfos
          the list of band infos
protected  Hashtable bandTable
          Mapping of area directory to list of BandInfos
private  double baseNumElements
          base number of lines
private  double baseNumLines
          base number of lines
protected  JTextField centerElementFld
          Widget for the element center point in the advanced section
protected  JTextField centerLineFld
          Widget for the line center point in the advanced section
private static int DEFAULT_MAG
          default magnification
protected  JLabel elementMagLbl
          Label for the element mag. in the advanced section
protected  JSlider elementMagSlider
          Widget for the element magnfication in the advanced section
protected static String FILE_SATBAND
          Property for the satband file
private  JButton fullResBtn
          full resolution button
protected  Vector imageDescriptors
          The list of currently loaded AddeImageDescriptor-s
private  AreaDirectory lastAD
          The last AreaDirectory we have seen.
protected  LatLonWidget latLonWidget
          Input for lat/lon center point
protected  JLabel lineMagLbl
          Label for the line mag. in the advanced section
protected  JSlider lineMagSlider
          Widget for the line magnfication in the advanced section
private  double linesToElements
          Keep track of the lines to element ratio
private  GuiUtils.CardLayoutPanel locationPanel
          location panel
private  JToggleButton lockBtn
          _more_
private static org.slf4j.Logger logger
           
(package private)  int MAX_BANDS
          Identifier for the maximum number of bands
private static int MAX_SIZE
          maximum size for the widget
static JToggleButton mineBtn
           
private  Object MUTEX
          locking mutex
protected  JComboBox navComboBox
          Widget for selecting image nav type
(package private)  JTextField numElementsFld
          Widget to hold the number of elements in the advanced
(package private)  JTextField numLinesFld
          Widget to hold the number of lines in the advanced
private  String place
          the place string
private static String PLACE_CENTER
          flag for center
private static String PLACE_LLEFT
          flag for lower left
private static String PLACE_LRIGHT
          flag for lower right
private static String PLACE_ULEFT
          flag for upper left
private static String PLACE_URIGHT
          flag for upper right
private  JLabel placeLbl
          place label
private  AreaDirectory prevPropertiesAD
          The previous AreaDirectory used for properties
protected static String PROP_BAND
          Property for image default value band
protected static String PROP_ID
          Property for image default value id
protected static String PROP_KEY
          Property for image default value key
protected static String PROP_LATLON
          Property for image default value lat/lon
protected static String PROP_LINELE
          Property for image default value line/ele
protected static String PROP_LOC
          Property for image default value loc
protected static String PROP_MAG
          Property for image default value mag
protected static String PROP_NAV
          Property for image default value unit
protected static String PROP_NUM
          Property for num
protected static String PROP_PLACE
          Property for image default value place
protected static String PROP_SIZE
          Property for image default value size
protected static String PROP_SPAC
          Property for image default value spac
protected static String PROP_UNIT
          Property for image default value unit
private  AreaDirectory propertiesAD
          The current AreaDirectory used for properties
private  JPanel propPanel
          Holds the properties
private  Hashtable propToComps
          Maps the PROP_ property name to the gui component
private  Object readTimesTask
          Are we currently reading times
private  List resourceMaps
          This is a list of hashtables, one per imagedefaults resource.
private  AddeSatBands satBandInfo
          Used to parse the sat band file
private  Hashtable sensorToBandToName
          Mapping of sensor id (String) to hashtable that maps Integer band number to name
private static int SIZE_THRESHOLD
          _more_
(package private)  JLabel sizeLbl
          size label
private static int SLIDER_MAX
          limit of slider
protected static String TAG_DEFAULT
          Xml tag name for the defaults
protected  JComboBox unitComboBox
          Widget for selecting image units
private  boolean useSatBandInfo
          A flag so we can debug the new way of processing sat band file
protected static String VALUE_DEFAULT
          identifiere for the default value
 
Fields inherited from class edu.wisc.ssec.mcidasv.chooser.adde.AddeChooser
allServersFlag, cb, CMD_MANAGER, commentList, compsThatNeedDescriptor, connectButton, DESCRIPTOR_TABLE, descriptorComboBox, descriptorLabel, descriptorList, descriptorNames, descriptorTable, ignoreDescriptorChange, LABEL_SELECT, manageButton, nameSeparator, parameterButton, publicButton, restoreElement, separator, serverManager
 
Fields inherited from class ucar.unidata.idv.chooser.adde.AddeChooser
CMD_CONNECT, DATA_NAME_KEY, DATASET_NAME_KEY, DEFAULT_COMPRESS, DEFAULT_DEBUG, DEFAULT_PORT, DEFAULT_PROJ, DEFAULT_USER, DEFAULT_VERSION, FILE_PUBLICSRV, groupSelector, ignoreStateChangedEvents, LABEL_DATAINTERVAL, LABEL_DATASET, LABEL_DATATYPE, LABEL_SERVER, LABEL_STATIONS, LABEL_TIMES, MSG_TIMES, NEW_SELECTION, passwords, PROP_ADDEPORT, PROP_COMPRESS, PROP_CYD, PROP_DATANAME, PROP_DAY, PROP_DEBUG, PROP_DESCR, PROP_FILE, PROP_GROUP, PROP_HMS, PROP_PARAM, PROP_PORT, PROP_POS, PROP_PROJ, PROP_SELECT, PROP_TIME, PROP_USER, PROP_VERSION, REQ_DATASETINFO, REQ_IMAGEDATA, REQ_IMAGEDIR, REQ_POINTDATA, REQ_TEXT, serverTimeStamp, STATE_CONNECTED, STATE_CONNECTING, STATE_UNCONNECTED, STATUS_ERROR, STATUS_NEEDSLOGIN, STATUS_OK, WIDGET_MUTEX
 
Fields inherited from class ucar.unidata.idv.chooser.TimesChooser
drivercbx, selectedDriver, timesComponents, timesContainer
 
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
accessibleContext, 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
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_DOCPATH, DEFAULT_SERVERSTATE, DISPLAY_NAME, DISPLAYCONTROLLER_NAME, ELEMENT_DOUBLE_WIDTH, ELEMENT_DOUBLEDOUBLE_WIDTH, ELEMENT_HALF_WIDTH, ELEMENT_ONEHALF_WIDTH, ELEMENT_WIDTH, 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_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, LOCAL_ADDE_PORT, MACRO_BUILDDATE, MACRO_COPYRIGHT_YEAR, 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_OPEN_LIMIT_WIN, PREF_PRERELEASE_CHECK, PREF_SAVE_DASHBOARD_VIZ, PREF_SERVERSTATE, 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_HOMEPAGE, 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, 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_MAX_PERMGENSIZE, 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_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_MAX_PERMGENSIZE, 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_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, PROP_SHOWDASHBOARD, PROP_SHOWDATATREE, PROP_SHOWFORMULAS, PROP_SHOWSPLASH, PROP_SPLASHICON, PROP_UI_DESKTOP, PROP_USE_TIMEDRIVER, 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
AddeImageChooser(IdvChooserManager mgr, Element root)
          Construct an Adde image selection widget
 
Method Summary
protected  void absoluteTimesSelectionChanged()
          Handle the absolute time selection changing
protected  JComponent addPropComp(String propId, JComponent comp)
          Associates the given JComponent with the PROP_ property identified by the given propId
protected  boolean canReadTimes()
          Check if we are ready to read times
 void changePlace(String newPlace)
          Change the place
protected  void checkCenterEnabled()
          Enable or disable the center lat/lon and line/element widgets
protected  boolean checkForValidValues()
          Check for valid lat/lon values
protected  boolean checkPropertiesEqual(AreaDirectory ad1, AreaDirectory ad2)
          Check to see if the two Area directories are equal
protected  void checkSetNav()
          Respond to a change in the descriptor list.
protected  void clearPropertiesWidgets()
          Clear the properties widgets
protected  void clearTimesList()
          Overwrite base class method to clear out the lastAD member here.
 void cyclePlace()
          Cycle the place
 void doCancel()
          _more_
 void doLoadInThread()
          User said go, we go.
 JComponent doMakeContents()
          Make the UI for this selector.
 JComponent doMakeContents(boolean doesOverride)
           
protected  void elementMagSliderChanged(boolean recomputeLineEleRatio)
          _more_
protected  void enableWidgets()
          Enable or disable the GUI widgets based on what has been selected.
protected  String[] getAdvancedLabels()
          Get the list of advanced property labels
protected  String[] getAdvancedProps()
          Get the list of advanced property names
 void getArchiveDay()
          Show the archive dialog.
protected  AreaDirectory getASelectedTime()
          Get one of the selected times.
protected  List<TwoFacedObject> getAvailableUnits(AreaDirectory ad, int band)
          Set the available units in the unit selector
protected  List<BandInfo> getBandInfos()
          Get the pregenerated bandInfos
protected  String getBandName(AreaDirectory ad, int band)
          Get the band name for a particular area
protected  String[] getBaseUrlProps()
          Get the list of properties for the base URL
protected  void getBottomComponents(List bottomComps)
          Add the bottom advanced gui panel to the list
 String getDataName()
          This allows derived classes to provide their own name for labeling, etc.
 String getDatasetDescription()
          Deprecated. use #getDatasetName()
 String getDatasetName()
          Get the name of the dataset.
protected  String getDataSourceId()
          Return the data source ID.
protected  void getDataSourceProperties(Hashtable ht)
          Get the DataSource properties
 String getDataType()
          Get the data type for this chooser
protected  String getDefault(String property, String dflt)
          Get the default value for a key
protected  String getDefaultDisplayType()
          Get the id for the default display type
protected  String getDefaultPropValue(String prop, AreaDirectory ad, boolean forDisplay)
          Get the default property value for the adde request string
 String getDescriptorLabel()
          Get the descriptor widget label
protected  int getElementMagValue()
          Get the value of the element magnification slider.
protected  JComponent getExtraTimeComponent()
          Get the time popup widget
protected  boolean getGoodToGo()
          Does this selector have all of its state set to load in data
protected  String getGroupType()
          get the adde server grup type to use
protected  XmlResourceCollection getImageDefaults()
          Get the xml resource collection that defines the image default xml
 List getImageList()
          Returns a list of the images to load or null if none have been selected.
protected  int getLineMagValue()
          Get the value of the line magnification slider.
private  JToggleButton getLockButton()
          Get the "lock" button
protected  int getMagValue(JSlider slider)
          Get the value of the given magnification slider.
protected  String[] getPair(String v)
          Get a pair of properties
protected  String getPropertiesDescription()
          Get a description of the properties
protected  String getPropValue(String prop, AreaDirectory ad)
          Get the value for the given property.
protected  int getSelectedBand()
          Get the selected band from the advanced chooser
 List<BandInfo> getSelectedBandInfos()
          Get the list of BandInfos for the current selected images
 String getSelectedBandName()
          Get the name of the selected band
protected  String getSelectedUnit()
          Get the selected calibration unit.
protected  int[] getSize(AreaDirectory ad)
          _more_
protected  String getSizeString(AreaDirectory ad)
          Get the image size string from the directory and defaults
protected  String getUserPropValue(String prop, AreaDirectory ad)
          Get the user supplied property value for the adde request string
protected  void handleConnectionError(Exception e)
          Show the given error to the user.
 void handleUpdate()
          Handle when the user presses the update button
protected  void initializeAddeDefaults()
          Process the image defaults resources
protected  void lineMagSliderChanged(boolean autoSetSize)
          Handle the line mag slider changed event
 void logException(String msg, Exception exc)
          Convenience method for lazy people who don't want to call LogUtil.logException(String, Throwable).
protected  List<BandInfo> makeBandInfos(AreaDirectory ad, int[] bands)
          Get the list of bands for the images
protected  AddeImageInfo makeImageInfo(AreaDirectory dir, boolean isRelative, int num)
          Make an AddeImageInfo from a URL and an AreaDirectory
protected  String makeProps(String[] props, AreaDirectory ad)
          A utility that creates the url argument line for the given set of properties.
protected  JPanel makeTimesPanel()
          Set the relative and absolute extra components
protected  List processPropertyComponents()
          _more_
protected  void readFromServer()
          Do server connection stuff... override this with type-specific methods
protected  void readSatBands()
          Get the band name information from the server
 void readTimes()
          Read the set of image times available for the current server/group/type This method is a wrapper, setting the wait cursor and wrapping the call to readTimesInner(); in a try/catch block
protected  void readTimesInner()
          Set the list of dates/times based on the image selection
protected  void setAvailableUnits(AreaDirectory ad, int band)
          Set the available units in the unit selector
protected  void setCenterLocation(AddeImageDescriptor aid)
          Set the center location portion of the request.
protected  void setImageInfoProps(AddeImageInfo aii, String[] props, AreaDirectory ad)
          Set the properties on the AddeImageInfo from the list of properties
protected  void setMagSliders(int lineValue, int elementValue)
          Set the mag slider values
protected  void setPropertiesState(AreaDirectory ad)
          Set the widgets with the state from the given AreaDirectory
protected  void setPropertiesState(AreaDirectory ad, boolean force)
          Set the widgets with the state from the given AreaDirectory
protected  void setSelectedTimes(DateTime[] times)
          Set the selected times in the times list based on the input times
 void setToFullResolution()
          Set to full resolution
 boolean timesOk()
          Do we have times selected.
protected  String translatePlace(String place)
          Translate a place name into a human readable form
protected  void updateStatus()
          Update labels, enable widgets, etc.
protected  boolean useLatLon()
          Check if we are using the lat/lon widget
protected  boolean usePropFromUser(String propId)
          Should we use the user supplied property
 
Methods inherited from class edu.wisc.ssec.mcidasv.chooser.adde.AddeChooser
actionPerformed, addDescComp, appendMiscKeyValues, canAccessServer, checkIfServerIsOk, checkTimesLists, clearOnChange, clearParameterSet, connectToServer, containsGroupName, containsServerName, descriptorChanged, doClickLoad, doManager, doParameters, getAccounting, getAccounting, getAccountingInfo, getAddeServer, getDefaultRelativeTimeIndex, getDescriptor, getDescriptorFromSelection, getDescriptorTable, getGroup, getGroup, getLastAddedProj, getLastAddedUser, getNumTimesToSelect, getParameterSetType, getSelectedDescriptor, getSelectorIndex, getServer, getServerSelector, getStateString, handleConnect, handleUnknownDataSetError, haveDescriptorSelected, hideParameterButton, isGroupEditable, isLocalServer, isLocalServer, isSeparator, makeTimesPanel, onServerManagerDataEvent, onServerManagerWindowEvent, readDescriptors, resetDescriptorBox, restoreAbsoluteTimes, restoreParameterSet, saveServerState, setAbsoluteTimes, setDescriptors, setHaveData, setInnerPanel, setSelectString, setStatus, showGroups, showParameterButton, showServers, updateGroups, updateServerList, updateServers
 
Methods inherited from class ucar.unidata.idv.chooser.adde.AddeChooser
addServerComp, addTopComponents, addTopComponents, appendKeyValue, canDoCancel, doConnect, doUpdate, getConnectButton, getDataSetName, getGroupUrl, getLoadToolTip, getMiscKeyProps, getMiscKeywords, getPort, getState, getUrl, handleConnectFromThread, handleUpdateFromThread, readGroups, readTextLines, removeGroup, removeServer, setGroups, setState
 
Methods inherited from class ucar.unidata.idv.chooser.TimesChooser
addTimeSelectionListener, checkActiveViewWithDriver, disableTimeWidgets, doLoad, enableAbsoluteTimesList, enableTimeWidgets, getAbsoluteTimes, getAbsoluteTimeSelectMode, getDefaultTimeDriverIndex, getDoAbsoluteTimes, getDoRelativeTimes, getDoTimeDrivers, getExtraAbsoluteTimeComponent, getExtraRelativeTimeComponent, getHaveAbsoluteTimesSelected, getRelativeTimeIncrement, getRelativeTimeIndices, getRelativeTimesChooser, getRelativeTimesList, getSelectedAbsoluteTimes, getTimeDriverPopupMenu, getTimeDrivers, getTimeLine, getTimesList, haveAnyTimes, haveTimeSelected, makeDatedObjects, makeTimesPanel, makeTimesPanel, makeTimesPanel, popupTimeline, readDrivers, setDoAbsoluteTimes, setDoTimeDrivers, setSelectedAbsoluteTime, setSelectedAbsoluteTime, setSelectedAbsoluteTimes, setSelectedAbsoluteTimes, setTimeDrivers, updateTimeDriver, updatetimeline
 
Methods inherited from class ucar.unidata.idv.chooser.IdvChooser
clearSelectedStations, clearStations, closeChooser, createStationMap, decorateButtons, doClose, errorMessage, getAttribute, getContents, getDataManager, getDataSource, getDataSourceId, getDataSourcesComponent, getDataSourcesComponent, getDataSourcesComponent, getDataSourcesComponent, getDefaultButtons, 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, makeDataSource, makeDataSource, makeTimeMenus, newSelectedStations, resetDataSourceId, setDataSource, setDataSourceListener, shouldDoUpdateOnFirstDisplay, showNormalCursor, showWaitCursor, startTask, stopTask, stopTaskAndIsOk, taskOk, userMessage, usingStations
 
Methods inherited from class ucar.unidata.ui.ChooserPanel
addPropertyChangeListener, canDoUpdate, clearWaitCursor, doHelp, firePropertyChange, getButtonLabels, getDefaultButtons, getHaveData, getLoadCommandName, getMessageTemplate, getSimpleMode, getStatusComponent, getUpdateToolTip, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

logger

private static final org.slf4j.Logger logger

mineBtn

public static JToggleButton mineBtn

SIZE_THRESHOLD

private static final int SIZE_THRESHOLD
_more_

See Also:
Constant Field Values

DEFAULT_MAG

private static final int DEFAULT_MAG
default magnification

See Also:
Constant Field Values

PLACE_CENTER

private static final String PLACE_CENTER
flag for center

See Also:
Constant Field Values

PLACE_ULEFT

private static final String PLACE_ULEFT
flag for upper left

See Also:
Constant Field Values

PLACE_LLEFT

private static final String PLACE_LLEFT
flag for lower left

See Also:
Constant Field Values

PLACE_URIGHT

private static final String PLACE_URIGHT
flag for upper right

See Also:
Constant Field Values

PLACE_LRIGHT

private static final String PLACE_LRIGHT
flag for lower right

See Also:
Constant Field Values

FILE_SATBAND

protected static final String FILE_SATBAND
Property for the satband file

See Also:
Constant Field Values

PROP_BAND

protected static final String PROP_BAND
Property for image default value band

See Also:
Constant Field Values

PROP_ID

protected static final String PROP_ID
Property for image default value id

See Also:
Constant Field Values

PROP_KEY

protected static final String PROP_KEY
Property for image default value key

See Also:
Constant Field Values

PROP_LATLON

protected static final String PROP_LATLON
Property for image default value lat/lon

See Also:
Constant Field Values

PROP_LINELE

protected static final String PROP_LINELE
Property for image default value line/ele

See Also:
Constant Field Values

PROP_LOC

protected static final String PROP_LOC
Property for image default value loc

See Also:
Constant Field Values

PROP_MAG

protected static final String PROP_MAG
Property for image default value mag

See Also:
Constant Field Values

PROP_NUM

protected static final String PROP_NUM
Property for num

See Also:
Constant Field Values

PROP_PLACE

protected static final String PROP_PLACE
Property for image default value place

See Also:
Constant Field Values

PROP_SIZE

protected static final String PROP_SIZE
Property for image default value size

See Also:
Constant Field Values

PROP_SPAC

protected static final String PROP_SPAC
Property for image default value spac

See Also:
Constant Field Values

PROP_UNIT

protected static final String PROP_UNIT
Property for image default value unit

See Also:
Constant Field Values

PROP_NAV

protected static final String PROP_NAV
Property for image default value unit

See Also:
Constant Field Values

ADVANCED_PROPS

private static final String[] ADVANCED_PROPS
This is the list of properties that are used in the advanced gui


ADVANCED_LABELS

private static final String[] ADVANCED_LABELS
This is the list of labels used for the advanced gui


TAG_DEFAULT

protected static final String TAG_DEFAULT
Xml tag name for the defaults

See Also:
Constant Field Values

VALUE_DEFAULT

protected static final String VALUE_DEFAULT
identifiere for the default value

See Also:
Constant Field Values

ATTR_NAME

protected static final String ATTR_NAME
Xml attr name for the defaults

See Also:
Constant Field Values

ATTR_PATTERN

protected static final String ATTR_PATTERN
Xml attr name for the defaults

See Also:
Constant Field Values

amSettingProperties

private boolean amSettingProperties
flag for setting properties


readTimesTask

private Object readTimesTask
Are we currently reading times


archiveDay

protected String archiveDay
archive date


propPanel

private JPanel propPanel
Holds the properties


archiveDayLabel

protected JLabel archiveDayLabel
archive day button and label


archiveDayBtn

protected JButton archiveDayBtn

propToComps

private Hashtable propToComps
Maps the PROP_ property name to the gui component


resourceMaps

private List resourceMaps
This is a list of hashtables, one per imagedefaults resource. The Hashtables map the pattern to the xml node


addeDefaults

private XmlResourceCollection addeDefaults
Holds the subsetting defaults


archiveDayFormatter

private SimpleDateFormat archiveDayFormatter
archive date formatter


latLonWidget

protected LatLonWidget latLonWidget
Input for lat/lon center point


lineMagSlider

protected JSlider lineMagSlider
Widget for the line magnfication in the advanced section


lineMagLbl

protected JLabel lineMagLbl
Label for the line mag. in the advanced section


elementMagSlider

protected JSlider elementMagSlider
Widget for the element magnfication in the advanced section


elementMagLbl

protected JLabel elementMagLbl
Label for the element mag. in the advanced section


baseNumLines

private double baseNumLines
base number of lines


sizeLbl

JLabel sizeLbl
size label


baseNumElements

private double baseNumElements
base number of lines


numElementsFld

JTextField numElementsFld
Widget to hold the number of elements in the advanced


numLinesFld

JTextField numLinesFld
Widget to hold the number of lines in the advanced


centerLineFld

protected JTextField centerLineFld
Widget for the line center point in the advanced section


centerElementFld

protected JTextField centerElementFld
Widget for the element center point in the advanced section


lockBtn

private JToggleButton lockBtn
_more_


fullResBtn

private JButton fullResBtn
full resolution button


MAX_BANDS

int MAX_BANDS
Identifier for the maximum number of bands


lastAD

private AreaDirectory lastAD
The last AreaDirectory we have seen.


propertiesAD

private AreaDirectory propertiesAD
The current AreaDirectory used for properties


prevPropertiesAD

private AreaDirectory prevPropertiesAD
The previous AreaDirectory used for properties


bandTable

protected Hashtable bandTable
Mapping of area directory to list of BandInfos


imageDescriptors

protected Vector imageDescriptors
The list of currently loaded AddeImageDescriptor-s


MAX_SIZE

private static final int MAX_SIZE
maximum size for the widget

See Also:
Constant Field Values

unitComboBox

protected JComboBox unitComboBox
Widget for selecting image units


placeLbl

private JLabel placeLbl
place label


place

private String place
the place string


locationPanel

private GuiUtils.CardLayoutPanel locationPanel
location panel


navComboBox

protected JComboBox navComboBox
Widget for selecting image nav type


sensorToBandToName

private Hashtable sensorToBandToName
Mapping of sensor id (String) to hashtable that maps Integer band number to name


useSatBandInfo

private boolean useSatBandInfo
A flag so we can debug the new way of processing sat band file


satBandInfo

private AddeSatBands satBandInfo
Used to parse the sat band file


bandComboBox

protected JComboBox bandComboBox
Widget for selecting the band


ALL

protected static final String ALL
string for ALL

See Also:
Constant Field Values

ALLBANDS

protected static final TwoFacedObject ALLBANDS
object for selecting all bands


ALLUNITS

protected static final TwoFacedObject ALLUNITS
object for selecting all calibrations


linesToElements

private double linesToElements
Keep track of the lines to element ratio


SLIDER_MAX

private static final int SLIDER_MAX
limit of slider

See Also:
Constant Field Values

bandInfos

private List<BandInfo> bandInfos
the list of band infos


MUTEX

private Object MUTEX
locking mutex

Constructor Detail

AddeImageChooser

public AddeImageChooser(IdvChooserManager mgr,
                        Element root)
Construct an Adde image selection widget

Parameters:
mgr - The chooser manager
root - The chooser.xml node
Method Detail

getImageDefaults

protected XmlResourceCollection getImageDefaults()
Get the xml resource collection that defines the image default xml

Returns:
Image defaults resources

updateStatus

protected void updateStatus()
Update labels, enable widgets, etc.

Overrides:
updateStatus in class AddeChooser

timesOk

public boolean timesOk()
Do we have times selected. Either we are doing absolute times and there are some selected in the list. Or we are doing relative times and we have done a connect to the server

Returns:
Do we have times

getAdvancedProps

protected String[] getAdvancedProps()
Get the list of advanced property names

Returns:
array of advanced property names

getAdvancedLabels

protected String[] getAdvancedLabels()
Get the list of advanced property labels

Returns:
list of advanced property labels

logException

public void logException(String msg,
                         Exception exc)
Convenience method for lazy people who don't want to call LogUtil.logException(String, Throwable).

Overrides:
logException in class IdvChooser
Parameters:
msg - log message
exc - Exception to log

getDataName

public String getDataName()
This allows derived classes to provide their own name for labeling, etc.

Overrides:
getDataName in class AddeChooser
Returns:
the dataset name

getDescriptorLabel

public String getDescriptorLabel()
Get the descriptor widget label

Overrides:
getDescriptorLabel in class AddeChooser
Returns:
label for the descriptor widget

checkSetNav

protected void checkSetNav()
Respond to a change in the descriptor list.


getDatasetName

public String getDatasetName()
Get the name of the dataset.

Returns:
descriptive name of the dataset.

canReadTimes

protected boolean canReadTimes()
Check if we are ready to read times

Returns:
true if times can be read

handleUpdate

public void handleUpdate()
                  throws Exception
Handle when the user presses the update button

Overrides:
handleUpdate in class AddeChooser
Throws:
Exception - On badness

readFromServer

protected void readFromServer()
Do server connection stuff... override this with type-specific methods

Overrides:
readFromServer in class AddeChooser

clearTimesList

protected void clearTimesList()
Overwrite base class method to clear out the lastAD member here.

Overrides:
clearTimesList in class TimesChooser

getArchiveDay

public void getArchiveDay()
Show the archive dialog. This method is not meant to be called but is public by reason of implementation (or insanity).


getBottomComponents

protected void getBottomComponents(List bottomComps)
Add the bottom advanced gui panel to the list

Parameters:
bottomComps - the bottom components

getLockButton

private JToggleButton getLockButton()
Get the "lock" button

Returns:
the lock button

setToFullResolution

public void setToFullResolution()
Set to full resolution


cyclePlace

public void cyclePlace()
Cycle the place


changePlace

public void changePlace(String newPlace)
Change the place

Parameters:
newPlace - new place

elementMagSliderChanged

protected void elementMagSliderChanged(boolean recomputeLineEleRatio)
_more_

Parameters:
recomputeLineEleRatio - _more_

lineMagSliderChanged

protected void lineMagSliderChanged(boolean autoSetSize)
Handle the line mag slider changed event

Parameters:
autoSetSize - _more_

getLineMagValue

protected int getLineMagValue()
Get the value of the line magnification slider.

Returns:
The magnification value for the line

getElementMagValue

protected int getElementMagValue()
Get the value of the element magnification slider.

Returns:
The magnification value for the element

absoluteTimesSelectionChanged

protected void absoluteTimesSelectionChanged()
Handle the absolute time selection changing

Overrides:
absoluteTimesSelectionChanged in class TimesChooser

makeTimesPanel

protected JPanel makeTimesPanel()
Set the relative and absolute extra components

Overrides:
makeTimesPanel in class TimesChooser

getExtraTimeComponent

protected JComponent getExtraTimeComponent()
Get the time popup widget

Overrides:
getExtraTimeComponent in class TimesChooser
Returns:
a widget for selecing the day

addPropComp

protected JComponent addPropComp(String propId,
                                 JComponent comp)
Associates the given JComponent with the PROP_ property identified by the given propId

Parameters:
propId - The property
comp - The gui component that allows the user to set the property
Returns:
Just returns the given comp

usePropFromUser

protected boolean usePropFromUser(String propId)
Should we use the user supplied property

Parameters:
propId - The property
Returns:
Should use the value from the advanced widget

getASelectedTime

protected AreaDirectory getASelectedTime()
Get one of the selected times.

Returns:
One of the selected times.

enableWidgets

protected void enableWidgets()
Enable or disable the GUI widgets based on what has been selected.

Overrides:
enableWidgets in class AddeChooser

useLatLon

protected boolean useLatLon()
Check if we are using the lat/lon widget

Returns:
true if we are using the lat/lon widget

checkCenterEnabled

protected void checkCenterEnabled()
Enable or disable the center lat/lon and line/element widgets


getSelectedUnit

protected String getSelectedUnit()
Get the selected calibration unit.

Returns:
the selected calibration unit

getDataType

public String getDataType()
Get the data type for this chooser

Overrides:
getDataType in class AddeChooser
Returns:
the data type

getDatasetDescription

public String getDatasetDescription()
Deprecated. use #getDatasetName()

Get a description of the currently selected dataset

Returns:
a description of the currently selected dataset

readTimes

public void readTimes()
Read the set of image times available for the current server/group/type This method is a wrapper, setting the wait cursor and wrapping the call to readTimesInner(); in a try/catch block

Overrides:
readTimes in class AddeChooser

doCancel

public void doCancel()
_more_

Overrides:
doCancel in class IdvChooser

readTimesInner

protected void readTimesInner()
Set the list of dates/times based on the image selection


setSelectedTimes

protected void setSelectedTimes(DateTime[] times)
Set the selected times in the times list based on the input times

Overrides:
setSelectedTimes in class TimesChooser
Parameters:
times - input times

setCenterLocation

protected void setCenterLocation(AddeImageDescriptor aid)
Set the center location portion of the request. If the input from the widget is null, use the centerpoint from the image descriptor.

Parameters:
aid - image descriptor for the image

getGroupType

protected String getGroupType()
get the adde server grup type to use

Overrides:
getGroupType in class AddeChooser
Returns:
group type

getGoodToGo

protected boolean getGoodToGo()
Does this selector have all of its state set to load in data

Overrides:
getGoodToGo in class AddeChooser
Returns:
Has the user chosen everything they need to choose to load data

getImageList

public List getImageList()
Returns a list of the images to load or null if none have been selected.

Specified by:
getImageList in interface ImageSelector
Returns:
list get the list of image descriptors

initializeAddeDefaults

protected void initializeAddeDefaults()
Process the image defaults resources


getDefault

protected String getDefault(String property,
                            String dflt)
Get the default value for a key

Parameters:
property - property (key type)
dflt - default value
Returns:
value for key or dflt if not found

getSizeString

protected String getSizeString(AreaDirectory ad)
Get the image size string from the directory and defaults

Parameters:
ad - image directory
Returns:
request size

checkForValidValues

protected boolean checkForValidValues()
Check for valid lat/lon values

Returns:
true if values are valid

getBaseUrlProps

protected String[] getBaseUrlProps()
Get the list of properties for the base URL

Returns:
list of properties

makeProps

protected String makeProps(String[] props,
                           AreaDirectory ad)
A utility that creates the url argument line for the given set of properties.

Parameters:
props - The PROP_ properties to make the request string for
ad - The area directory.
Returns:
The adde request string

getPropValue

protected String getPropValue(String prop,
                              AreaDirectory ad)
Get the value for the given property. This can either be the value supplied by the end user through the advanced GUI or is the default

Parameters:
prop - The property
ad - The AreaDirectory
Returns:
The value of the property to use in the request string

getUserPropValue

protected String getUserPropValue(String prop,
                                  AreaDirectory ad)
Get the user supplied property value for the adde request string

Parameters:
prop - The property
ad - The AreaDirectory
Returns:
The value, supplied by the user, of the property to use in the request string

getDefaultPropValue

protected String getDefaultPropValue(String prop,
                                     AreaDirectory ad,
                                     boolean forDisplay)
Get the default property value for the adde request string

Parameters:
prop - The property
ad - The AreaDirectory
forDisplay - Is this to display to the user in the gui
Returns:
The default of the property to use in the request string

setImageInfoProps

protected void setImageInfoProps(AddeImageInfo aii,
                                 String[] props,
                                 AreaDirectory ad)
Set the properties on the AddeImageInfo from the list of properties

Parameters:
aii - The AddeImageInfo
props - list of props to set
ad - The AreaDirectory

getSelectedBandName

public String getSelectedBandName()
Get the name of the selected band

Returns:
the name of the band

clearPropertiesWidgets

protected void clearPropertiesWidgets()
Clear the properties widgets


setPropertiesState

protected void setPropertiesState(AreaDirectory ad)
Set the widgets with the state from the given AreaDirectory

Parameters:
ad - AreaDirectory for the image

getSize

protected int[] getSize(AreaDirectory ad)
_more_

Parameters:
ad - _more_
Returns:
_more_

setPropertiesState

protected void setPropertiesState(AreaDirectory ad,
                                  boolean force)
Set the widgets with the state from the given AreaDirectory

Parameters:
ad - AreaDirectory for the image
force - force an update regardless of the previous invocation

setMagSliders

protected void setMagSliders(int lineValue,
                             int elementValue)
Set the mag slider values

Parameters:
lineValue - the line value
elementValue - the element value

getMagValue

protected int getMagValue(JSlider slider)
Get the value of the given magnification slider.

Parameters:
slider - The slider to get the value from
Returns:
The magnification value

getPair

protected String[] getPair(String v)
Get a pair of properties

Parameters:
v - a space separated string
Returns:
an array of the two strings

getSelectedBand

protected int getSelectedBand()
Get the selected band from the advanced chooser

Returns:
selected band number

translatePlace

protected String translatePlace(String place)
Translate a place name into a human readable form

Parameters:
place - raw name
Returns:
human readable name

getBandName

protected String getBandName(AreaDirectory ad,
                             int band)
Get the band name for a particular area

Parameters:
ad - AreaDirectory
band - band number
Returns:
name of the band

setAvailableUnits

protected void setAvailableUnits(AreaDirectory ad,
                                 int band)
Set the available units in the unit selector

Parameters:
ad - AreaDirectory for the image
band - band to use for units

getAvailableUnits

protected List<TwoFacedObject> getAvailableUnits(AreaDirectory ad,
                                                 int band)
Set the available units in the unit selector

Parameters:
ad - AreaDirectory for the image
band - band to use for units
Returns:
List of available units

readSatBands

protected void readSatBands()
Get the band name information from the server


makeImageInfo

protected AddeImageInfo makeImageInfo(AreaDirectory dir,
                                      boolean isRelative,
                                      int num)
Make an AddeImageInfo from a URL and an AreaDirectory

Parameters:
dir - AreaDirectory
isRelative - true if is relative
num - number (for relative images)
Returns:
corresponding AddeImageInfo

checkPropertiesEqual

protected boolean checkPropertiesEqual(AreaDirectory ad1,
                                       AreaDirectory ad2)
Check to see if the two Area directories are equal

Parameters:
ad1 - first AD (may be null)
ad2 - second AD (may be null)
Returns:
true if they are equal

getPropertiesDescription

protected String getPropertiesDescription()
Get a description of the properties

Returns:
a description

handleConnectionError

protected void handleConnectionError(Exception e)
Show the given error to the user. If it was an Adde exception that was a bad server error then print out a nice message.

Overrides:
handleConnectionError in class AddeChooser
Parameters:
excp - The exception

makeBandInfos

protected List<BandInfo> makeBandInfos(AreaDirectory ad,
                                       int[] bands)
Get the list of bands for the images

Parameters:
ad - AreaDirectory
bands - list of bands
Returns:
list of BandInfos for the selected images

getBandInfos

protected List<BandInfo> getBandInfos()
Get the pregenerated bandInfos


getSelectedBandInfos

public List<BandInfo> getSelectedBandInfos()
Get the list of BandInfos for the current selected images

Returns:
list of BandInfos

getDefaultDisplayType

protected String getDefaultDisplayType()
Get the id for the default display type

Overrides:
getDefaultDisplayType in class IdvChooser
Returns:
the display id

doLoadInThread

public void doLoadInThread()
User said go, we go. Simply get the list of images from the imageChooser and create the ADDE.IMAGE DataSource

Overrides:
doLoadInThread in class ChooserPanel

getDataSourceId

protected String getDataSourceId()
Return the data source ID. Used by extending classes.

Overrides:
getDataSourceId in class IdvChooser

getDataSourceProperties

protected void getDataSourceProperties(Hashtable ht)
Get the DataSource properties

Overrides:
getDataSourceProperties in class IdvChooser
Parameters:
ht - Hashtable of properties

processPropertyComponents

protected List processPropertyComponents()
_more_

Returns:
_more_

doMakeContents

public JComponent doMakeContents()
Make the UI for this selector.

Overrides:
doMakeContents in class AddeChooser
Returns:
The gui

doMakeContents

public JComponent doMakeContents(boolean doesOverride)