(form "00044" (size 60 21)
  (heading "COMPOSITE BY GEOLOGY")
  (label (position  4  3) (text "Define the string file to create"))
  (label (position  4  4) (text "Location"))
  (label (position  4  5) (text "ID number"))
  (label (position  4  6) (text "String"))
  (label (position  4  7) (text "No zone string"))
  (label (position  4  8) (text "No samples string"))
  (label (position  4  10) (text "Define the zone selection method"))
  (label (position  4 11) (text "Dilute blank or negative samples"))
  (label (position  4 12) (text "Sample co-ordinate point"))
  (field "loc" (position 20  4) (display_length 26) (input allowed)
    (translate lower) (null disallowed) (max_length 26)
    (file (link "rid") (extension "*.str"))
    )
  (field "rid" (position 20  5) (display_length 16) (input allowed)
    (translate upper) (format real_8) (null disallowed) (max_length 16)
    (help (field "loc")))
  (field "istr" (position 20  6) (display_length  5) (input allowed)
    (low_bound 1) (high_bound 32000)
    (format integer_4) (null disallowed) (max_length 5) 
    (help (field "loc")))
  (field "no_zone_str" (position 20  7) (display_length  5) (input allowed)
    (low_bound 0) (high_bound 32000)
    (format integer_4) (null disallowed) (max_length 5) 
    )
  (field "no_samples_str" (position 20  8) (display_length  5) (input allowed)
    (low_bound 0) (high_bound 32000)
    (format integer_4) (null disallowed) (max_length 5) 
    )
  (field "selection" (position 35  10) (display_length 20) (input allowed)
    (value_in "MULTIPLE ZONES" "ZONE FROM TO")
    (default "MULTIPLE ZONES")
    (translate upper) (null disallowed)
    )
  (field "dilute" (position 35 11) (display_length  1) (input allowed)
    (value_in "Y" "N")
    (translate upper) (null allowed) (max_length 1)
    )
  (field "outchoice" (position 35 12) (display_length  7) (input allowed)
    (max_length 8)
    (value_in "bottom" "middle" "segment" "top")
    (translate lower) (null disallowed) 
    )

  (label (position  4 13) (text "Table name"))
  (field "table" (position 35 13) (display_length  18) (input allowed)
    (null disallowed) (max_length 18)(exclusive_value_list)
    )


  (label (position  4 15) (text "Fields to be composited"))
  (scroll_block "composite_fields" (position  4  17) (size 14  2)
     (extra  0  1)
     (scroll_size 14 10)
     (repeat interactive (grow  0  1) (instances  1 (min  1) (max 20)))
    (top
      (label (position  1  0) (text "Field Name"))
    )
    (main
	(field "composite_field" (position 1 0) (display_length 10) 
          (input allowed)
          (null allowed) (max_length 18)
          )

    )
  )

  (label (position  30 15) (text "Optional weighting fields"))
  (scroll_block "weighting_fields" (position  30  17) (size 24  2)
     (extra  0  1)
     (scroll_size 24 5)
     (repeat interactive (grow  0  1) (instances  1 (min  1) (max 5)))
    (top
      (label (position  1  0) (text "Field Name"))
      (label (position  14  0) (text "Default"))
    )
    (main
	(field "weighting_field" (position 1 0) (display_length 10) 
          (input allowed)
          (null allowed) (max_length 18)
          )

	(field "weighting_default" (position 14 0) (display_length 6) 
          (input allowed) (default "1")
          (low_bound 0.0) (null disallowed) (max_length 10)
          )
    )
  )

  (field "write_codes" (position 34  25) (display_length  21) (input allowed)
    (value_in "" "database" "graphics")
     (null allowed) (max_length 21)
    (default "")
  )
  (field "geo_table" (position 14 26) (display_length 18) (input allowed)
    (dependency (value "write_codes") == "database")
    (translate lower) (null disallowed) (max_length 18)
    (auto_next off))
  (field "geo_field" (position 14 27) (display_length 18) (input allowed)
    (dependency (value "write_codes") == "database")
    (translate lower) (null disallowed) (max_length 18)
    (auto_next off))
  (field "geo_code" (position 14 28) (display_length 32) (input allowed)
    (dependency (value "write_codes") != "")
    (null disallowed) (max_length 32))

  (default_buttons)
)
