public CFFreeSwitchSwingAuditActionAttrJPanel(
      ICFFreeSwitchSwingSchema argSchema, ICFSecurityAuditActionObj argFocus) {
    super();
    JLabel label;
    JComponent compo;
    CFJReferenceEditor reference;
    final String S_ProcName = "construct-schema-focus";
    if (argSchema == null) {
      throw CFLib.getDefaultExceptionFactory()
          .newNullArgumentException(getClass(), S_ProcName, 1, "argSchema");
    }
    // argFocus is optional; focus may be set later during execution as
    // conditions of the runtime change.
    swingSchema = argSchema;
    setSwingFocusAsAuditAction(argFocus);
    final int spacing = 5;
    int y = spacing;
    final int height = 25;
    final int textheight = 80;
    final int vspacing = height + spacing;
    final int textvspacing = textheight + spacing;
    final int labelx = spacing;
    final int labelwidth = 200;
    final int fieldx = labelx + labelwidth + spacing;
    final int fieldwidth = 785;
    final int panelwidth = fieldx + fieldwidth + spacing;
    // temporary -- I think you have to have a panel bigger than the coordinates initially
    setSize(panelwidth, 100000);

    label = getSwingLabelAuditActionId();
    add(label);
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorAuditActionId();
    add(compo);
    compo.setBounds(fieldx, y, fieldwidth, height);
    y = y + vspacing;

    label = getSwingLabelDescription();
    add(label);
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorDescription();
    add(compo);
    compo.setBounds(fieldx, y, fieldwidth, height);
    y = y + vspacing;

    // Now we can set the proper size based on the fields and references populated
    setSize(panelwidth, y);
    Dimension pfsz = new Dimension(panelwidth, y);
    setPreferredSize(pfsz);
    Dimension min = new Dimension(400, y);
    setMinimumSize(min);
    populateFields();
    adjustComponentEnableStates();
    swingIsInitializing = false;
  }
  public void doLayout() {
    JLabel label;
    JComponent compo;
    CFJReferenceEditor reference;
    Dimension dim;
    final int spacing = 5;
    int y = spacing;
    final int height = 25;
    final int textheight = 80;
    final int vspacing = height + spacing;
    final int textvspacing = textheight + spacing;
    final int labelx = spacing;
    final int labelwidth = 200;
    final int fieldx = labelx + labelwidth + spacing;
    final int fieldwidth = 1024;
    Dimension jpsz = getSize();
    int usefieldwidth = jpsz.width - 215;

    label = getSwingLabelAuditActionId();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorAuditActionId();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;

    label = getSwingLabelDescription();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorDescription();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;
  }
  public CFFreeSwitchSwingPbxIvrMenuAttrJPanel(
      ICFFreeSwitchSwingSchema argSchema, ICFFreeSwitchPbxIvrMenuObj argFocus) {
    super();
    JLabel label;
    JComponent compo;
    CFJReferenceEditor reference;
    final String S_ProcName = "construct-schema-focus";
    if (argSchema == null) {
      throw CFLib.getDefaultExceptionFactory()
          .newNullArgumentException(getClass(), S_ProcName, 1, "argSchema");
    }
    // argFocus is optional; focus may be set later during execution as
    // conditions of the runtime change.
    swingSchema = argSchema;
    setSwingFocusAsPbxIvrMenu(argFocus);
    final int spacing = 5;
    int y = spacing;
    final int height = 25;
    final int textheight = 80;
    final int vspacing = height + spacing;
    final int textvspacing = textheight + spacing;
    final int labelx = spacing;
    final int labelwidth = 200;
    final int fieldx = labelx + labelwidth + spacing;
    final int fieldwidth = 785;
    final int panelwidth = fieldx + fieldwidth + spacing;
    // temporary -- I think you have to have a panel bigger than the coordinates initially
    setSize(panelwidth, 100000);

    label = getSwingLabelContainerTenant();
    add(label);
    label.setBounds(labelx, y, labelwidth, height);
    reference = getSwingReferenceContainerTenant();
    add(reference);
    reference.setBounds(fieldx, y, fieldwidth, height);
    y = y + vspacing;

    label = getSwingLabelMenuId();
    add(label);
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorMenuId();
    add(compo);
    compo.setBounds(fieldx, y, fieldwidth, height);
    y = y + vspacing;

    label = getSwingLabelName();
    add(label);
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorName();
    add(compo);
    compo.setBounds(fieldx, y, fieldwidth, height);
    y = y + vspacing;

    label = getSwingLabelGreetLong();
    add(label);
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorGreetLong();
    add(compo);
    compo.setBounds(fieldx, y, fieldwidth, height);
    y = y + vspacing;

    label = getSwingLabelGreetShort();
    add(label);
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorGreetShort();
    add(compo);
    compo.setBounds(fieldx, y, fieldwidth, height);
    y = y + vspacing;

    label = getSwingLabelInvalidSound();
    add(label);
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorInvalidSound();
    add(compo);
    compo.setBounds(fieldx, y, fieldwidth, height);
    y = y + vspacing;

    label = getSwingLabelExitSound();
    add(label);
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorExitSound();
    add(compo);
    compo.setBounds(fieldx, y, fieldwidth, height);
    y = y + vspacing;

    label = getSwingLabelTimeout();
    add(label);
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorTimeout();
    add(compo);
    compo.setBounds(fieldx, y, fieldwidth, height);
    y = y + vspacing;

    label = getSwingLabelInterDigitTimeout();
    add(label);
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorInterDigitTimeout();
    add(compo);
    compo.setBounds(fieldx, y, fieldwidth, height);
    y = y + vspacing;

    label = getSwingLabelMaxFailures();
    add(label);
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorMaxFailures();
    add(compo);
    compo.setBounds(fieldx, y, fieldwidth, height);
    y = y + vspacing;

    label = getSwingLabelMaxTimeouts();
    add(label);
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorMaxTimeouts();
    add(compo);
    compo.setBounds(fieldx, y, fieldwidth, height);
    y = y + vspacing;

    label = getSwingLabelDigitLen();
    add(label);
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorDigitLen();
    add(compo);
    compo.setBounds(fieldx, y, fieldwidth, height);
    y = y + vspacing;

    // Now we can set the proper size based on the fields and references populated
    setSize(panelwidth, y);
    Dimension pfsz = new Dimension(panelwidth, y);
    setPreferredSize(pfsz);
    Dimension min = new Dimension(400, y);
    setMinimumSize(min);
    populateFields();
    adjustComponentEnableStates();
    swingIsInitializing = false;
  }
  public void doLayout() {
    JLabel label;
    JComponent compo;
    CFJReferenceEditor reference;
    Dimension dim;
    final int spacing = 5;
    int y = spacing;
    final int height = 25;
    final int textheight = 80;
    final int vspacing = height + spacing;
    final int textvspacing = textheight + spacing;
    final int labelx = spacing;
    final int labelwidth = 200;
    final int fieldx = labelx + labelwidth + spacing;
    final int fieldwidth = 1024;
    Dimension jpsz = getSize();
    int usefieldwidth = jpsz.width - 215;

    label = getSwingLabelContainerTenant();
    label.setBounds(labelx, y, labelwidth, height);
    reference = getSwingReferenceContainerTenant();
    reference.setBounds(fieldx, y, usefieldwidth, height);
    y = y + vspacing;

    label = getSwingLabelMenuId();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorMenuId();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;

    label = getSwingLabelName();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorName();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;

    label = getSwingLabelGreetLong();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorGreetLong();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;

    label = getSwingLabelGreetShort();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorGreetShort();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;

    label = getSwingLabelInvalidSound();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorInvalidSound();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;

    label = getSwingLabelExitSound();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorExitSound();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;

    label = getSwingLabelTimeout();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorTimeout();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;

    label = getSwingLabelInterDigitTimeout();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorInterDigitTimeout();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;

    label = getSwingLabelMaxFailures();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorMaxFailures();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;

    label = getSwingLabelMaxTimeouts();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorMaxTimeouts();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;

    label = getSwingLabelDigitLen();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorDigitLen();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;
  }
  public void doLayout() {
    JLabel label;
    JComponent compo;
    CFJReferenceEditor reference;
    Dimension dim;
    final int spacing = 5;
    int y = spacing;
    final int height = 25;
    final int textheight = 80;
    final int vspacing = height + spacing;
    final int textvspacing = textheight + spacing;
    final int labelx = spacing;
    final int labelwidth = 200;
    final int fieldx = labelx + labelwidth + spacing;
    final int fieldwidth = 1024;
    Dimension jpsz = getSize();
    int usefieldwidth = jpsz.width - 215;

    label = getSwingLabelId();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorId();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;

    label = getSwingLabelISOCode();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorISOCode();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;

    label = getSwingLabelName();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorName();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;

    label = getSwingLabelUnitSymbol();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorUnitSymbol();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;

    label = getSwingLabelFracSymbol();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorFracSymbol();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;

    label = getSwingLabelPrecis();
    label.setBounds(labelx, y, labelwidth, height);
    compo = getSwingEditorPrecis();
    dim = compo.getMaximumSize();
    if (dim.width < usefieldwidth) {
      compo.setBounds(fieldx, y, dim.width, height);
    } else {
      compo.setBounds(fieldx, y, fieldwidth, height);
    }
    y = y + vspacing;
  }