Package thredds.ui.catalog
Class CatalogChooser
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- thredds.ui.catalog.CatalogChooser
-
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
public class CatalogChooser extends JPanel
A Swing widget for THREDDS clients to access and choose from Dataset Inventory catalogs. State is maintained in a ucar.util.Preferences store.A list of catalogs is kept in a ComboBox, and the user can choose from them and add new ones. When a catalog is chosen, its contents are displayed in a CatalogTreeView. As the datasets are browsed, the metadata is displayed in an HtmlBrowser widget.
When a new dataset is selected, a java.beans.PropertyChangeEvent is thrown, see addPropertyChangeListener.
Use Example:
// create widgets catalogChooser = new thredds.ui.CatalogChooser( prefs); catalogChooserDialog = catalogChooser.makeDialog(rootPaneContainer, "Open THREDDS dataset", true); // listen for selection catalogChooser.addPropertyChangeListener( new java.beans.PropertyChangeListener() { public void propertyChange( java.beans.PropertyChangeEvent e) { if (e.getPropertyName().equals("Dataset")) { .. } } }); // popup dialog catalogChooserDialog.show();
You can use the CatalogChooser alone, wrap it into a JDialog for popping up, or use a ThreddsDatasetChooser instead, for a more complete interface.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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
-
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
Constructor Summary
Constructors Constructor Description CatalogChooser(PreferencesExt prefs, boolean showComboChooser, boolean showOpenButton, boolean showFileChooser)
Constructor, with control over whether a comboBox of previous catalogs is shown.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addButton(JButton b)
Add this button to the button panel.Catalog
getCurrentCatalog()
Get the current catalog being shown.String
getCurrentURL()
Get the current URL string.DatasetNode
getSelectedDataset()
CatalogTreeView
getTreeView()
Get the TreeView component.JDialog
makeDialog(RootPaneContainer parent, String title, boolean modal)
Wrap this in a JDialog component.void
save()
Save persistent state.void
setAccessOnly(boolean accessOnly)
Whether to throw events only if dataset has an Access.void
setCatalog(String catalogURL)
Set the current catalog with a string URL.void
setCatalog(Catalog catalog)
Set the current catalog.void
setCatrefEvents(boolean catrefEvents)
Whether to throw events if catref URL was chosen catref URL was chosen in HtmlViewer (default false).void
setDatasetEvents(boolean datasetEvents)
Whether to throw events if dataset URL was chosen in HtmlViewer (default true).void
setSelectedDataset(Dataset ds)
Set the currently selected InvDataset.void
setSelectedItem(String item)
Set the string value in the combo box-
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, revalidate, 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, 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, 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
-
-
-
-
Constructor Detail
-
CatalogChooser
public CatalogChooser(PreferencesExt prefs, boolean showComboChooser, boolean showOpenButton, boolean showFileChooser)
Constructor, with control over whether a comboBox of previous catalogs is shown.- Parameters:
prefs
- persistent storage, may be null.showComboChooser
- comboBox persists catalog URLsshowOpenButton
- show the "open" button.showFileChooser
- show a FileChooser (must have showComboChooser true)
-
-
Method Detail
-
save
public void save()
Save persistent state.
-
addButton
public void addButton(JButton b)
Add this button to the button panel.- Parameters:
b
- button to add
-
setAccessOnly
public void setAccessOnly(boolean accessOnly)
Whether to throw events only if dataset has an Access.- Parameters:
accessOnly
- if true, throw events only if dataset has an Access
-
setCatrefEvents
public void setCatrefEvents(boolean catrefEvents)
Whether to throw events if catref URL was chosen catref URL was chosen in HtmlViewer (default false).
-
setDatasetEvents
public void setDatasetEvents(boolean datasetEvents)
Whether to throw events if dataset URL was chosen in HtmlViewer (default true).
-
setSelectedItem
public void setSelectedItem(String item)
Set the string value in the combo box- Parameters:
item
- to this item
-
setSelectedDataset
public void setSelectedDataset(Dataset ds)
Set the currently selected InvDataset.- Parameters:
ds
- select this InvDataset, must be already in the tree.
-
getSelectedDataset
public DatasetNode getSelectedDataset()
-
getCurrentCatalog
public Catalog getCurrentCatalog()
Get the current catalog being shown.- Returns:
- current catalog, or null.
-
getTreeView
public CatalogTreeView getTreeView()
Get the TreeView component.- Returns:
- the TreeView component.
-
getCurrentURL
public String getCurrentURL()
Get the current URL string. This may be the top catalog, or a catalogRef, depending on what was last selected. Used to implement the " showSource" debugging tool.- Returns:
- current URL string
-
setCatalog
public void setCatalog(Catalog catalog)
Set the current catalog.
-
setCatalog
public void setCatalog(String catalogURL)
Set the current catalog with a string URL. May be of form catalog#datasetId
-
makeDialog
public JDialog makeDialog(RootPaneContainer parent, String title, boolean modal)
Wrap this in a JDialog component.- Parameters:
parent
- JFrame (application) or JApplet (applet) or nulltitle
- dialog window titlemodal
- is modal
-
-