object LayerElement is components: Name and Shape and Color and Legend and Note; end LayerElement; object Name is string; object Shape is components: PointCoordinate*; end Shape; object PointCoordinate is components: Longitude and Latitude; end PointCoordinate; object Note is string; object Icon is components: PointCoordinate*, GIF; end Icon; object LayerElementToolbar is components: ; end; operation DrawShape inputs: Map and PointCoordinate; outputs: Map and PointCoordinate; description: (* DrawShape allows user to draw a shape on a layer element *); end DrawShape; operation ColorShape inputs: Color and Map; outputs: Map; description: (* ColorShape allows user to color in the shape of layer element *); end ColorShape; operation NameElement inputs: Name; outputs: Name; description: (* NameElement allows user to name element in textbox *); end NameElement; object LayerProperties is components: Name and Note and Value and Legend; end LayerProperties; object IconToolbar is components: Icon*; end IconToolbar;