# File control/EditProperties/EditProperties.rb, line 126
  def init_doc_args
    @argument = nil
    @arg_index = nil
    @doc_args = Array.new
    @arg_pos_map = Hash.new
    @call_index_map = Hash.new
    @arg_checked_alist = Array.new
    @arg_check_call_index = nil
    @arg_radio_alist = Array.new
    @arg_radio_item_call_index = nil

    arg_alist = @src.doc_args(@doc_type)
    document_list = @src.document_list
    radio_count = 0
    if (@doc_pos < document_list.length && @doc_type == document_list[@doc_pos][@src.doc_tag]) then
      arg_values = document_list[@doc_pos]['arguments']
      arg_alist.each_with_index do |(arg_name, arg_type, arg_default), i|
        arg_info = {
          :name => arg_name,
          :type => arg_type,
          :default => arg_default,
          :clear => false
        }
        case (arg_type)
        when :checkset
          arg_info[:value] = arg_values[i]
          for check_name, checked in arg_default
            @arg_checked_alist.push([ check_name, arg_info ])
          end
        when :radio
          arg_info[:value] = arg_values[i]
          radio_name = "RadioGroup#{radio_count}"
          for radio_value in arg_default
            @arg_radio_alist.push([ radio_name, radio_value, arg_info ])
          end
          radio_count += 1
        else
          arg_info[:value] = arg_values[i]
        end
        @doc_args.push(arg_info)
      end
    else
      arg_alist.each_with_index do |(arg_name, arg_type, arg_default), i|
        arg_info = {
          :name => arg_name,
          :type => arg_type,
          :default => arg_default
        }
        case (arg_type)
        when :select
          arg_info[:value] = arg_default[0]
        when :checkset
          arg_checkset = Hash.new
          arg_info[:value] = arg_checkset
          for check_name, checked in arg_default
            arg_checkset[check_name] = checked
            @arg_checked_alist.push([ check_name, arg_info ])
          end
        when :radio
          arg_info[:value] = arg_default[0]
          radio_name = "RadioGroup#{radio_count}"
          for radio_value in arg_default
            @arg_radio_alist.push([ radio_name, radio_value, arg_info ])
          end
          radio_count += 1
        else
          arg_info[:value] = arg_default
        end
        @doc_args.push(arg_info)
      end
    end

    @doc_args.each_with_index do |arg_info, i|
      arg_type = arg_info[:type]
      @arg_pos_map[arg_type] = Array.new unless (@arg_pos_map.include? arg_type)
      @arg_pos_map[arg_type].push(i)
    end

    nil
  end