edu.wisc.ssec.mcidasv.ui
Class McIDASVViewPanel

java.lang.Object
  extended by ucar.unidata.ui.WindowHolder
      extended by ucar.unidata.idv.IdvManager
          extended by edu.wisc.ssec.mcidasv.ui.McIDASVViewPanel
All Implemented Interfaces:
ActionListener, EventListener, IdvConstants, ViewPanel

public class McIDASVViewPanel
extends IdvManager
implements ViewPanel

This class has largely been copied over wholesale from the IDV code. Merely extending was proving to be as much as a hassle as just copying it, though now we still maintain complete control over the ViewPanel, and we have an obvious point of departure for whenever the JTree is started.

That said, I personally recommend avoiding this class until the JTree stuff is ready to go.


Nested Class Summary
 class McIDASVViewPanel.ControlInfo
           
private static class McIDASVViewPanel.ViewManagers
           
 class McIDASVViewPanel.VMInfo
           
 
Field Summary
private static Border BUTTON_BORDER
           
private static Font BUTTON_FONT
           
private static Image BUTTON_ICON
           
private  ButtonGroup buttonGroup
           
private static Font CAT_FONT
           
private static ImageIcon CATEGORY_CLOSED_ICON
           
private static ImageIcon CATEGORY_OPEN_ICON
           
private  JComponent contents
           
private  Hashtable<DisplayControl,McIDASVViewPanel.ControlInfo> controlToInfo
           
private static Color fgColor
           
static Border headerHighlight
          highlight border for view infos
static Border headerNormal
          The border for the header panel
private  IntegratedDataViewer idv
           
private  JPanel leftPanel
           
private static Color LINE_COLOR
           
private static Color onColor
           
private  GuiUtils.CardLayoutPanel rightPanel
           
private static boolean showCategories
           
private static boolean showPopup
           
private  JPanel viewContainer
           
private  List<McIDASVViewPanel.VMInfo> vmInfos
           
 
Fields inherited from class ucar.unidata.ui.WindowHolder
dialog, frame, window
 
Fields inherited from interface ucar.unidata.idv.ui.ViewPanel
ICON_DEFAULT, ICON_GLOBE, ICON_MAP, ICON_TRANSECT
 
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_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_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, PROP_SHOWDASHBOARD, PROP_SHOWDATATREE, PROP_SHOWFORMULAS, PROP_SHOWSPLASH, PROP_SPLASHICON, PROP_UI_DESKTOP, 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
 
Constructor Summary
McIDASVViewPanel(IntegratedDataViewer idv)
           
 
Method Summary
 void addControlTab(DisplayControl control, boolean forceShow)
           
 void addDisplayControl(DisplayControl control)
           
 void addViewMenuItems(DisplayControl control, List items)
           
 void controlMoved(DisplayControl control)
           
 void createUI()
           
 void displayControlChanged(DisplayControl control)
           
 void dockControl(DisplayControl control)
           
 void expandControl(DisplayControl control)
           
 McIDASVViewPanel.VMInfo findVMInfo(ViewManager vm)
           
 JComponent getContents()
           
 McIDASVViewPanel.VMInfo getVMInfo(ViewManager vm)
           
protected  void initButtonState()
          Initialize the button state
 void removeControlTab(DisplayControl control)
           
 void removeDisplayControl(DisplayControl control)
           
 void selectNext(boolean up)
           
 void undockControl(DisplayControl control)
           
 void viewManagerAdded(ViewManager vm)
           
 void viewManagerChanged(ViewManager vm)
          Triggered upon a change in the given ViewManager.
 void viewManagerDestroyed(ViewManager vm)
           
 
Methods inherited from class ucar.unidata.idv.IdvManager
getArgsManager, getCollabManager, getColorTableManager, getDataManager, getIdv, getIdvChooserManager, getIdvClass, getIdvProjectionManager, getIdvUIManager, getImageGenerator, getInstallManager, getJythonManager, getPersistenceManager, getPreferenceManager, getProperty, getProperty, getProperty, getPublishManager, getResourceManager, getStateManager, getStationModelManager, getStore, getVMManager, logException, showNormalCursor, showWaitCursor, waitUntilDisplaysAreDone, waitUntilDisplaysAreDone
 
Methods inherited from class ucar.unidata.ui.WindowHolder
actionPerformed, close, doMakeContents, getDialog, getFrame, getWindow, getWindowTitle, isShowing, removeAll, setMenuBar, setWindowTitle, shouldMakeDialog, show, show, showModal, toFront, windowIsClosing
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BUTTON_ICON

private static final Image BUTTON_ICON

CATEGORY_OPEN_ICON

private static final ImageIcon CATEGORY_OPEN_ICON

CATEGORY_CLOSED_ICON

private static final ImageIcon CATEGORY_CLOSED_ICON

BUTTON_BORDER

private static final Border BUTTON_BORDER

BUTTON_FONT

private static final Font BUTTON_FONT

LINE_COLOR

private static final Color LINE_COLOR

CAT_FONT

private static final Font CAT_FONT

headerNormal

public static Border headerNormal
The border for the header panel


headerHighlight

public static Border headerHighlight
highlight border for view infos


fgColor

private static Color fgColor

onColor

private static Color onColor

showPopup

private static boolean showPopup

showCategories

private static boolean showCategories

contents

private JComponent contents

leftPanel

private JPanel leftPanel

viewContainer

private JPanel viewContainer

buttonGroup

private ButtonGroup buttonGroup

rightPanel

private GuiUtils.CardLayoutPanel rightPanel

idv

private IntegratedDataViewer idv

controlToInfo

private Hashtable<DisplayControl,McIDASVViewPanel.ControlInfo> controlToInfo

vmInfos

private List<McIDASVViewPanel.VMInfo> vmInfos
Constructor Detail

McIDASVViewPanel

public McIDASVViewPanel(IntegratedDataViewer idv)
Method Detail

createUI

public void createUI()

selectNext

public void selectNext(boolean up)

addControlTab

public void addControlTab(DisplayControl control,
                          boolean forceShow)

expandControl

public void expandControl(DisplayControl control)

dockControl

public void dockControl(DisplayControl control)

undockControl

public void undockControl(DisplayControl control)

controlMoved

public void controlMoved(DisplayControl control)
Specified by:
controlMoved in interface ViewPanel

removeControlTab

public void removeControlTab(DisplayControl control)

getContents

public JComponent getContents()
Specified by:
getContents in interface ViewPanel
Overrides:
getContents in class WindowHolder

addDisplayControl

public void addDisplayControl(DisplayControl control)
Specified by:
addDisplayControl in interface ViewPanel

displayControlChanged

public void displayControlChanged(DisplayControl control)
Specified by:
displayControlChanged in interface ViewPanel

removeDisplayControl

public void removeDisplayControl(DisplayControl control)
Specified by:
removeDisplayControl in interface ViewPanel

addViewMenuItems

public void addViewMenuItems(DisplayControl control,
                             List items)
Specified by:
addViewMenuItems in interface ViewPanel

viewManagerAdded

public void viewManagerAdded(ViewManager vm)
Specified by:
viewManagerAdded in interface ViewPanel

viewManagerDestroyed

public void viewManagerDestroyed(ViewManager vm)
Specified by:
viewManagerDestroyed in interface ViewPanel

viewManagerChanged

public void viewManagerChanged(ViewManager vm)
Triggered upon a change in the given ViewManager. Just used so that our ControlInfo object can update its internal state.

Specified by:
viewManagerChanged in interface ViewPanel
Parameters:
vm - The ViewManager that's changed.

initButtonState

protected void initButtonState()
Initialize the button state

Parameters:
idv - the idv

getVMInfo

public McIDASVViewPanel.VMInfo getVMInfo(ViewManager vm)

findVMInfo

public McIDASVViewPanel.VMInfo findVMInfo(ViewManager vm)