Unidata IDV Workshop for version 6.3 > 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.3 > Java Developer Topics > Display Controls