Unidata IDV Workshop for version 6.0  > Java Developer Topics  >  Display Controls  
5.6.0 Overview of Display Controls
The ucar.unidata.idv.DisplayControl interface defines
the API through which all data are displayed. There is a base class
ucar.unidata.idv.control.DisplayControlImpl that provides a
set of base services. A DisplayControl generally has a data depiction
and a control window for modifying or interacting with the display.
There are a variety of DisplayControl implementations:
  -  ucar.unidata.idv.control.DisplayControlImpl
  
    -  ucar.unidata.idv.control.GridDisplayControl
    
      -  ucar.unidata.idv.control.PlanViewControl
      
        -  ucar.unidata.idv.control.ColorPlanViewControl
        
 -  ucar.unidata.idv.control.ContourPlanViewControl
        
 -  ucar.unidata.idv.control.FlowPlanViewControl
        
 -  ucar.unidata.idv.control.ImagePlanViewControl
        
 -  ucar.unidata.idv.control.RadarSweepControl 
        
 -  ucar.unidata.idv.control.ValuePlanViewControl
      
 
       -  ucar.unidata.idv.control.CrossSectionControl
      
        -  ucar.unidata.idv.control.ColorCrossSectionControl
        
 -  ucar.unidata.idv.control.ContourCrossSectionControl
        
 -  ucar.unidata.idv.control.FlowCrossSectionControl
      
 
       -  ucar.unidata.idv.control.ThreeDSurfaceContro
      
 -  ucar.unidata.idv.control.TopographyControl
      
 -  ucar.unidata.idv.control.ProbeControl
      
 -  ucar.unidata.idv.control.VerticalProfileControl
    
 
     -  ucar.unidata.idv.control.ObsDisplayControl
    
       -  ucar.unidata.idv.control.ObsListControl
       
 -  ucar.unidata.idv.control.StationLocationControl
       
 -  ucar.unidata.idv.control.StationModelControl
    
 
     -  ucar.unidata.idv.control.BaseImageControl
    
      -  ucar.unidata.idv.control.ImageSequenceControl,  
      
ucar.unidata.idv.control.ImageControl
     
     -  ucar.unidata.idv.control.AerologicalDisplayControl 
    
      -  ucar.unidata.idv.control.GriddedSoundingControl 
      
 -  ucar.unidata.idv.control.RaobSoundingControl 
      
 -  ucar.unidata.idv.control.TrackSoundingControl 
    
 
     -  ucar.unidata.idv.control.ProfilerControl 
    
      -  ucar.unidata.idv.control.ProfilerMultiStationControl 
      
 -  ucar.unidata.idv.control.ProfilerTimeHeightControl 
    
 
     -  ucar.unidata.idv.control.LocationIndicatorControl
    
 -  ucar.unidata.idv.control.MapDisplayControl 
    
 -  ucar.unidata.idv.control.NoteControl
    
 -  ucar.unidata.idv.control.OmniControl
    
 -  ucar.unidata.idv.control.RangeAndBearingControl 
    
 -  ucar.unidata.idv.control.RadarGridControl 
    
 -  ucar.unidata.idv.control.ShapefileControl 
  
 
 
Creating Display Controls
The IDV uses the ucar.unidata.idv.ControlDescriptor class to create 
set of DisplayControls-s.  The set of available DisplayControls-s 
is  defined within  the 
controls.xml resource file.
This file has the form:
  <control
     id="wxtextdisplay"
     categories="wxtext"
     class="ucar.unidata.apps.example.WxTextDisplayControl"
     description="Weather Text Display"
     label="Weather Text Display"
     displaycategory="General"
     properties="windowVisible=true; displayName=Weather Text Display;"/>
The ControlDescriptor class parses the XML and creates a set of 
ucar.unidata.idv.ControlDescriptor objects which 
hold this information.
-  The id attribute is a name that can be used to identify
this control for command line and scripting arguments.
 -  The categories attribute lists the DataCategory-s that
this control is valid for.
 -  The class attribute gives the class name of the DisplayControl
 -  The description attribute is used for descriptions.
 -  The label attribute is used for labels.
 -  The displaycategory attribute is used for categorizing in legends.
 -  The properties attribute is used for passing in String and boolean
properties to the control.
 
So, you're probably wondering how you can create your own DisplayControl.
You need to make a subclass of DisplayControlImpl and override the
following methods:
-  the no arg constructor - for persistence
 -  doMakeContents  - make the GUI
 -  init(DataChoice)  - sets up the initialization.
 
 
 
 
Unidata IDV Workshop for version 6.0  > Java Developer Topics  >  Display Controls