public void showItem() {

    if (!this.editorPanel.getViewer().isLanguageFunctionAvailable()) {

      return;
    }

    this.highlight =
        this.editorPanel
            .getEditor()
            .addHighlight(this.position, this.position + this.word.length(), null, true);

    final FindSynonymsActionHandler _this = this;

    QTextEditor editor = this.editorPanel.getEditor();

    Rectangle r = null;

    try {

      r = editor.modelToView(this.position);

    } catch (Exception e) {

      // BadLocationException!
      Environment.logError("Location: " + this.position + " is not valid", e);

      UIUtils.showErrorMessage(this.editorPanel, "Unable to display synonyms.");

      return;
    }

    int y = r.y;

    // Show a panel of all the items.
    final QPopup p = this.popup;

    p.setOpaque(false);

    Synonyms syns = null;

    try {

      syns = this.projectViewer.getSynonymProvider().getSynonyms(this.word);

    } catch (Exception e) {

      UIUtils.showErrorMessage(this.editorPanel, "Unable to display synonyms.");

      Environment.logError("Unable to lookup synonyms for: " + word, e);

      return;
    }

    if ((syns.words.size() == 0) && (this.word.toLowerCase().endsWith("ed"))) {

      // Trim off the ed and try again.
      try {

        syns = this.projectViewer.getSynonyms(this.word.substring(0, this.word.length() - 2));

      } catch (Exception e) {

        UIUtils.showErrorMessage(this.editorPanel, "Unable to display synonyms.");

        Environment.logError("Unable to lookup synonyms for: " + word, e);

        return;
      }
    }

    if ((syns.words.size() == 0) && (this.word.toLowerCase().endsWith("s"))) {

      // Trim off the ed and try again.
      try {

        syns = this.projectViewer.getSynonyms(this.word.substring(0, this.word.length() - 1));

      } catch (Exception e) {

        UIUtils.showErrorMessage(this.editorPanel, "Unable to display synonyms.");

        Environment.logError("Unable to lookup synonyms for: " + word, e);

        return;
      }
    }

    StringBuilder sb = new StringBuilder();

    if (syns.words.size() > 0) {

      sb.append("6px");

      for (int i = 0; i < syns.words.size(); i++) {

        if (sb.length() > 0) {

          sb.append(", ");
        }

        sb.append("p, 3px, [p,90px], 5px");
      }
      /*
                if (syns.words.size () > 0)
                {

                    sb.append (",5px");

                }
      */
    } else {

      sb.append("6px, p, 6px");
    }

    FormLayout summOnly = new FormLayout("3px, fill:380px:grow, 3px", sb.toString());
    PanelBuilder pb = new PanelBuilder(summOnly);

    CellConstraints cc = new CellConstraints();

    int ind = 2;

    Map<String, String> names = new HashMap();
    names.put(Synonyms.ADJECTIVE + "", "Adjectives");
    names.put(Synonyms.NOUN + "", "Nouns");
    names.put(Synonyms.VERB + "", "Verbs");
    names.put(Synonyms.ADVERB + "", "Adverbs");
    names.put(Synonyms.OTHER + "", "Other");

    if (syns.words.size() == 0) {

      JLabel l = new JLabel("No synonyms found.");
      l.setFont(l.getFont().deriveFont(Font.ITALIC));

      pb.add(l, cc.xy(2, 2));
    }

    // Determine what type of word we are looking for.
    for (Synonyms.Part i : syns.words) {

      JLabel l = new JLabel(names.get(i.type + ""));

      l.setFont(l.getFont().deriveFont(Font.ITALIC));
      l.setFont(l.getFont().deriveFont((float) UIUtils.getEditorFontSize(10)));
      l.setBorder(
          new CompoundBorder(
              new MatteBorder(0, 0, 1, 0, Environment.getBorderColor()),
              new EmptyBorder(0, 0, 3, 0)));

      pb.add(l, cc.xy(2, ind));

      ind += 2;

      HTMLEditorKit kit = new HTMLEditorKit();
      HTMLDocument doc = (HTMLDocument) kit.createDefaultDocument();

      JTextPane t = new JTextPane(doc);
      t.setEditorKit(kit);
      t.setEditable(false);
      t.setOpaque(false);

      StringBuilder buf =
          new StringBuilder(
              "<style>a { text-decoration: none; } a:hover { text-decoration: underline; }</style><span style='color: #000000; font-size: "
                  + ((int) UIUtils.getEditorFontSize(10) /*t.getFont ().getSize () + 2*/)
                  + "pt; font-family: "
                  + t.getFont().getFontName()
                  + ";'>");

      for (int x = 0; x < i.words.size(); x++) {

        String w = (String) i.words.get(x);

        buf.append("<a class='x' href='http://" + w + "'>" + w + "</a>");

        if (x < (i.words.size() - 1)) {

          buf.append(", ");
        }
      }

      buf.append("</span>");

      t.setText(buf.toString());

      t.addHyperlinkListener(
          new HyperlinkAdapter() {

            public void hyperlinkUpdate(HyperlinkEvent ev) {

              if (ev.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {

                QTextEditor ed = _this.editorPanel.getEditor();

                ed.replaceText(
                    _this.position, _this.position + _this.word.length(), ev.getURL().getHost());

                ed.removeHighlight(_this.highlight);

                _this.popup.setVisible(false);

                _this.projectViewer.fireProjectEvent(
                    ProjectEvent.SYNONYM, ProjectEvent.REPLACE, ev.getURL().getHost());
              }
            }
          });

      // Annoying that we have to do this but it prevents the text from being too small.

      t.setSize(new Dimension(380, Short.MAX_VALUE));

      JScrollPane sp = new JScrollPane(t);

      t.setCaretPosition(0);

      sp.setOpaque(false);
      sp.getVerticalScrollBar().setValue(0);
      /*
                  sp.setPreferredSize (t.getPreferredSize ());
                  sp.setMaximumSize (new Dimension (380,
                                                    75));
      */
      sp.getViewport().setOpaque(false);
      sp.setOpaque(false);
      sp.setBorder(null);
      sp.getViewport().setBackground(Color.WHITE);
      sp.setAlignmentX(Component.LEFT_ALIGNMENT);

      pb.add(sp, cc.xy(2, ind));

      ind += 2;
    }

    JPanel pan = pb.getPanel();
    pan.setOpaque(true);
    pan.setBackground(Color.WHITE);

    this.popup.setContent(pan);

    // r.y -= this.editorPanel.getScrollPane ().getVerticalScrollBar ().getValue ();

    Point po = SwingUtilities.convertPoint(editor, r.x, r.y, this.editorPanel);

    r.x = po.x;
    r.y = po.y;

    // Subtract the insets of the editorPanel.
    Insets ins = this.editorPanel.getInsets();

    r.x -= ins.left;
    r.y -= ins.top;

    this.editorPanel.showPopupAt(this.popup, r, "above", true);
  }
Beispiel #2
0
  /** Checks whether components are aligned according to the row specs. */
  public void testVerticalAlignments() {
    TestComponent top = new TestComponent(7, 2, 9, 4);
    TestComponent center = new TestComponent(7, 2, 9, 4);
    TestComponent bottom = new TestComponent(7, 2, 9, 4);
    TestComponent fill = new TestComponent(7, 2, 9, 4);
    TestComponent def = new TestComponent(7, 2, 9, 4);
    FormLayout layout =
        new FormLayout("pref", "top:10px, center:10px, bottom:10px, fill:10px, 10px");

    JPanel panel = new JPanel(layout);
    panel.add(top, cc.xy(1, 1));
    panel.add(center, cc.xy(1, 2));
    panel.add(bottom, cc.xy(1, 3));
    panel.add(fill, cc.xy(1, 4));
    panel.add(def, cc.xy(1, 5));

    panel.doLayout();

    assertEquals("Top.y", 0, top.getY());
    assertEquals("Top.height", 4, top.getHeight());
    assertEquals("Center.y", 13, center.getY());
    assertEquals("Center.height", 4, center.getHeight());
    assertEquals("Bottom.y", 26, bottom.getY());
    assertEquals("Bottom.height", 4, bottom.getHeight());
    assertEquals("Fill.y", 30, fill.getY());
    assertEquals("Fill.height", 10, fill.getHeight());
    assertEquals("Default.y", 43, def.getY());
    assertEquals("Default.height", 4, def.getHeight());
  }
 /** Tests that the CellConstraints parser rejects invalid alignments. */
 public void testRejectInvalidCellConstraintsAlignments() {
   try {
     new CellConstraints(1, 1, CellConstraints.BOTTOM, CellConstraints.CENTER);
     fail("The CellConstraints constructor should reject invalid orientations.");
   } catch (IllegalArgumentException e) {
     // The expected behavior
   } catch (Exception e) {
     fail("The constructor has thrown an unexpected exception: " + e);
   }
   try {
     new CellConstraints(1, 1, CellConstraints.CENTER, CellConstraints.RIGHT);
     fail("The CellConstraints constructor should reject invalid orientations.");
   } catch (IllegalArgumentException e) {
     // The expected behavior
   } catch (Exception e) {
     fail("The constructor has thrown an unexpected exception: " + e);
   }
   CellConstraints cc = new CellConstraints();
   try {
     cc.xy(1, 1, CellConstraints.BOTTOM, CellConstraints.CENTER);
     fail("The CellConstraints setter should reject invalid orientations.");
   } catch (IllegalArgumentException e) {
     // The expected behavior
   } catch (Exception e) {
     fail("The setter has thrown an unexpected exception: " + e);
   }
   try {
     cc.xy(1, 1, CellConstraints.BOTTOM, CellConstraints.CENTER);
     fail("The CellConstraints setter should reject invalid orientations.");
   } catch (IllegalArgumentException e) {
     // The expected behavior
   } catch (Exception e) {
     fail("The setter has thrown an unexpected exception: " + e);
   }
 }
Beispiel #4
0
  /** Checks whether components are aligned according to the column specs. */
  public void testHorizontalAlignments() {
    TestComponent left = new TestComponent(2, 7, 4, 9);
    TestComponent center = new TestComponent(2, 7, 4, 9);
    TestComponent right = new TestComponent(2, 7, 4, 9);
    TestComponent fill = new TestComponent(2, 7, 4, 9);
    TestComponent def = new TestComponent(2, 7, 4, 9);
    FormLayout layout =
        new FormLayout("left:10px, center:10px, right:10px, fill:10px, 10px", "pref");

    JPanel panel = new JPanel(layout);
    panel.add(left, cc.xy(1, 1));
    panel.add(center, cc.xy(2, 1));
    panel.add(right, cc.xy(3, 1));
    panel.add(fill, cc.xy(4, 1));
    panel.add(def, cc.xy(5, 1));

    panel.doLayout();

    assertEquals("Left.x", 0, left.getX());
    assertEquals("Left.width", 4, left.getWidth());
    assertEquals("Center.x", 13, center.getX());
    assertEquals("Center.width", 4, center.getWidth());
    assertEquals("Right.x", 26, right.getX());
    assertEquals("Right.width", 4, right.getWidth());
    assertEquals("Fill.x", 30, fill.getX());
    assertEquals("Fill.width", 10, fill.getWidth());
    assertEquals("Default.x", 40, def.getX());
    assertEquals("Default.width", 10, def.getWidth());
  }
  @Override
  public JComponent getContent() {

    if (this.obj == null) {

      throw new IllegalStateException("No object set.");
    }

    // TODO: Make this nicer later.
    if (this.obj instanceof Chapter) {

      Chapter c = (Chapter) this.obj;

      JComponent t = UIUtils.getChapterInfoPreview(c, null, this.viewer);

      if (t == null) {

        // May be a fake chapter, return null.
        return null;
      }

      t.setSize(new Dimension(300, Short.MAX_VALUE));

      return t;

    } else {

      String firstLine = "<b><i>No description.</i></b>";

      String t = (obj.getDescription() != null ? obj.getDescription().getText() : null);

      if ((t != null) && (t.length() > 0)) {

        firstLine = new Paragraph(t, 0).getFirstSentence().getText();
      }

      JEditorPane desc = UIUtils.createHelpTextPane(firstLine, null);

      FormLayout fl = new FormLayout("380px", "p");

      PanelBuilder pb = new PanelBuilder(fl);

      CellConstraints cc = new CellConstraints();

      pb.add(desc, cc.xy(1, 1));

      desc.setAlignmentX(Component.LEFT_ALIGNMENT);

      JPanel p = pb.getPanel();
      p.setOpaque(true);
      p.setBackground(UIUtils.getComponentColor());

      return p;
    }
  }
Beispiel #6
0
  /**
   * Tests the combination of a default size spec with an upper bound that shall ensure a maximum
   * size.
   */
  public void testDefaultWithUpperBound() {
    TestComponent c1 = new TestComponent(10, 10, 50, 50);
    FormLayout layout = new FormLayout("[default,20px]", "[default,20px]");

    JPanel panel = new JPanel(layout);
    panel.add(c1, cc.xy(1, 1));

    Dimension minimumLayoutSize = layout.minimumLayoutSize(panel);
    Dimension preferredLayoutSize = layout.preferredLayoutSize(panel);

    assertEquals("Minimum layout width", 10, minimumLayoutSize.width);
    assertEquals("Minimum layout height", 10, minimumLayoutSize.height);
    assertEquals("Preferred layout width", 20, preferredLayoutSize.width);
    assertEquals("Preferred layout height", 20, preferredLayoutSize.height);

    panel.setSize(minimumLayoutSize);
    panel.doLayout();
    int columnWidth = c1.getWidth();
    int rowHeight = c1.getHeight();
    assertEquals("Column width (container min)", 10, columnWidth);
    assertEquals("Row height (container min)", 10, rowHeight);

    panel.setSize(preferredLayoutSize);
    panel.doLayout();
    columnWidth = c1.getWidth();
    rowHeight = c1.getHeight();
    assertEquals("Column width (container pref)", 20, columnWidth);
    assertEquals("Row height (container pref)", 20, rowHeight);
  }
  public void setDetailsPanel(String nameType) {

    CellConstraints cc = new CellConstraints();
    detailsContainer.remove(currentPrimaryNamePanel);

    if (nameType.equalsIgnoreCase(Names.PERSON_TYPE)) {
      currentPrimaryNamePanel = new NamePersonalFields(this.detailsModel);
    } else if (nameType.equalsIgnoreCase(Names.FAMILY_TYPE)) {
      currentPrimaryNamePanel = new NameFamilyFields(this.detailsModel);
    } else if (nameType.equalsIgnoreCase(Names.CORPORATE_BODY_TYPE)) {
      currentPrimaryNamePanel = new NameCorpFields(this.detailsModel);
    }
    detailsContainer.add(currentPrimaryNamePanel, cc.xy(1, 1));
    if (currentPrimaryNamePanel instanceof NamePrimaryNameFields) {
      ((NamePrimaryNameFields) currentPrimaryNamePanel).setModel(super.getModel(), null);
    }
  }
  public NewWizardDialog(Container parent) {
    super(parent, true);
    initComponents();

    if (XJSystem.isMacOS()) {
      buttonBar.remove(okButton);
      buttonBar.remove(cancelButton);

      CellConstraints cc = new CellConstraints();
      buttonBar.add(cancelButton, cc.xy(2, 1));
      buttonBar.add(okButton, cc.xy(4, 1));
    }

    setDefaultButton(okButton);
    setOKButton(okButton);
    setCancelButton(cancelButton);
  }
Beispiel #9
0
  /**
   * Checks and verifies that components that span multiple columns and that expand the container
   * are measured using the correct measure.
   */
  public void testExtraExpansionHonorsCurrentMeasure() {
    TestComponent c1 = new TestComponent(10, 1, 50, 1);
    TestComponent c2 = new TestComponent(10, 1, 50, 1);
    TestComponent c3 = new TestComponent(10, 1, 50, 1);
    TestComponent c4 = new TestComponent(10, 1, 50, 1);
    FormLayout layout = new FormLayout("10px, 15px:grow, 20px", "pref, pref");

    JPanel panel = new JPanel(layout);
    panel.add(c1, cc.xy(1, 1));
    panel.add(c2, cc.xy(2, 1));
    panel.add(c3, cc.xy(3, 1));
    panel.add(c4, cc.xyw(1, 2, 2));

    int minimumLayoutWidth = layout.minimumLayoutSize(panel).width;
    int preferredLayoutWidth = layout.preferredLayoutSize(panel).width;

    assertEquals("Minimum layout width", 45, minimumLayoutWidth);
    assertEquals("Preferred layout width", 70, preferredLayoutWidth);
  }
Beispiel #10
0
  public void testVisibility(boolean containerHonorsVisibility) {
    TestComponent visible = new TestComponent(10, 10, 10, 10);
    TestComponent invisible = new TestComponent(10, 10, 10, 10);
    invisible.setVisible(false);
    TestComponent invisibleHonorsVisibility = new TestComponent(10, 10, 10, 10);
    invisibleHonorsVisibility.setVisible(false);
    TestComponent invisibleIgnoresVisibility = new TestComponent(10, 10, 10, 10);
    invisibleIgnoresVisibility.setVisible(false);
    FormLayout layout = new FormLayout("pref, pref, pref, pref", "pref, pref, pref, pref");
    layout.setHonorsVisibility(containerHonorsVisibility);

    JPanel panel = new JPanel(layout);
    panel.add(visible, cc.xy(1, 1));
    panel.add(invisible, cc.xy(2, 2));
    panel.add(invisibleHonorsVisibility, cc.xy(3, 3));
    panel.add(invisibleIgnoresVisibility, cc.xy(4, 4));
    layout.setHonorsVisibility(invisibleHonorsVisibility, Boolean.TRUE);
    layout.setHonorsVisibility(invisibleIgnoresVisibility, Boolean.FALSE);

    panel.doLayout();
    FormLayout.LayoutInfo info = layout.getLayoutInfo(panel);
    int size1 = 10;
    int size2 = containerHonorsVisibility ? 0 : 10;
    int size3 = 0;
    int size4 = 10;
    int origin1 = size1;
    int origin2 = origin1 + size2;
    int origin3 = origin2 + size3;
    int origin4 = origin3 + size4;
    assertEquals("Column 0", 0, info.columnOrigins[0]);
    assertEquals("Column 1", origin1, info.columnOrigins[1]);
    assertEquals("Column 2", origin2, info.columnOrigins[2]);
    assertEquals("Column 3", origin3, info.columnOrigins[3]);
    assertEquals("Column 4", origin4, info.columnOrigins[4]);
    assertEquals("Row 0", 0, info.rowOrigins[0]);
    assertEquals("Row 1", origin1, info.rowOrigins[1]);
    assertEquals("Row 2", origin2, info.rowOrigins[2]);
    assertEquals("Row 3", origin3, info.rowOrigins[3]);
    assertEquals("Row 4", origin4, info.rowOrigins[4]);
  }
Beispiel #11
0
  /** Tests bounded min and pref widths. */
  public void testBoundedHeight() {
    TestComponent c1 = new TestComponent(7, 2, 9, 4);
    TestComponent c2 = new TestComponent(7, 20, 9, 40);
    TestComponent c3 = new TestComponent(7, 2, 9, 4);
    TestComponent c4 = new TestComponent(7, 20, 9, 40);
    TestComponent c5 = new TestComponent(7, 2, 9, 4);
    TestComponent c6 = new TestComponent(7, 20, 9, 40);
    TestComponent c7 = new TestComponent(7, 2, 9, 4);
    TestComponent c8 = new TestComponent(7, 20, 9, 40);
    FormLayout layout =
        new FormLayout(
            "pref",
            "f:[10px,min],  f:[10px,min],  "
                + "f:[10px,pref], f:[10px,pref], "
                + "f:[min,10px],  f:[min,10px],  "
                + "f:[pref,10px], f:[pref,10px]");

    JPanel panel = new JPanel(layout);
    panel.add(c1, cc.xy(1, 1));
    panel.add(c2, cc.xy(1, 2));
    panel.add(c3, cc.xy(1, 3));
    panel.add(c4, cc.xy(1, 4));
    panel.add(c5, cc.xy(1, 5));
    panel.add(c6, cc.xy(1, 6));
    panel.add(c7, cc.xy(1, 7));
    panel.add(c8, cc.xy(1, 8));

    panel.doLayout();

    assertEquals("[10px, c1_min].height", 10, c1.getHeight());
    assertEquals("[10px, c2_min].height", 20, c2.getHeight());
    assertEquals("[10px,c3_pref].height", 10, c3.getHeight());
    assertEquals("[10px,c4_pref].height", 40, c4.getHeight());
    assertEquals("[c5_min, 10px].height", 2, c5.getHeight());
    assertEquals("[c6_min, 10px].height", 10, c6.getHeight());
    assertEquals("[c7_pref,10px].height", 4, c7.getHeight());
    assertEquals("[c8_pref,10px].height", 10, c8.getHeight());
  }
Beispiel #12
0
  /** Tests bounded min and pref widths. */
  public void testBoundedWidth() {
    TestComponent c1 = new TestComponent(2, 7, 4, 9);
    TestComponent c2 = new TestComponent(20, 7, 40, 9);
    TestComponent c3 = new TestComponent(2, 7, 4, 9);
    TestComponent c4 = new TestComponent(20, 7, 40, 9);
    TestComponent c5 = new TestComponent(2, 7, 4, 9);
    TestComponent c6 = new TestComponent(20, 7, 40, 9);
    TestComponent c7 = new TestComponent(2, 7, 4, 9);
    TestComponent c8 = new TestComponent(20, 7, 40, 9);
    FormLayout layout =
        new FormLayout(
            "[10px,min],  [10px,min],  "
                + "[10px,pref], [10px,pref], "
                + "[min,10px],  [min,10px],  "
                + "[pref,10px], [pref,10px]",
            "pref");

    JPanel panel = new JPanel(layout);
    panel.add(c1, cc.xy(1, 1));
    panel.add(c2, cc.xy(2, 1));
    panel.add(c3, cc.xy(3, 1));
    panel.add(c4, cc.xy(4, 1));
    panel.add(c5, cc.xy(5, 1));
    panel.add(c6, cc.xy(6, 1));
    panel.add(c7, cc.xy(7, 1));
    panel.add(c8, cc.xy(8, 1));

    panel.doLayout();

    assertEquals("max(10px;c1_min).width", 10, c1.getWidth());
    assertEquals("max(10px;c2_min).width", 20, c2.getWidth());
    assertEquals("max(10px;c3_pref).width", 10, c3.getWidth());
    assertEquals("max(10px;c4_pref).width", 40, c4.getWidth());
    assertEquals("min(10px;c5_min).width", 2, c5.getWidth());
    assertEquals("min(10px;c6_min).width", 10, c6.getWidth());
    assertEquals("min(10px;c7_pref).width", 4, c7.getWidth());
    assertEquals("min(10px;c8_pref).width", 10, c8.getWidth());
  }
Beispiel #13
0
  /**
   * Checks and verifies that components that span multiple columns do not expand the container of
   * no column grows.
   */
  public void testExtraExpansionIfSpannedColumnsGrow() {
    TestComponent c1 = new TestComponent(10, 1, 50, 1);
    TestComponent c2 = new TestComponent(10, 1, 50, 1);
    TestComponent c3 = new TestComponent(10, 1, 50, 1);
    TestComponent c4 = new TestComponent(10, 1, 50, 1);
    FormLayout layout = new FormLayout("10px, 15px:grow, 20px", "pref, pref");

    JPanel panel = new JPanel(layout);
    panel.add(c1, cc.xy(1, 1));
    panel.add(c2, cc.xy(2, 1));
    panel.add(c3, cc.xy(3, 1));
    panel.add(c4, cc.xyw(1, 2, 2));

    Dimension preferredLayoutSize = layout.preferredLayoutSize(panel);
    panel.setSize(preferredLayoutSize);
    panel.doLayout();
    int col1And2Width = c2.getX() + c2.getWidth();
    int gridWidth = c3.getX() + c3.getWidth();
    int totalWidth = preferredLayoutSize.width;

    assertEquals("Col1+2 width", 50, col1And2Width);
    assertEquals("Grid width", 70, gridWidth);
    assertEquals("Total width", 70, totalWidth);
  }
  private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner non-commercial license
    label_subjectScopeNote = new JLabel();
    scrollPane1 = new JScrollPane();
    descritpion =
        ATBasicComponentFactory.createTextArea(
            detailsModel.getModel(IndexItems.PROPERTYNAME_ITEM_VALUE));
    label_subjectScopeNote2 = new JLabel();
    type =
        ATBasicComponentFactory.createComboBox(
            detailsModel, IndexItems.PROPERTYNAME_ITEM_TYPE, IndexItems.class);
    label_subjectScopeNote3 = new JLabel();
    reference = new JComboBox();
    label_subjectScopeNote4 = new JLabel();
    referenceText =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(IndexItems.PROPERTYNAME_REFERENCE_TEXT));
    CellConstraints cc = new CellConstraints();

    // ======== this ========
    setBorder(Borders.DLU4_BORDER);
    setBackground(new Color(234, 201, 250));
    setOpaque(false);
    setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    setLayout(
        new FormLayout(
            new ColumnSpec[] {
              FormFactory.DEFAULT_COLSPEC,
              FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
              new ColumnSpec("max(default;400px):grow")
            },
            new RowSpec[] {
              FormFactory.DEFAULT_ROWSPEC,
              FormFactory.LINE_GAP_ROWSPEC,
              new RowSpec(RowSpec.TOP, Sizes.DEFAULT, FormSpec.NO_GROW),
              FormFactory.LINE_GAP_ROWSPEC,
              new RowSpec(RowSpec.TOP, Sizes.DEFAULT, FormSpec.NO_GROW),
              FormFactory.LINE_GAP_ROWSPEC,
              FormFactory.DEFAULT_ROWSPEC
            }));

    // ---- label_subjectScopeNote ----
    label_subjectScopeNote.setText("Value");
    label_subjectScopeNote.setVerticalAlignment(SwingConstants.TOP);
    label_subjectScopeNote.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    ATFieldInfo.assignLabelInfo(
        label_subjectScopeNote, IndexItems.class, IndexItems.PROPERTYNAME_ITEM_VALUE);
    add(label_subjectScopeNote, cc.xywh(1, 1, 1, 1, CellConstraints.DEFAULT, CellConstraints.TOP));

    // ======== scrollPane1 ========
    {
      scrollPane1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
      scrollPane1.setMaximumSize(new Dimension(32767, 100));
      scrollPane1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

      // ---- descritpion ----
      descritpion.setRows(4);
      descritpion.setLineWrap(true);
      descritpion.setTabSize(20);
      descritpion.setWrapStyleWord(true);
      scrollPane1.setViewportView(descritpion);
    }
    add(scrollPane1, cc.xy(3, 1));

    // ---- label_subjectScopeNote2 ----
    label_subjectScopeNote2.setText("Type");
    label_subjectScopeNote2.setVerticalAlignment(SwingConstants.TOP);
    label_subjectScopeNote2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    ATFieldInfo.assignLabelInfo(
        label_subjectScopeNote2, IndexItems.class, IndexItems.PROPERTYNAME_ITEM_TYPE);
    add(
        label_subjectScopeNote2,
        cc.xywh(1, 3, 1, 1, CellConstraints.DEFAULT, CellConstraints.CENTER));

    // ---- type ----
    type.setMaximumSize(new Dimension(50, 27));
    type.setOpaque(false);
    type.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    add(type, cc.xywh(3, 3, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

    // ---- label_subjectScopeNote3 ----
    label_subjectScopeNote3.setText("Reference");
    label_subjectScopeNote3.setVerticalAlignment(SwingConstants.TOP);
    label_subjectScopeNote3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    ATFieldInfo.assignLabelInfo(
        label_subjectScopeNote3, IndexItems.class, IndexItems.PROPERTYNAME_REFERENCE);
    add(
        label_subjectScopeNote3,
        cc.xywh(1, 5, 1, 1, CellConstraints.DEFAULT, CellConstraints.CENTER));

    // ---- reference ----
    reference.setMaximumSize(new Dimension(50, 27));
    reference.setOpaque(false);
    reference.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    reference.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            referenceActionPerformed(e);
          }
        });
    add(reference, cc.xywh(3, 5, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

    // ---- label_subjectScopeNote4 ----
    label_subjectScopeNote4.setText("Reference Text");
    label_subjectScopeNote4.setVerticalAlignment(SwingConstants.TOP);
    label_subjectScopeNote4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    ATFieldInfo.assignLabelInfo(
        label_subjectScopeNote4, IndexItems.class, IndexItems.PROPERTYNAME_REFERENCE_TEXT);
    add(
        label_subjectScopeNote4,
        cc.xywh(1, 7, 1, 1, CellConstraints.DEFAULT, CellConstraints.CENTER));
    add(referenceText, cc.xy(3, 7));
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
  }
  private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner non-commercial license
    sortNameDisplay =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_SORT_NAME));
    tabbedPane = new JTabbedPane();
    detailsContainer = new JPanel();
    detailsPanel = new JPanel();
    separator3 = new JSeparator();
    descriptionPanel = new JPanel();
    label_nameDescriptionNote2 = new JLabel();
    nameDescriptionType =
        ATBasicComponentFactory.createComboBox(
            detailsModel, Names.PROPERTYNAME_DESCRIPTION_TYPE, Names.class);
    label_nameDescriptionNote = new JLabel();
    scrollPane2 = new JScrollPane();
    nameDescriptionNote =
        ATBasicComponentFactory.createTextArea(
            detailsModel.getModel(Names.PROPERTYNAME_DESCRIPTION_NOTE));
    label_nameCitation = new JLabel();
    scrollPane23 = new JScrollPane();
    nameCitation =
        ATBasicComponentFactory.createTextArea(detailsModel.getModel(Names.PROPERTYNAME_CITATION));
    nonPreferredNamePanel = new JPanel();
    label_subjectScopeNote4 = new JLabel();
    scrollPane1 = new JScrollPane();
    nonPreferredNamesTable =
        new DomainSortableTable(NonPreferredNames.class, NonPreferredNames.PROPERTYNAME_SORT_NAME);
    panel1 = new JPanel();
    addNonPreferredNameButton = new JButton();
    removeNonPreferredNameButton = new JButton();
    separator1 = new JSeparator();
    label_subjectScopeNote3 = new JLabel();
    scrollPane5 = new JScrollPane();
    accessionsTable =
        new DomainSortableTable(Accessions.class, Accessions.PROPERTYNAME_ACCESSION_NUMBER);
    separator2 = new JSeparator();
    label_subjectScopeNote2 = new JLabel();
    scrollPane4 = new JScrollPane();
    resourcesTable =
        new ResourceAndComponentLinkTable(
            Resources.class, Resources.PROPERTYNAME_RESOURCE_IDENTIFIER);
    label1 = new JLabel();
    separator4 = new JSeparator();
    label_subjectScopeNote5 = new JLabel();
    scrollPane6 = new JScrollPane();
    digitalObjectsTable =
        new DomainSortableTable(DigitalObjects.class, DigitalObjects.PROPERTYNAME_METS_IDENTIFIER);
    contactInfoPanel = new JPanel();
    label_nameContactAddress3 = new JLabel();
    salutation =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_SALUTATION));
    label_nameContactAddress1 = new JLabel();
    nameContactAddress1 =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_ADDRESS_1));
    label_nameContactAddress2 = new JLabel();
    nameContactAddress2 =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_ADDRESS_2));
    label_nameContactCity = new JLabel();
    nameContactCity =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_CITY));
    label_nameContactRegion = new JLabel();
    nameContactRegion =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_REGION));
    label_nameContactMailCode = new JLabel();
    nameContactMailCode =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_MAIL_CODE));
    label_nameContactCountry = new JLabel();
    nameContactCountry =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_COUNTRY));
    label_nameContactPhone = new JLabel();
    nameContactPhone =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_PHONE));
    label_nameContactFax = new JLabel();
    nameContactFax =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_FAX));
    label_nameContactEmail = new JLabel();
    nameContactEmail =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_EMAIL));
    label_nameContactName = new JLabel();
    nameContactName =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(Names.PROPERTYNAME_CONTACT_NAME));
    label_nameContactNotes = new JLabel();
    scrollPane3 = new JScrollPane();
    nameContactNotesTable = new DomainSortedTable(NameContactNotes.class);
    panel2 = new JPanel();
    addNoteButton = new JButton();
    removeContactNoteButton = new JButton();
    CellConstraints cc = new CellConstraints();

    // ======== this ========
    setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    setBackground(new Color(200, 205, 232));
    setPreferredSize(new Dimension(900, 500));
    setBorder(Borders.DLU4_BORDER);
    setLayout(new FormLayout("default:grow", "default, fill:default:grow"));

    // ---- sortNameDisplay ----
    sortNameDisplay.setEditable(false);
    sortNameDisplay.setBorder(null);
    sortNameDisplay.setForeground(new Color(0, 0, 102));
    sortNameDisplay.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
    sortNameDisplay.setSelectionColor(new Color(204, 0, 51));
    sortNameDisplay.setOpaque(false);
    add(sortNameDisplay, cc.xy(1, 1));

    // ======== tabbedPane ========
    {
      tabbedPane.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
      tabbedPane.setBackground(new Color(200, 205, 232));
      tabbedPane.setOpaque(true);

      // ======== detailsContainer ========
      {
        detailsContainer.setBackground(new Color(200, 205, 232));
        detailsContainer.setLayout(
            new FormLayout(
                ColumnSpec.decodeSpecs("default:grow"),
                new RowSpec[] {
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC
                }));

        // ======== detailsPanel ========
        {
          detailsPanel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          detailsPanel.setBackground(new Color(200, 205, 232));
          detailsPanel.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    new ColumnSpec(ColumnSpec.RIGHT, Sizes.DEFAULT, FormSpec.NO_GROW),
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    new ColumnSpec("max(default;300px):grow"),
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    FormFactory.DEFAULT_COLSPEC
                  },
                  new RowSpec[] {
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC
                  }));
        }
        detailsContainer.add(detailsPanel, cc.xy(1, 1));

        // ---- separator3 ----
        separator3.setBackground(new Color(220, 220, 232));
        separator3.setForeground(new Color(147, 131, 86));
        separator3.setMinimumSize(new Dimension(1, 10));
        separator3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        detailsContainer.add(separator3, cc.xy(1, 3));

        // ======== descriptionPanel ========
        {
          descriptionPanel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          descriptionPanel.setBackground(new Color(200, 205, 232));
          descriptionPanel.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    FormFactory.DEFAULT_COLSPEC,
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                  },
                  new RowSpec[] {
                    new RowSpec(RowSpec.TOP, Sizes.DEFAULT, FormSpec.NO_GROW),
                    FormFactory.LINE_GAP_ROWSPEC,
                    new RowSpec(RowSpec.TOP, Sizes.DEFAULT, FormSpec.NO_GROW),
                    FormFactory.LINE_GAP_ROWSPEC,
                    new RowSpec(RowSpec.TOP, Sizes.DEFAULT, FormSpec.NO_GROW)
                  }));

          // ---- label_nameDescriptionNote2 ----
          label_nameDescriptionNote2.setText("Name Description Type");
          label_nameDescriptionNote2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          ATFieldInfo.assignLabelInfo(
              label_nameDescriptionNote2, Names.class, Names.PROPERTYNAME_DESCRIPTION_TYPE);
          descriptionPanel.add(label_nameDescriptionNote2, cc.xy(1, 1));

          // ---- nameDescriptionType ----
          nameDescriptionType.setOpaque(false);
          nameDescriptionType.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          descriptionPanel.add(
              nameDescriptionType,
              cc.xywh(3, 1, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

          // ---- label_nameDescriptionNote ----
          label_nameDescriptionNote.setText("Description Note");
          label_nameDescriptionNote.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          ATFieldInfo.assignLabelInfo(
              label_nameDescriptionNote, Names.class, Names.PROPERTYNAME_DESCRIPTION_NOTE);
          descriptionPanel.add(label_nameDescriptionNote, cc.xy(1, 3));

          // ======== scrollPane2 ========
          {
            scrollPane2.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
            scrollPane2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

            // ---- nameDescriptionNote ----
            nameDescriptionNote.setRows(8);
            nameDescriptionNote.setLineWrap(true);
            nameDescriptionNote.setWrapStyleWord(true);
            nameDescriptionNote.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            scrollPane2.setViewportView(nameDescriptionNote);
          }
          descriptionPanel.add(scrollPane2, cc.xy(3, 3));

          // ---- label_nameCitation ----
          label_nameCitation.setText("Citation(s)");
          label_nameCitation.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          ATFieldInfo.assignLabelInfo(label_nameCitation, Names.class, Names.PROPERTYNAME_CITATION);
          descriptionPanel.add(label_nameCitation, cc.xy(1, 5));

          // ======== scrollPane23 ========
          {
            scrollPane23.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
            scrollPane23.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

            // ---- nameCitation ----
            nameCitation.setRows(8);
            nameCitation.setLineWrap(true);
            nameCitation.setWrapStyleWord(true);
            nameCitation.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            scrollPane23.setViewportView(nameCitation);
          }
          descriptionPanel.add(scrollPane23, cc.xy(3, 5));
        }
        detailsContainer.add(descriptionPanel, cc.xy(1, 5));
      }
      tabbedPane.addTab("Details", detailsContainer);

      // ======== nonPreferredNamePanel ========
      {
        nonPreferredNamePanel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.setBackground(new Color(200, 205, 232));
        nonPreferredNamePanel.setLayout(
            new FormLayout(
                ColumnSpec.decodeSpecs("default:grow"),
                new RowSpec[] {
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  new RowSpec(RowSpec.CENTER, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  new RowSpec(RowSpec.CENTER, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  new RowSpec(RowSpec.CENTER, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC
                }));

        // ---- label_subjectScopeNote4 ----
        label_subjectScopeNote4.setText("Non-Preferred Forms");
        label_subjectScopeNote4.setVerticalAlignment(SwingConstants.TOP);
        label_subjectScopeNote4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.add(
            label_subjectScopeNote4,
            cc.xywh(1, 1, 1, 1, CellConstraints.DEFAULT, CellConstraints.TOP));

        // ======== scrollPane1 ========
        {
          scrollPane1.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
          scrollPane1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

          // ---- nonPreferredNamesTable ----
          nonPreferredNamesTable.setPreferredScrollableViewportSize(new Dimension(450, 120));
          nonPreferredNamesTable.addMouseListener(
              new MouseAdapter() {
                @Override
                public void mouseClicked(MouseEvent e) {
                  nonPreferredNamesTableMouseClicked(e);
                }
              });
          scrollPane1.setViewportView(nonPreferredNamesTable);
        }
        nonPreferredNamePanel.add(
            scrollPane1, cc.xywh(1, 3, 1, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

        // ======== panel1 ========
        {
          panel1.setBackground(new Color(231, 188, 251));
          panel1.setOpaque(false);
          panel1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          panel1.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    FormFactory.DEFAULT_COLSPEC,
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    FormFactory.DEFAULT_COLSPEC
                  },
                  RowSpec.decodeSpecs("default")));

          // ---- addNonPreferredNameButton ----
          addNonPreferredNameButton.setText("Add Non-Preferred Form");
          addNonPreferredNameButton.setOpaque(false);
          addNonPreferredNameButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          addNonPreferredNameButton.addActionListener(
              new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                  addNonPreferredNameButtonActionPerformed();
                }
              });
          panel1.add(addNonPreferredNameButton, cc.xy(1, 1));

          // ---- removeNonPreferredNameButton ----
          removeNonPreferredNameButton.setText("Remove Non-Preferred Form");
          removeNonPreferredNameButton.setOpaque(false);
          removeNonPreferredNameButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          removeNonPreferredNameButton.addActionListener(
              new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                  removeNonPreferredNameButtonActionPerformed();
                }
              });
          panel1.add(removeNonPreferredNameButton, cc.xy(3, 1));
        }
        nonPreferredNamePanel.add(
            panel1, cc.xywh(1, 5, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

        // ---- separator1 ----
        separator1.setBackground(new Color(220, 220, 232));
        separator1.setForeground(new Color(147, 131, 86));
        separator1.setMinimumSize(new Dimension(1, 10));
        separator1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.add(separator1, cc.xy(1, 7));

        // ---- label_subjectScopeNote3 ----
        label_subjectScopeNote3.setText("Accessions");
        label_subjectScopeNote3.setVerticalAlignment(SwingConstants.TOP);
        label_subjectScopeNote3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.add(
            label_subjectScopeNote3,
            cc.xywh(1, 9, 1, 1, CellConstraints.DEFAULT, CellConstraints.TOP));

        // ======== scrollPane5 ========
        {
          scrollPane5.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
          scrollPane5.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

          // ---- accessionsTable ----
          accessionsTable.setPreferredScrollableViewportSize(new Dimension(450, 120));
          scrollPane5.setViewportView(accessionsTable);
        }
        nonPreferredNamePanel.add(scrollPane5, cc.xy(1, 11));

        // ---- separator2 ----
        separator2.setBackground(new Color(220, 220, 232));
        separator2.setForeground(new Color(147, 131, 86));
        separator2.setMinimumSize(new Dimension(1, 10));
        separator2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.add(separator2, cc.xy(1, 13));

        // ---- label_subjectScopeNote2 ----
        label_subjectScopeNote2.setText("Resources");
        label_subjectScopeNote2.setVerticalAlignment(SwingConstants.TOP);
        label_subjectScopeNote2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.add(label_subjectScopeNote2, cc.xy(1, 15));

        // ======== scrollPane4 ========
        {
          scrollPane4.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
          scrollPane4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

          // ---- resourcesTable ----
          resourcesTable.setPreferredScrollableViewportSize(new Dimension(450, 120));
          scrollPane4.setViewportView(resourcesTable);
        }
        nonPreferredNamePanel.add(scrollPane4, cc.xy(1, 17));

        // ---- label1 ----
        label1.setText("Resources in Red have the subject term linked at the component level");
        label1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.add(label1, cc.xy(1, 19));

        // ---- separator4 ----
        separator4.setBackground(new Color(220, 220, 232));
        separator4.setForeground(new Color(147, 131, 86));
        separator4.setMinimumSize(new Dimension(1, 10));
        separator4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.add(separator4, cc.xy(1, 21));

        // ---- label_subjectScopeNote5 ----
        label_subjectScopeNote5.setText("Digital Objects");
        label_subjectScopeNote5.setVerticalAlignment(SwingConstants.TOP);
        label_subjectScopeNote5.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        nonPreferredNamePanel.add(label_subjectScopeNote5, cc.xy(1, 23));

        // ======== scrollPane6 ========
        {
          scrollPane6.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
          scrollPane6.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

          // ---- digitalObjectsTable ----
          digitalObjectsTable.setPreferredScrollableViewportSize(new Dimension(450, 120));
          scrollPane6.setViewportView(digitalObjectsTable);
        }
        nonPreferredNamePanel.add(scrollPane6, cc.xy(1, 25));
      }
      tabbedPane.addTab(
          "Non-Preferred Forms, Accessions, Resources & Digital Objects", nonPreferredNamePanel);

      // ======== contactInfoPanel ========
      {
        contactInfoPanel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.setBackground(new Color(200, 205, 232));
        contactInfoPanel.setBorder(Borders.DLU2_BORDER);
        contactInfoPanel.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec("max(default;100px):grow"),
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                },
                new RowSpec[] {
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC
                }));

        // ---- label_nameContactAddress3 ----
        label_nameContactAddress3.setText("Salutation");
        label_nameContactAddress3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactAddress3, Names.class, Names.PROPERTYNAME_SALUTATION);
        contactInfoPanel.add(label_nameContactAddress3, cc.xy(1, 1));

        // ---- salutation ----
        salutation.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(salutation, cc.xywh(3, 1, 9, 1));

        // ---- label_nameContactAddress1 ----
        label_nameContactAddress1.setText("Address");
        label_nameContactAddress1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactAddress1, Names.class, Names.PROPERTYNAME_CONTACT_ADDRESS_1);
        contactInfoPanel.add(label_nameContactAddress1, cc.xy(1, 3));

        // ---- nameContactAddress1 ----
        nameContactAddress1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactAddress1, cc.xywh(3, 3, 9, 1));

        // ---- label_nameContactAddress2 ----
        label_nameContactAddress2.setText("Address");
        label_nameContactAddress2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactAddress2, Names.class, Names.PROPERTYNAME_CONTACT_ADDRESS_2);
        contactInfoPanel.add(label_nameContactAddress2, cc.xy(1, 5));

        // ---- nameContactAddress2 ----
        nameContactAddress2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactAddress2, cc.xywh(3, 5, 9, 1));

        // ---- label_nameContactCity ----
        label_nameContactCity.setText("City");
        label_nameContactCity.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactCity, Names.class, Names.PROPERTYNAME_CONTACT_CITY);
        contactInfoPanel.add(label_nameContactCity, cc.xy(1, 7));

        // ---- nameContactCity ----
        nameContactCity.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactCity, cc.xy(3, 7));

        // ---- label_nameContactRegion ----
        label_nameContactRegion.setText("Region");
        label_nameContactRegion.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactRegion, Names.class, Names.PROPERTYNAME_CONTACT_REGION);
        contactInfoPanel.add(label_nameContactRegion, cc.xy(5, 7));

        // ---- nameContactRegion ----
        nameContactRegion.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactRegion, cc.xy(7, 7));

        // ---- label_nameContactMailCode ----
        label_nameContactMailCode.setText("Mail Code");
        label_nameContactMailCode.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactMailCode, Names.class, Names.PROPERTYNAME_CONTACT_MAIL_CODE);
        contactInfoPanel.add(label_nameContactMailCode, cc.xy(9, 7));

        // ---- nameContactMailCode ----
        nameContactMailCode.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactMailCode, cc.xy(11, 7));

        // ---- label_nameContactCountry ----
        label_nameContactCountry.setText("Country");
        label_nameContactCountry.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactCountry, Names.class, Names.PROPERTYNAME_CONTACT_COUNTRY);
        contactInfoPanel.add(label_nameContactCountry, cc.xy(1, 9));

        // ---- nameContactCountry ----
        nameContactCountry.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactCountry, cc.xywh(3, 9, 9, 1));

        // ---- label_nameContactPhone ----
        label_nameContactPhone.setText("Telephone");
        label_nameContactPhone.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactPhone, Names.class, Names.PROPERTYNAME_CONTACT_PHONE);
        contactInfoPanel.add(label_nameContactPhone, cc.xy(1, 11));

        // ---- nameContactPhone ----
        nameContactPhone.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactPhone, cc.xywh(3, 11, 5, 1));

        // ---- label_nameContactFax ----
        label_nameContactFax.setText("FAX");
        label_nameContactFax.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactFax, Names.class, Names.PROPERTYNAME_CONTACT_FAX);
        contactInfoPanel.add(label_nameContactFax, cc.xy(9, 11));

        // ---- nameContactFax ----
        nameContactFax.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactFax, cc.xy(11, 11));

        // ---- label_nameContactEmail ----
        label_nameContactEmail.setText("e-mail");
        label_nameContactEmail.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactEmail, Names.class, Names.PROPERTYNAME_CONTACT_EMAIL);
        contactInfoPanel.add(label_nameContactEmail, cc.xy(1, 13));

        // ---- nameContactEmail ----
        nameContactEmail.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactEmail, cc.xywh(3, 13, 9, 1));

        // ---- label_nameContactName ----
        label_nameContactName.setText("Contact");
        label_nameContactName.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_nameContactName, Names.class, Names.PROPERTYNAME_CONTACT_NAME);
        contactInfoPanel.add(label_nameContactName, cc.xy(1, 15));

        // ---- nameContactName ----
        nameContactName.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(nameContactName, cc.xywh(3, 15, 9, 1));

        // ---- label_nameContactNotes ----
        label_nameContactNotes.setText("Notes");
        label_nameContactNotes.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        contactInfoPanel.add(
            label_nameContactNotes,
            cc.xywh(1, 17, 1, 1, CellConstraints.DEFAULT, CellConstraints.TOP));

        // ======== scrollPane3 ========
        {
          scrollPane3.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
          scrollPane3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

          // ---- nameContactNotesTable ----
          nameContactNotesTable.setPreferredScrollableViewportSize(new Dimension(450, 150));
          nameContactNotesTable.addMouseListener(
              new MouseAdapter() {
                @Override
                public void mousePressed(MouseEvent e) {
                  nameContactNotesTableMousePressed(e);
                }

                @Override
                public void mouseReleased(MouseEvent e) {
                  nameContactNotesTableMouseReleased(e);
                }

                @Override
                public void mouseClicked(MouseEvent e) {
                  nameContactNotesTableMouseClicked(e);
                }
              });
          scrollPane3.setViewportView(nameContactNotesTable);
        }
        contactInfoPanel.add(scrollPane3, cc.xywh(3, 17, 9, 1));

        // ======== panel2 ========
        {
          panel2.setBackground(new Color(231, 188, 251));
          panel2.setOpaque(false);
          panel2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          panel2.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    FormFactory.DEFAULT_COLSPEC,
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    FormFactory.DEFAULT_COLSPEC
                  },
                  RowSpec.decodeSpecs("default")));

          // ---- addNoteButton ----
          addNoteButton.setText("Add Note");
          addNoteButton.setOpaque(false);
          addNoteButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          addNoteButton.addActionListener(
              new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                  addNoteButtonActionPerformed();
                }
              });
          panel2.add(addNoteButton, cc.xy(1, 1));

          // ---- removeContactNoteButton ----
          removeContactNoteButton.setText("Remove Contact Note");
          removeContactNoteButton.setOpaque(false);
          removeContactNoteButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          removeContactNoteButton.addActionListener(
              new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                  removeContactNoteButtonActionPerformed();
                }
              });
          panel2.add(removeContactNoteButton, cc.xy(3, 1));
        }
        contactInfoPanel.add(
            panel2, cc.xywh(3, 19, 9, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));
      }
      tabbedPane.addTab("Contact Info", contactInfoPanel);
    }
    add(tabbedPane, cc.xy(1, 2));
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
  }
  private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner Open Source Project license - unknown
    ResourceBundle bundle = ResourceBundle.getBundle("InformationDialog");
    JPanel dialogPane = new JPanel();
    JPanel contentPanel = new JPanel();
    iconLabel = new JLabel();
    pathLabel = new JLabel();
    JLabel labelFrom = new JLabel();
    fieldFrom = new JTextField();
    JLabel labelSize = new JLabel();
    fieldSize = new JTextField();
    JLabel labelDescription = new JLabel();
    JScrollPane scrollPane1 = new JScrollPane();
    descriptionArea = ComponentFactory.getTextArea();
    JPanel optionsPanel = new JPanel();
    JLabel saveToLabel = new JLabel();
    comboPath = new JComboBox();
    btnSelectPath = new JButton();
    progressBar = new JProgressBar();
    JLabel labelRemaining = new JLabel();
    remainingLabel = new JLabel();
    JLabel labelEstimateTime = new JLabel();
    estTimeLabel = new JLabel();
    JLabel labelCurrentSpeed = new JLabel();
    currentSpeedLabel = new JLabel();
    JLabel labelAverageSpeed = new JLabel();
    avgSpeedLabel = new JLabel();
    JXButtonPanel buttonBar = new JXButtonPanel();
    okButton = new JButton();
    cancelButton = new JButton();
    CellConstraints cc = new CellConstraints();

    // ======== this ========
    Container contentPane = getContentPane();
    contentPane.setLayout(new BorderLayout());

    // ======== dialogPane ========
    {
      dialogPane.setBorder(Borders.DIALOG);
      dialogPane.setLayout(new BorderLayout());

      // ======== contentPanel ========
      {

        // ---- iconLabel ----
        iconLabel.setText(bundle.getString("iconLabel.text"));

        // ---- pathLabel ----
        pathLabel.setText(bundle.getString("pathLabel.text"));
        pathLabel.setFont(new Font("Tahoma", Font.BOLD, 12));

        // ---- labelFrom ----
        labelFrom.setText(bundle.getString("labelFrom.text"));

        // ---- fieldFrom ----
        fieldFrom.setBorder(null);
        fieldFrom.setOpaque(false);
        fieldFrom.setText(bundle.getString("fieldFrom.text"));

        // ---- labelSize ----
        labelSize.setText(bundle.getString("labelSize.text"));

        // ---- fieldSize ----
        fieldSize.setBorder(null);
        fieldSize.setOpaque(false);

        // ---- labelDescription ----
        labelDescription.setText(bundle.getString("labelDescription.text"));

        // ======== scrollPane1 ========
        {
          scrollPane1.setViewportView(descriptionArea);
        }

        // ======== optionsPanel ========
        {

          // ---- saveToLabel ----
          saveToLabel.setText(bundle.getString("saveToLabel.text"));
          saveToLabel.setLabelFor(comboPath);

          // ---- comboPath ----
          comboPath.setEditable(true);

          // ---- btnSelectPath ----
          btnSelectPath.setText(bundle.getString("btnSelectPath.text"));

          PanelBuilder optionsPanelBuilder =
              new PanelBuilder(
                  new FormLayout(
                      new ColumnSpec[] {
                        FormSpecs.DEFAULT_COLSPEC,
                        FormSpecs.LABEL_COMPONENT_GAP_COLSPEC,
                        new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                        FormSpecs.LABEL_COMPONENT_GAP_COLSPEC,
                        FormSpecs.DEFAULT_COLSPEC
                      },
                      RowSpec.decodeSpecs("default")),
                  optionsPanel);

          optionsPanelBuilder.add(saveToLabel, cc.xy(1, 1));
          optionsPanelBuilder.add(comboPath, cc.xy(3, 1));
          optionsPanelBuilder.add(btnSelectPath, cc.xy(5, 1));
        }

        // ---- progressBar ----
        progressBar.setFont(new Font("Tahoma", Font.BOLD, 16));

        // ---- labelRemaining ----
        labelRemaining.setText(bundle.getString("labelRemaining.text"));

        // ---- remainingLabel ----
        remainingLabel.setText(bundle.getString("remainingLabel.text"));
        remainingLabel.setFont(new Font("Tahoma", Font.BOLD, 12));

        // ---- labelEstimateTime ----
        labelEstimateTime.setText(bundle.getString("labelEstimateTime.text"));

        // ---- estTimeLabel ----
        estTimeLabel.setText(bundle.getString("estTimeLabel.text"));
        estTimeLabel.setFont(new Font("Tahoma", Font.BOLD, 12));

        // ---- labelCurrentSpeed ----
        labelCurrentSpeed.setText(bundle.getString("labelCurrentSpeed.text"));

        // ---- currentSpeedLabel ----
        currentSpeedLabel.setText(bundle.getString("currentSpeedLabel.text"));
        currentSpeedLabel.setFont(new Font("Tahoma", Font.BOLD, 12));

        // ---- labelAverageSpeed ----
        labelAverageSpeed.setText(bundle.getString("labelAverageSpeed.text"));

        // ---- avgSpeedLabel ----
        avgSpeedLabel.setText(bundle.getString("avgSpeedLabel.text"));
        avgSpeedLabel.setFont(new Font("Tahoma", Font.BOLD, 12));

        PanelBuilder contentPanelBuilder =
            new PanelBuilder(
                new FormLayout(
                    new ColumnSpec[] {
                      new ColumnSpec(Sizes.dluX(49)),
                      FormSpecs.LABEL_COMPONENT_GAP_COLSPEC,
                      FormSpecs.DEFAULT_COLSPEC,
                      FormSpecs.LABEL_COMPONENT_GAP_COLSPEC,
                      new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                      FormSpecs.LABEL_COMPONENT_GAP_COLSPEC,
                      FormSpecs.DEFAULT_COLSPEC,
                      FormSpecs.LABEL_COMPONENT_GAP_COLSPEC,
                      ColumnSpec.decode("max(min;70dlu)")
                    },
                    new RowSpec[] {
                      FormSpecs.DEFAULT_ROWSPEC,
                      FormSpecs.LINE_GAP_ROWSPEC,
                      FormSpecs.DEFAULT_ROWSPEC,
                      FormSpecs.LINE_GAP_ROWSPEC,
                      FormSpecs.DEFAULT_ROWSPEC,
                      FormSpecs.LINE_GAP_ROWSPEC,
                      FormSpecs.DEFAULT_ROWSPEC,
                      FormSpecs.LINE_GAP_ROWSPEC,
                      new RowSpec(
                          RowSpec.FILL,
                          Sizes.bounded(Sizes.PREFERRED, Sizes.dluY(40), Sizes.dluY(50)),
                          FormSpec.DEFAULT_GROW),
                      FormSpecs.LINE_GAP_ROWSPEC,
                      FormSpecs.DEFAULT_ROWSPEC,
                      FormSpecs.LINE_GAP_ROWSPEC,
                      RowSpec.decode("fill:max(pref;20dlu)"),
                      FormSpecs.LINE_GAP_ROWSPEC,
                      FormSpecs.DEFAULT_ROWSPEC,
                      FormSpecs.LINE_GAP_ROWSPEC,
                      FormSpecs.DEFAULT_ROWSPEC
                    }),
                contentPanel);

        contentPanelBuilder.add(iconLabel, cc.xywh(1, 1, 1, 5));
        contentPanelBuilder.add(pathLabel, cc.xywh(3, 1, 7, 1));
        contentPanelBuilder.add(labelFrom, cc.xy(3, 3));
        contentPanelBuilder.add(fieldFrom, cc.xywh(5, 3, 5, 1));
        contentPanelBuilder.add(labelSize, cc.xy(3, 5));
        contentPanelBuilder.add(fieldSize, cc.xywh(5, 5, 3, 1));
        contentPanelBuilder.add(labelDescription, cc.xy(1, 7));
        contentPanelBuilder.add(scrollPane1, cc.xywh(1, 9, 9, 1));
        contentPanelBuilder.add(optionsPanel, cc.xywh(1, 11, 9, 1));
        contentPanelBuilder.add(progressBar, cc.xywh(1, 13, 9, 1));
        contentPanelBuilder.add(labelRemaining, cc.xy(1, 15));
        contentPanelBuilder.add(remainingLabel, cc.xywh(3, 15, 3, 1));
        contentPanelBuilder.add(labelEstimateTime, cc.xy(7, 15));
        contentPanelBuilder.add(estTimeLabel, cc.xy(9, 15));
        contentPanelBuilder.add(labelCurrentSpeed, cc.xy(1, 17));
        contentPanelBuilder.add(currentSpeedLabel, cc.xywh(3, 17, 3, 1));
        contentPanelBuilder.add(labelAverageSpeed, cc.xy(7, 17));
        contentPanelBuilder.add(avgSpeedLabel, cc.xy(9, 17));
      }
      dialogPane.add(contentPanel, BorderLayout.CENTER);

      // ======== buttonBar ========
      {
        buttonBar.setBorder(new EmptyBorder(12, 0, 0, 0));

        // ---- okButton ----
        okButton.setText(bundle.getString("okButton.text"));

        // ---- cancelButton ----
        cancelButton.setText(bundle.getString("cancelButton.text"));

        PanelBuilder buttonBarBuilder =
            new PanelBuilder(
                new FormLayout(
                    new ColumnSpec[] {
                      new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                      FormSpecs.UNRELATED_GAP_COLSPEC,
                      ColumnSpec.decode("max(pref;55dlu)"),
                      FormSpecs.LABEL_COMPONENT_GAP_COLSPEC,
                      FormSpecs.DEFAULT_COLSPEC
                    },
                    RowSpec.decodeSpecs("fill:pref")),
                buttonBar);
        ((FormLayout) buttonBar.getLayout()).setColumnGroups(new int[][] {{3, 5}});

        buttonBarBuilder.add(okButton, cc.xy(3, 1));
        buttonBarBuilder.add(cancelButton, cc.xy(5, 1));
      }
      dialogPane.add(buttonBar, BorderLayout.SOUTH);
    }
    contentPane.add(dialogPane, BorderLayout.CENTER);
    pack();
    setLocationRelativeTo(getOwner());
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
  }
  public DialogTestTemplate(DebuggerTab debuggerTab, Container parent) {
    super(parent, true);

    this.debuggerTab = debuggerTab;
    qualifiedFileName = this.debuggerTab.getDelegate().getDocument().getDocumentPath();
    if (qualifiedFileName != null) {
      testRigFullPath =
          XJUtils.getPathByDeletingPathExtension(qualifiedFileName)
              + DBLocal.testRigTemplateSuffix
              + ".st";
      grammarIdentifier = qualifiedFileName.toUpperCase();
    }
    if (this.debuggerTab.getDelegate().getGrammarEngine() != null)
      grammarLanguage = this.debuggerTab.getDelegate().getGrammarEngine().getGrammarLanguage();

    initComponents();

    if (XJSystem.isMacOS()) {
      buttonBar.remove(okButton);
      buttonBar.remove(cancelButton);

      CellConstraints cc = new CellConstraints();
      buttonBar.add(cancelButton, cc.xy(2, 1));
      buttonBar.add(okButton, cc.xy(4, 1));
    }

    setDefaultButton(okButton);
    setOKButton(okButton);
    setCancelButton(cancelButton);

    TextUtils.createTabs(testTextArea);
    TextUtils.setDefaultTextPaneProperties(testTextArea);

    testTextArea.setFont(
        new Font(AWPrefs.getEditorFont(), Font.PLAIN, AWPrefs.getEditorFontSize()));
    testTextArea.setFocusable(true);
    testTextArea.requestFocusInWindow();
    testTextArea.setText(getTestRigTemplateFromFile(testRigFullPath));

    if ("".equals(testTextArea.getText())) {
      if (AWPrefs.TEST_RIG_MODE_DEFAULT.equals(
          AWPrefs.getTestRigTemplateModeByLanguage(grammarLanguage.toUpperCase()))) {
        testTextArea.setText(getDefaultTestRigByLanguage(grammarLanguage));
      } else {
        testTextArea.setText(
            AWPrefs.getTestRigTemplateTextByLanguage(grammarLanguage.toUpperCase()));
      }
    }

    testClassHiddenField.setText(AWPrefs.getTestRigTemplateClass(grammarIdentifier));
    testClassField.setText(testClassHiddenField.getText());
    if ("".equals(testClassField.getText())) {
      testClassField.setForeground(Color.LIGHT_GRAY);
      testClassField.setText(TEXT_FULLY_QUALIFIED_CLASS_NAME);
    }

    textTestRadio.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            if (textTestRadio.isSelected()) {
              testTextArea.setEnabled(true);
              testClassField.setEnabled(false);
            } else {
              testTextArea.setEnabled(false);
              testClassField.setEnabled(true);
            }
          }
        });

    classTestRadio.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            if (classTestRadio.isSelected()) {
              testTextArea.setEnabled(false);
              testClassField.setEnabled(true);
            } else {
              testTextArea.setEnabled(true);
              testClassField.setEnabled(false);
            }
          }
        });

    if (AWPrefs.TEST_RIG_MODE_TEXT.equals(AWPrefs.getTestRigTemplateMode(grammarIdentifier))) {
      textTestRadio.setSelected(true);
      testTextArea.setEnabled(true);
      testClassField.setEnabled(false);
    } else {
      classTestRadio.setSelected(true);
      testTextArea.setEnabled(false);
      testClassField.setEnabled(true);
    }
  }
  private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner Evaluation license - RP Talusan
    dialogPane = new JPanel();
    contentPanel = new JPanel();
    textTestRadio = new JRadioButton();
    scrollPane1 = new JScrollPane();
    testTextArea = new JTextPane();
    classTestRadio = new JRadioButton();
    testClassField = new JTextField();
    buttonBar = new JPanel();
    okButton = new JButton();
    cancelButton = new JButton();
    testClassHiddenField = new JTextField();
    CellConstraints cc = new CellConstraints();

    // ======== this ========
    String title = "Edit Test Rig";
    if (qualifiedFileName != null && !"".equals(qualifiedFileName))
      title = "Edit " + XJUtils.getLastPathComponent(qualifiedFileName) + " Test Rig";
    if (grammarLanguage != null && !"".equals(grammarLanguage)) title += " for " + grammarLanguage;
    setTitle(title);

    Container contentPane = getContentPane();
    contentPane.setLayout(new BorderLayout());

    // ======== dialogPane ========
    {
      dialogPane.setBorder(Borders.DIALOG_BORDER);
      dialogPane.setMinimumSize(new Dimension(340, 250));
      dialogPane.setLayout(new BorderLayout());

      // ======== contentPanel ========
      {
        contentPanel.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  new ColumnSpec(ColumnSpec.RIGHT, Sizes.DEFAULT, FormSpec.NO_GROW),
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                },
                new RowSpec[] {
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC
                }));

        // ---- textTestRadio ----
        textTestRadio.setText("Text:");
        contentPanel.add(textTestRadio, cc.xy(1, 1));

        // ======== scrollPane1 ========
        {
          scrollPane1.setPreferredSize(new Dimension(300, 200));
          scrollPane1.setViewportView(testTextArea);
        }
        contentPanel.add(scrollPane1, cc.xywh(3, 1, 3, 5));

        // ---- classTestRadio ----
        classTestRadio.setText("Class:");
        contentPanel.add(classTestRadio, cc.xy(1, 7));

        // ---- testClassField ----
        testClassField.addFocusListener(
            new FocusAdapter() {
              @Override
              public void focusGained(FocusEvent e) {
                if (TEXT_FULLY_QUALIFIED_CLASS_NAME.equals(testClassField.getText())) {
                  testClassField.setForeground(Color.BLACK);
                  testClassField.setText("");
                }
              }

              @Override
              public void focusLost(FocusEvent e) {
                testClassHiddenField.setText(testClassField.getText());
                if ("".equals(testClassField.getText())) {
                  testClassField.setForeground(Color.LIGHT_GRAY);
                  testClassField.setText(TEXT_FULLY_QUALIFIED_CLASS_NAME);
                }
              }
            });
        contentPanel.add(testClassField, cc.xywh(3, 7, 3, 1));
      }
      dialogPane.add(contentPanel, BorderLayout.CENTER);

      // ======== buttonBar ========
      {
        buttonBar.setBorder(Borders.BUTTON_BAR_GAP_BORDER);
        buttonBar.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.GLUE_COLSPEC,
                  FormFactory.BUTTON_COLSPEC,
                  FormFactory.RELATED_GAP_COLSPEC,
                  FormFactory.BUTTON_COLSPEC
                },
                RowSpec.decodeSpecs("pref")));

        // ---- okButton ----
        okButton.setText("OK");
        buttonBar.add(okButton, cc.xy(2, 1));

        // ---- cancelButton ----
        cancelButton.setText("Cancel");
        buttonBar.add(cancelButton, cc.xy(4, 1));
      }
      dialogPane.add(buttonBar, BorderLayout.SOUTH);
    }
    contentPane.add(dialogPane, BorderLayout.CENTER);
    setSize(625, 395);

    // ---- buttonGroup1 ----
    ButtonGroup buttonGroup1 = new ButtonGroup();
    buttonGroup1.add(textTestRadio);
    buttonGroup1.add(classTestRadio);
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
  }
  private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner Evaluation license - Ryan Paul Talusan
    dialogPane = new JPanel();
    contentPanel = new JPanel();
    label1 = new JLabel();
    grammarNameField = new JTextField();
    label2 = new JLabel();
    grammarTypeComboBox = new JComboBox();
    lexicalItemPanel = new JPanel();
    lexLeftPanel = new JPanel();
    cbIdentifier = new JCheckBox();
    cbInteger = new JCheckBox();
    cbFloat = new JCheckBox();
    cbComments = new JCheckBox();
    commentsPanel = new JPanel();
    cbSingleLine = new JCheckBox();
    cbMultiLine = new JCheckBox();
    lexRightPanel = new JPanel();
    cbString = new JCheckBox();
    stringPanel = new JPanel();
    singleQuoteRadio = new JRadioButton();
    doubleQuoteRadio = new JRadioButton();
    cbCharacters = new JCheckBox();
    cbWhiteSpace = new JCheckBox();
    wsPanel = new JPanel();
    cbTabChar = new JCheckBox();
    cbNewlineChar = new JCheckBox();
    cbCarriageReturnChar = new JCheckBox();
    buttonBar = new JPanel();
    okButton = new JButton();
    cancelButton = new JButton();
    CellConstraints cc = new CellConstraints();

    // ======== this ========
    setTitle("New Grammar Wizard");
    Container contentPane = getContentPane();
    contentPane.setLayout(new BorderLayout());

    // ======== dialogPane ========
    {
      dialogPane.setBorder(Borders.DIALOG_BORDER);
      dialogPane.setLayout(new BorderLayout());

      // ======== contentPanel ========
      {
        contentPanel.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.RELATED_GAP_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec(ColumnSpec.RIGHT, Sizes.DEFAULT, FormSpec.NO_GROW),
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                },
                new RowSpec[] {
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.UNRELATED_GAP_ROWSPEC,
                  new RowSpec(RowSpec.TOP, Sizes.DEFAULT, RowSpec.DEFAULT_GROW)
                }));

        // ---- label1 ----
        label1.setText("Grammar Name:");
        contentPanel.add(label1, cc.xy(3, 1));
        contentPanel.add(grammarNameField, cc.xywh(5, 1, 3, 1));

        // ---- label2 ----
        label2.setText("Type:");
        contentPanel.add(label2, cc.xy(3, 3));

        // ---- grammarTypeComboBox ----
        grammarTypeComboBox.setModel(
            new DefaultComboBoxModel(
                new String[] {"Parser", "Lexer", "Tree Grammar", "Combined Grammar"}));
        grammarTypeComboBox.setSelectedIndex(3);
        grammarTypeComboBox.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent event) {
                switch (grammarTypeComboBox.getSelectedIndex()) {
                  case GRAMMAR_TYPE_PARSER:
                  case GRAMMAR_TYPE_TREE_GRAMMAR:
                    cbIdentifier.setEnabled(false);
                    cbInteger.setEnabled(false);
                    cbFloat.setEnabled(false);
                    cbComments.setEnabled(false);
                    cbSingleLine.setEnabled(false);
                    cbMultiLine.setEnabled(false);
                    cbString.setEnabled(false);
                    cbCharacters.setEnabled(false);
                    cbWhiteSpace.setEnabled(false);
                    cbTabChar.setEnabled(false);
                    cbNewlineChar.setEnabled(false);
                    cbCarriageReturnChar.setEnabled(false);
                    break;
                  case GRAMMAR_TYPE_LEXER:
                  case GRAMMAR_TYPE_COMBINED_GRAMMAR:
                    cbIdentifier.setEnabled(true);
                    cbInteger.setEnabled(true);
                    cbFloat.setEnabled(true);
                    cbComments.setEnabled(true);
                    if (cbComments.isSelected()) {
                      cbSingleLine.setEnabled(true);
                      cbMultiLine.setEnabled(true);
                    }
                    cbString.setEnabled(true);
                    cbCharacters.setEnabled(true);
                    cbWhiteSpace.setEnabled(true);
                    if (cbWhiteSpace.isSelected()) {
                      cbTabChar.setEnabled(true);
                      cbNewlineChar.setEnabled(true);
                      cbCarriageReturnChar.setEnabled(true);
                    }
                    break;
                }
              }
            });
        contentPanel.add(grammarTypeComboBox, cc.xy(5, 3));

        // ======== lexicalItemPanel ========
        {
          lexicalItemPanel.setBorder(
              new TitledBorder(
                  null,
                  "Lexical Items",
                  TitledBorder.DEFAULT_JUSTIFICATION,
                  TitledBorder.DEFAULT_POSITION));
          lexicalItemPanel.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                  },
                  new RowSpec[] {new RowSpec(RowSpec.TOP, Sizes.DEFAULT, RowSpec.DEFAULT_GROW)}));

          // ======== lexLeftPanel ========
          {
            lexLeftPanel.setLayout(
                new FormLayout(
                    new ColumnSpec[] {
                      new ColumnSpec(ColumnSpec.DEFAULT, Sizes.dluX(10), FormSpec.NO_GROW),
                      new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                      FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                      new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                    },
                    new RowSpec[] {
                      FormFactory.DEFAULT_ROWSPEC,
                      FormFactory.LINE_GAP_ROWSPEC,
                      FormFactory.DEFAULT_ROWSPEC,
                      FormFactory.LINE_GAP_ROWSPEC,
                      FormFactory.DEFAULT_ROWSPEC,
                      FormFactory.LINE_GAP_ROWSPEC,
                      FormFactory.DEFAULT_ROWSPEC,
                      FormFactory.LINE_GAP_ROWSPEC,
                      FormFactory.DEFAULT_ROWSPEC
                    }));

            // ---- cbIdentifier ----
            cbIdentifier.setText("Identifier");
            lexLeftPanel.add(cbIdentifier, cc.xywh(1, 1, 2, 1));

            // ---- cbInteger ----
            cbInteger.setText("Integer");
            lexLeftPanel.add(cbInteger, cc.xywh(1, 3, 2, 1));

            // ---- cbFloat ----
            cbFloat.setText("Float");
            lexLeftPanel.add(cbFloat, cc.xywh(1, 5, 2, 1));

            // ---- cbComments ----
            cbComments.setText("Comments");
            lexLeftPanel.add(cbComments, cc.xywh(1, 7, 2, 1));
            cbComments.addActionListener(
                new ActionListener() {
                  public void actionPerformed(ActionEvent event) {
                    if (cbComments.isSelected()) {
                      cbSingleLine.setEnabled(true);
                      cbMultiLine.setEnabled(true);
                    } else {
                      cbSingleLine.setEnabled(false);
                      cbMultiLine.setEnabled(false);
                    }
                  }
                });

            // ======== commentsPanel ========
            {
              commentsPanel.setBorder(
                  new TitledBorder(
                      null,
                      null,
                      TitledBorder.DEFAULT_JUSTIFICATION,
                      TitledBorder.DEFAULT_POSITION));
              commentsPanel.setLayout(
                  new FormLayout(
                      new ColumnSpec[] {FormFactory.DEFAULT_COLSPEC},
                      new RowSpec[] {
                        FormFactory.DEFAULT_ROWSPEC,
                        FormFactory.LINE_GAP_ROWSPEC,
                        FormFactory.DEFAULT_ROWSPEC
                      }));

              // ---- cbSingleLine ----
              cbSingleLine.setText("Single-line ( //... )");
              cbSingleLine.setEnabled(false);
              cbSingleLine.setSelected(true);
              commentsPanel.add(cbSingleLine, cc.xy(1, 1));
              cbSingleLine.addActionListener(
                  new ActionListener() {
                    public void actionPerformed(ActionEvent event) {
                      if (!cbSingleLine.isSelected() && !cbMultiLine.isSelected()) {
                        cbComments.setSelected(false);
                        cbSingleLine.setEnabled(false);
                        cbMultiLine.setEnabled(false);
                        cbSingleLine.setSelected(true);
                        cbMultiLine.setSelected(true);
                      }
                    }
                  });

              // ---- cbMultiLine ----
              cbMultiLine.setText("Multi-line ( /* .. */ )");
              cbMultiLine.setEnabled(false);
              cbMultiLine.setSelected(true);
              commentsPanel.add(cbMultiLine, cc.xy(1, 3));
              cbMultiLine.addActionListener(
                  new ActionListener() {
                    public void actionPerformed(ActionEvent event) {
                      if (!cbSingleLine.isSelected() && !cbMultiLine.isSelected()) {
                        cbComments.setSelected(false);
                        cbSingleLine.setEnabled(false);
                        cbMultiLine.setEnabled(false);
                        cbSingleLine.setSelected(true);
                        cbMultiLine.setSelected(true);
                      }
                    }
                  });
            }
            lexLeftPanel.add(commentsPanel, cc.xy(2, 9));
          }
          lexicalItemPanel.add(lexLeftPanel, cc.xy(1, 1));

          // ======== lexRightPanel ========
          {
            lexRightPanel.setLayout(
                new FormLayout(
                    new ColumnSpec[] {
                      new ColumnSpec(ColumnSpec.DEFAULT, Sizes.dluX(10), FormSpec.NO_GROW),
                      new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                      FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                      new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                    },
                    new RowSpec[] {
                      FormFactory.DEFAULT_ROWSPEC,
                      FormFactory.LINE_GAP_ROWSPEC,
                      FormFactory.DEFAULT_ROWSPEC,
                      FormFactory.LINE_GAP_ROWSPEC,
                      FormFactory.DEFAULT_ROWSPEC,
                      FormFactory.LINE_GAP_ROWSPEC,
                      FormFactory.DEFAULT_ROWSPEC,
                      FormFactory.LINE_GAP_ROWSPEC,
                      FormFactory.DEFAULT_ROWSPEC,
                      FormFactory.LINE_GAP_ROWSPEC,
                      FormFactory.DEFAULT_ROWSPEC
                    }));

            // ---- cbString ----
            cbString.setText("String");
            lexRightPanel.add(cbString, cc.xywh(1, 1, 2, 1));
            cbString.addActionListener(
                new ActionListener() {
                  public void actionPerformed(ActionEvent event) {
                    if (cbString.isSelected()) {
                      singleQuoteRadio.setEnabled(true);
                      doubleQuoteRadio.setEnabled(true);
                    } else {
                      singleQuoteRadio.setEnabled(false);
                      doubleQuoteRadio.setEnabled(false);
                    }
                  }
                });

            // ======== stringPanel ========
            {
              stringPanel.setBorder(new EtchedBorder());
              stringPanel.setLayout(
                  new FormLayout(
                      new ColumnSpec[] {FormFactory.DEFAULT_COLSPEC},
                      new RowSpec[] {
                        FormFactory.DEFAULT_ROWSPEC,
                        FormFactory.LINE_GAP_ROWSPEC,
                        FormFactory.DEFAULT_ROWSPEC
                      }));

              // ---- singleQuoteRadio ----
              singleQuoteRadio.setText("Single quotes ( 'sample string' )");
              singleQuoteRadio.setEnabled(false);
              stringPanel.add(singleQuoteRadio, cc.xy(1, 1));

              // ---- doubleQuoteRadio ----
              doubleQuoteRadio.setText("Double quotes ( \"sample string\" )");
              doubleQuoteRadio.setEnabled(false);
              doubleQuoteRadio.setSelected(true);
              stringPanel.add(doubleQuoteRadio, cc.xy(1, 3));
            }
            lexRightPanel.add(stringPanel, cc.xy(2, 3));

            // ---- cbCharacters ----
            cbCharacters.setText("Character");
            lexRightPanel.add(cbCharacters, cc.xywh(1, 5, 2, 1));

            // ---- cbWhiteSpace ----
            cbWhiteSpace.setText("White Space");
            lexRightPanel.add(cbWhiteSpace, cc.xywh(1, 7, 3, 1));

            // ======== wsPanel ========
            {
              wsPanel.setBorder(new EtchedBorder());
              wsPanel.setLayout(
                  new FormLayout(
                      new ColumnSpec[] {FormFactory.DEFAULT_COLSPEC},
                      new RowSpec[] {
                        FormFactory.DEFAULT_ROWSPEC,
                        FormFactory.LINE_GAP_ROWSPEC,
                        FormFactory.DEFAULT_ROWSPEC,
                        FormFactory.LINE_GAP_ROWSPEC,
                        FormFactory.DEFAULT_ROWSPEC
                      }));

              // ---- cbTabChar ----
              cbTabChar.setText("Tab character ( /t )");
              cbTabChar.setEnabled(false);
              cbTabChar.setSelected(true);
              wsPanel.add(cbTabChar, cc.xy(1, 1));

              // ---- cbNewlineChar ----
              cbNewlineChar.setText("Newline character ( /n )");
              cbNewlineChar.setEnabled(false);
              cbNewlineChar.setSelected(true);
              wsPanel.add(cbNewlineChar, cc.xy(1, 3));

              // ---- cbCarriageReturnChar ----
              cbCarriageReturnChar.setText("Carriage-return character ( /r )");
              cbCarriageReturnChar.setEnabled(false);
              cbCarriageReturnChar.setSelected(true);
              wsPanel.add(cbCarriageReturnChar, cc.xy(1, 5));
            }
            lexRightPanel.add(wsPanel, cc.xy(2, 9));
          }
          lexicalItemPanel.add(lexRightPanel, cc.xy(3, 1));
        }
        contentPanel.add(lexicalItemPanel, cc.xywh(3, 5, 5, 1));
      }
      dialogPane.add(contentPanel, BorderLayout.CENTER);

      // ======== buttonBar ========
      {
        buttonBar.setBorder(Borders.BUTTON_BAR_GAP_BORDER);
        buttonBar.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.GLUE_COLSPEC,
                  FormFactory.BUTTON_COLSPEC,
                  FormFactory.RELATED_GAP_COLSPEC,
                  FormFactory.BUTTON_COLSPEC
                },
                RowSpec.decodeSpecs("pref")));

        // ---- okButton ----
        okButton.setText("OK");
        buttonBar.add(okButton, cc.xy(2, 1));

        // ---- cancelButton ----
        cancelButton.setText("Cancel");
        buttonBar.add(cancelButton, cc.xy(4, 1));
      }
      dialogPane.add(buttonBar, BorderLayout.SOUTH);
    }
    contentPane.add(dialogPane, BorderLayout.CENTER);
    pack();

    // ---- buttonGroup1 ----
    ButtonGroup buttonGroup1 = new ButtonGroup();
    buttonGroup1.add(singleQuoteRadio);
    buttonGroup1.add(doubleQuoteRadio);
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
  }
  private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner non-commercial license
    dialogPane = new JPanel();
    contentPanel = new JPanel();
    labelAngleThreshold = new JLabel();
    spinnerAngle = new JSpinner();
    labelSpeed = new JLabel();
    spinnerSpeed = new JSpinner();
    labelReactionTime = new JLabel();
    spinnerReactionTime = new JSpinner();
    buttonOK = new JButton();
    buttonCancel = new JButton();
    buttonDefault = new JButton();
    CellConstraints cc = new CellConstraints();

    // ======== this ========
    setResizable(false);
    setTitle("Advanced Warper");
    Container contentPane = getContentPane();
    contentPane.setLayout(new BorderLayout());

    // ======== dialogPane ========
    {
      dialogPane.setBorder(Borders.DIALOG_BORDER);
      dialogPane.setLayout(new BorderLayout());

      // ======== contentPanel ========
      {
        contentPanel.setLayout(
            new FormLayout("2*(50dlu, $lcgap), 50dlu", "3*(default, $lgap), default"));

        // ---- labelAngleThreshold ----
        labelAngleThreshold.setText("Angle Threshold in Degree");
        contentPanel.add(labelAngleThreshold, cc.xywh(1, 1, 3, 1));

        // ---- spinnerAngle ----
        spinnerAngle.setModel(new SpinnerNumberModel(10, 0, 180, 1));
        contentPanel.add(spinnerAngle, cc.xy(5, 1));

        // ---- labelSpeed ----
        labelSpeed.setText("minimal Speed in Pixel/ms");
        contentPanel.add(labelSpeed, cc.xywh(1, 3, 3, 1));

        // ---- spinnerSpeed ----
        spinnerSpeed.setModel(new SpinnerNumberModel(0.0, 0.0, 2.147483647E9, 1.0));
        contentPanel.add(spinnerSpeed, cc.xy(5, 3));

        // ---- labelReactionTime ----
        labelReactionTime.setText("Reaction Time in ms");
        contentPanel.add(labelReactionTime, cc.xywh(1, 5, 3, 1));

        // ---- spinnerReactionTime ----
        spinnerReactionTime.setModel(new SpinnerNumberModel(0, 0, 2147483647, 1));
        contentPanel.add(spinnerReactionTime, cc.xy(5, 5));

        // ---- buttonOK ----
        buttonOK.setText("OK");
        contentPanel.add(buttonOK, cc.xy(1, 7));

        // ---- buttonCancel ----
        buttonCancel.setText("Cancel");
        contentPanel.add(buttonCancel, cc.xy(3, 7));

        // ---- buttonDefault ----
        buttonDefault.setText("Default");
        buttonDefault.addActionListener(
            new ActionListener() {
              @Override
              public void actionPerformed(ActionEvent e) {
                buttonDefaultActionPerformed(e);
              }
            });
        contentPanel.add(buttonDefault, cc.xy(5, 7));
      }
      dialogPane.add(contentPanel, BorderLayout.CENTER);
    }
    contentPane.add(dialogPane, BorderLayout.CENTER);
    pack();
    setLocationRelativeTo(getOwner());
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
  }
Beispiel #21
0
  private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner non-commercial license
    dialogPane = new JPanel();
    contentPanel = new JPanel();
    apiLabel = new JLabel();
    panel4 = new JPanel();
    label9 = new JLabel();
    beanShellRadioButton = new JRadioButton();
    jrubyRadioButton = new JRadioButton();
    pythonRadioButton = new JRadioButton();
    javascriptRadioButton = new JRadioButton();
    loadExcelFileButton = new JButton();
    excelTextField = new JTextField();
    loadMapperScriptButton = new JButton();
    mapperScriptTextField = new JTextField();
    editScriptButton = new JButton();
    separator2 = new JSeparator();
    panel5 = new JPanel();
    createRepositoryCheckBox = new JCheckBox();
    repoShortNameTextField = new JTextField();
    repoNameTextField = new JTextField();
    repoCodeTextField = new JTextField();
    repoURLTextField = new JTextField();
    panel2 = new JPanel();
    label1 = new JLabel();
    label3 = new JLabel();
    label10 = new JLabel();
    locationsTextField = new JTextField();
    locationsLabel = new JLabel();
    label5 = new JLabel();
    subjectsTextField = new JTextField();
    subjectsLabel = new JLabel();
    label4 = new JLabel();
    namesTextField = new JTextField();
    namesLabel = new JLabel();
    label6 = new JLabel();
    accessionsTextField = new JTextField();
    accessionsLabel = new JLabel();
    label7 = new JLabel();
    digitalObjectsTextField = new JTextField();
    digitalObjectLabel = new JLabel();
    label8 = new JLabel();
    resourcesTextField = new JTextField();
    resourcesLabel = new JLabel();
    separator1 = new JSeparator();
    copyToASpaceButton = new JButton();
    hostLabel = new JLabel();
    hostTextField = new JTextField();
    simulateCheckBox = new JCheckBox();
    adminLabel = new JLabel();
    adminTextField = new JTextField();
    adminPasswordLabel = new JLabel();
    adminPasswordTextField = new JTextField();
    label2 = new JLabel();
    repositoryURITextField = new JTextField();
    developerModeCheckBox = new JCheckBox();
    outputConsoleLabel = new JLabel();
    copyProgressBar = new JProgressBar();
    scrollPane1 = new JScrollPane();
    consoleTextArea = new JTextArea();
    recordURIComboBox = new JComboBox();
    panel1 = new JPanel();
    paramsLabel = new JLabel();
    paramsTextField = new JTextField();
    viewRecordButton = new JButton();
    buttonBar = new JPanel();
    errorLogButton = new JButton();
    saveErrorsLabel = new JLabel();
    errorCountLabel = new JLabel();
    stopButton = new JButton();
    utillitiesButton = new JButton();
    okButton = new JButton();
    CellConstraints cc = new CellConstraints();

    // ======== this ========
    setTitle("Archives Space Excel Data Migrator");
    Container contentPane = getContentPane();
    contentPane.setLayout(new BorderLayout());

    // ======== dialogPane ========
    {
      dialogPane.setBorder(Borders.DIALOG_BORDER);
      dialogPane.setLayout(new BorderLayout());

      // ======== contentPanel ========
      {
        contentPanel.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC
                },
                new RowSpec[] {
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  new RowSpec(RowSpec.TOP, Sizes.DEFAULT, FormSpec.NO_GROW),
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC
                }));

        // ---- apiLabel ----
        apiLabel.setText("  Archives Space Version: v1.1.0");
        apiLabel.setHorizontalTextPosition(SwingConstants.CENTER);
        apiLabel.setFont(new Font("Lucida Grande", Font.BOLD, 14));
        contentPanel.add(apiLabel, cc.xy(1, 1));

        // ======== panel4 ========
        {
          panel4.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                  },
                  RowSpec.decodeSpecs("default")));

          // ---- label9 ----
          label9.setText("Select Script Type");
          panel4.add(label9, cc.xy(1, 1));

          // ---- beanShellRadioButton ----
          beanShellRadioButton.setText("Beanshell");
          beanShellRadioButton.setSelected(true);
          beanShellRadioButton.addActionListener(
              new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                  clearMapperScript();
                }
              });
          panel4.add(beanShellRadioButton, cc.xy(3, 1));

          // ---- jrubyRadioButton ----
          jrubyRadioButton.setText("JRuby");
          jrubyRadioButton.addActionListener(
              new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                  clearMapperScript();
                }
              });
          panel4.add(jrubyRadioButton, cc.xy(5, 1));

          // ---- pythonRadioButton ----
          pythonRadioButton.setText("Jython");
          pythonRadioButton.addActionListener(
              new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                  clearMapperScript();
                }
              });
          panel4.add(pythonRadioButton, cc.xy(7, 1));

          // ---- javascriptRadioButton ----
          javascriptRadioButton.setText("Javascript");
          javascriptRadioButton.addActionListener(
              new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                  clearMapperScript();
                }
              });
          panel4.add(javascriptRadioButton, cc.xy(9, 1));
        }
        contentPanel.add(panel4, cc.xywh(3, 1, 7, 1));

        // ---- loadExcelFileButton ----
        loadExcelFileButton.setText("Load Excel File");
        loadExcelFileButton.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                loadExcelFileButtonActionPerformed();
              }
            });
        contentPanel.add(loadExcelFileButton, cc.xy(1, 3));
        contentPanel.add(excelTextField, cc.xywh(3, 3, 5, 1));

        // ---- loadMapperScriptButton ----
        loadMapperScriptButton.setText("Load Mapper Script");
        loadMapperScriptButton.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                loadMapperScriptButtonActionPerformed();
              }
            });
        contentPanel.add(loadMapperScriptButton, cc.xy(1, 5));

        // ---- mapperScriptTextField ----
        mapperScriptTextField.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                loadMapperScript();
              }
            });
        contentPanel.add(mapperScriptTextField, cc.xywh(3, 5, 5, 1));

        // ---- editScriptButton ----
        editScriptButton.setText("Edit");
        editScriptButton.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                editScriptButtonActionPerformed();
              }
            });
        contentPanel.add(editScriptButton, cc.xy(9, 5));
        contentPanel.add(separator2, cc.xywh(1, 7, 9, 1));

        // ======== panel5 ========
        {
          panel5.setLayout(
              new FormLayout(
                  ColumnSpec.decodeSpecs("default:grow"),
                  new RowSpec[] {
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC
                  }));

          // ---- createRepositoryCheckBox ----
          createRepositoryCheckBox.setText("Create Repository");
          createRepositoryCheckBox.setSelected(true);
          panel5.add(createRepositoryCheckBox, cc.xy(1, 1));

          // ---- repoShortNameTextField ----
          repoShortNameTextField.setText("Repo Short Name 1");
          panel5.add(repoShortNameTextField, cc.xy(1, 3));

          // ---- repoNameTextField ----
          repoNameTextField.setText("Repo Name 1");
          panel5.add(repoNameTextField, cc.xy(1, 5));

          // ---- repoCodeTextField ----
          repoCodeTextField.setText("Organization Code 1");
          panel5.add(repoCodeTextField, cc.xy(1, 7));

          // ---- repoURLTextField ----
          repoURLTextField.setText("http://repository.url.org");
          panel5.add(repoURLTextField, cc.xy(1, 9));
        }
        contentPanel.add(panel5, cc.xy(1, 9));

        // ======== panel2 ========
        {
          panel2.setLayout(
              new FormLayout(
                  "default, default:grow, right:default",
                  "default, default, default, fill:default:grow, fill:default:grow, default, fill:default:grow"));

          // ---- label1 ----
          label1.setText("Record Type");
          panel2.add(label1, cc.xy(1, 1));

          // ---- label3 ----
          label3.setText("Spreadsheet Number (starting at 1)");
          panel2.add(label3, cc.xy(2, 1));

          // ---- label10 ----
          label10.setText("Locations");
          panel2.add(label10, cc.xy(1, 2));

          // ---- locationsTextField ----
          locationsTextField.setText("1");
          panel2.add(locationsTextField, cc.xy(2, 2));

          // ---- locationsLabel ----
          locationsLabel.setText("not supported");
          panel2.add(locationsLabel, cc.xy(3, 2));

          // ---- label5 ----
          label5.setText("Subjects");
          panel2.add(label5, cc.xy(1, 3));

          // ---- subjectsTextField ----
          subjectsTextField.setColumns(2);
          subjectsTextField.setText("2");
          panel2.add(subjectsTextField, cc.xy(2, 3));

          // ---- subjectsLabel ----
          subjectsLabel.setText("not supported");
          panel2.add(subjectsLabel, cc.xy(3, 3));

          // ---- label4 ----
          label4.setText("Names");
          panel2.add(label4, cc.xy(1, 4));

          // ---- namesTextField ----
          namesTextField.setColumns(12);
          namesTextField.setText("3");
          panel2.add(namesTextField, cc.xy(2, 4));

          // ---- namesLabel ----
          namesLabel.setText("not supported");
          panel2.add(namesLabel, cc.xy(3, 4));

          // ---- label6 ----
          label6.setText("Accessions");
          panel2.add(label6, cc.xy(1, 5));

          // ---- accessionsTextField ----
          accessionsTextField.setColumns(2);
          accessionsTextField.setText("4");
          panel2.add(accessionsTextField, cc.xy(2, 5));

          // ---- accessionsLabel ----
          accessionsLabel.setText("not supported");
          panel2.add(accessionsLabel, cc.xy(3, 5));

          // ---- label7 ----
          label7.setText("Digital Objects");
          panel2.add(label7, cc.xy(1, 6));

          // ---- digitalObjectsTextField ----
          digitalObjectsTextField.setColumns(2);
          digitalObjectsTextField.setText("5");
          panel2.add(digitalObjectsTextField, cc.xy(2, 6));

          // ---- digitalObjectLabel ----
          digitalObjectLabel.setText("not supported");
          panel2.add(digitalObjectLabel, cc.xy(3, 6));

          // ---- label8 ----
          label8.setText("Resources");
          panel2.add(label8, cc.xy(1, 7));

          // ---- resourcesTextField ----
          resourcesTextField.setText("6, 7");
          resourcesTextField.setColumns(2);
          panel2.add(resourcesTextField, cc.xy(2, 7));

          // ---- resourcesLabel ----
          resourcesLabel.setText("not supported");
          panel2.add(resourcesLabel, cc.xy(3, 7));
        }
        contentPanel.add(panel2, cc.xywh(3, 9, 7, 1));
        contentPanel.add(separator1, cc.xywh(1, 11, 9, 1));

        // ---- copyToASpaceButton ----
        copyToASpaceButton.setText("Copy To Archives Space");
        copyToASpaceButton.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                CopyToASpaceButtonActionPerformed();
              }
            });
        contentPanel.add(copyToASpaceButton, cc.xy(1, 13));

        // ---- hostLabel ----
        hostLabel.setText("Archives Space Host");
        contentPanel.add(hostLabel, cc.xywh(3, 13, 2, 1));

        // ---- hostTextField ----
        hostTextField.setText("http://localhost:8089");
        contentPanel.add(hostTextField, cc.xywh(5, 13, 5, 1));

        // ---- simulateCheckBox ----
        simulateCheckBox.setText("Simulate REST Calls");
        simulateCheckBox.setSelected(true);
        contentPanel.add(simulateCheckBox, cc.xy(1, 15));

        // ---- adminLabel ----
        adminLabel.setText("Administrator User ID");
        contentPanel.add(adminLabel, cc.xy(3, 15));

        // ---- adminTextField ----
        adminTextField.setText("admin");
        contentPanel.add(adminTextField, cc.xywh(5, 15, 2, 1));

        // ---- adminPasswordLabel ----
        adminPasswordLabel.setText("Password");
        contentPanel.add(adminPasswordLabel, cc.xy(7, 15));

        // ---- adminPasswordTextField ----
        adminPasswordTextField.setText("admin");
        contentPanel.add(adminPasswordTextField, cc.xy(9, 15));

        // ---- label2 ----
        label2.setText("Target Repository URI");
        contentPanel.add(label2, cc.xy(3, 17));
        contentPanel.add(repositoryURITextField, cc.xywh(5, 17, 5, 1));

        // ---- developerModeCheckBox ----
        developerModeCheckBox.setText(
            "Developer Mode (Locations/Names/Subjects are copied once and random IDs are used other records)");
        contentPanel.add(developerModeCheckBox, cc.xywh(1, 19, 9, 1));

        // ---- outputConsoleLabel ----
        outputConsoleLabel.setText("Output Console:");
        contentPanel.add(outputConsoleLabel, cc.xy(1, 21));
        contentPanel.add(copyProgressBar, cc.xywh(3, 21, 7, 1));

        // ======== scrollPane1 ========
        {

          // ---- consoleTextArea ----
          consoleTextArea.setRows(12);
          scrollPane1.setViewportView(consoleTextArea);
        }
        contentPanel.add(scrollPane1, cc.xywh(1, 23, 9, 1));

        // ---- recordURIComboBox ----
        recordURIComboBox.setModel(
            new DefaultComboBoxModel(
                new String[] {
                  "/repositories",
                  "/users",
                  "/subjects",
                  "/agents/families/1",
                  "/agents/people/1",
                  "/agents/corporate_entities/1",
                  "/repositories/2/accessions/1",
                  "/repositories/2/resources/1",
                  "/repositories/2/archival_objects/1",
                  "/config/enumerations"
                }));
        recordURIComboBox.setEditable(true);
        contentPanel.add(recordURIComboBox, cc.xy(1, 25));

        // ======== panel1 ========
        {
          panel1.setLayout(new FlowLayout(FlowLayout.LEFT));

          // ---- paramsLabel ----
          paramsLabel.setText("Params");
          panel1.add(paramsLabel);

          // ---- paramsTextField ----
          paramsTextField.setColumns(20);
          panel1.add(paramsTextField);
        }
        contentPanel.add(panel1, cc.xywh(3, 25, 3, 1));

        // ---- viewRecordButton ----
        viewRecordButton.setText("View");
        viewRecordButton.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                viewRecordButtonActionPerformed();
              }
            });
        contentPanel.add(viewRecordButton, cc.xywh(7, 25, 3, 1));
      }
      dialogPane.add(contentPanel, BorderLayout.CENTER);

      // ======== buttonBar ========
      {
        buttonBar.setBorder(Borders.BUTTON_BAR_GAP_BORDER);
        buttonBar.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.GLUE_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.BUTTON_COLSPEC
                },
                RowSpec.decodeSpecs("pref")));

        // ---- errorLogButton ----
        errorLogButton.setText("View Error Log");
        errorLogButton.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                errorLogButtonActionPerformed();
              }
            });
        buttonBar.add(errorLogButton, cc.xy(2, 1));

        // ---- saveErrorsLabel ----
        saveErrorsLabel.setText(" Errors: ");
        buttonBar.add(saveErrorsLabel, cc.xy(4, 1));

        // ---- errorCountLabel ----
        errorCountLabel.setText("N/A ");
        errorCountLabel.setForeground(Color.red);
        errorCountLabel.setFont(new Font("Lucida Grande", Font.BOLD, 13));
        buttonBar.add(errorCountLabel, cc.xy(6, 1));

        // ---- stopButton ----
        stopButton.setText("Cancel Copy");
        stopButton.setEnabled(false);
        stopButton.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                stopButtonActionPerformed();
                stopButtonActionPerformed();
              }
            });
        buttonBar.add(stopButton, cc.xy(9, 1));

        // ---- utillitiesButton ----
        utillitiesButton.setText("Utilities");
        buttonBar.add(utillitiesButton, cc.xy(11, 1));

        // ---- okButton ----
        okButton.setText("Close");
        okButton.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                okButtonActionPerformed();
              }
            });
        buttonBar.add(okButton, cc.xy(14, 1));
      }
      dialogPane.add(buttonBar, BorderLayout.SOUTH);
    }
    contentPane.add(dialogPane, BorderLayout.CENTER);
    pack();
    setLocationRelativeTo(getOwner());

    // ---- buttonGroup1 ----
    ButtonGroup buttonGroup1 = new ButtonGroup();
    buttonGroup1.add(beanShellRadioButton);
    buttonGroup1.add(jrubyRadioButton);
    buttonGroup1.add(pythonRadioButton);
    buttonGroup1.add(javascriptRadioButton);
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
  }
  private void initComponents() {
    // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
    // Generated using JFormDesigner non-commercial license
    panel7 = new JPanel();
    panel3 = new JPanel();
    label_resourcesLevel = new JLabel();
    resourcesLevel =
        ATBasicComponentFactory.createComboBox(
            detailsModel, ResourcesComponents.PROPERTYNAME_LEVEL, ResourcesComponents.class);
    panel12 = new JPanel();
    label3 = new JLabel();
    resourcesDateBegin2 =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(ResourcesComponents.PROPERTYNAME_PERSISTENT_ID));
    label_otherLevel = new JLabel();
    resourcesOtherLevel =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(ResourcesComponents.PROPERTYNAME_OTHER_LEVEL), false);
    label_resourcesTitle = new JLabel();
    scrollPane42 = new JScrollPane();
    resourcesTitle =
        ATBasicComponentFactory.createTextArea(
            detailsModel.getModel(ArchDescription.PROPERTYNAME_TITLE), false);
    tagApplicatorPanel = new JPanel();
    insertInlineTag =
        ATBasicComponentFactory.createUnboundComboBox(
            InLineTagsUtils.getInLineTagList(InLineTagsUtils.TITLE));
    label_repositoryName4 = new JLabel();
    scrollPane8 = new JScrollPane();
    dateTable = new DomainSortableTable(ArchDescriptionDates.class);
    panel22 = new JPanel();
    addDate = new JButton();
    removeDate = new JButton();
    panel9 = new JPanel();
    label_resourcesLanguageCode2 = new JLabel();
    resourcesLanguageCode =
        ATBasicComponentFactory.createComboBox(
            detailsModel,
            ResourcesComponents.PROPERTYNAME_LANGUAGE_CODE,
            ResourcesComponents.class);
    panel23 = new JPanel();
    label_resourcesLanguageNote2 = new JLabel();
    scrollPane423 = new JScrollPane();
    resourcesLanguageNote =
        ATBasicComponentFactory.createTextArea(
            detailsModel.getModel(ResourcesComponents.PROPERTYNAME_REPOSITORY_PROCESSING_NOTE),
            false);
    separator2 = new JSeparator();
    panel10 = new JPanel();
    panel1 = new JPanel();
    label_resourcesLevel2 = new JLabel();
    subdivisionIdentifier =
        ATBasicComponentFactory.createTextField(
            detailsModel.getModel(ResourcesComponents.PROPERTYNAME_UNIQUE_IDENTIFIER), false);
    label_repositoryName5 = new JLabel();
    scrollPane9 = new JScrollPane();
    physicalDescriptionsTable = new DomainSortableTable(ArchDescriptionPhysicalDescriptions.class);
    panel24 = new JPanel();
    addPhysicalDescription = new JButton();
    removePhysicalDescription = new JButton();
    panel2 = new JPanel();
    panel6 = new JPanel();
    label1 = new JLabel();
    scrollPane4 = new JScrollPane();
    instancesTable =
        new DomainSortableTable(
            ArchDescriptionInstances.class, ArchDescriptionInstances.PROPERTYNAME_INSTANCE_TYPE);
    panel13 = new JPanel();
    addInstanceButton = new JButton();
    removeInstanceButton = new JButton();
    panel4 = new JPanel();
    restrictionsApply2 =
        ATBasicComponentFactory.createCheckBox(
            detailsModel,
            ResourcesComponents.PROPERTYNAME_INTERNAL_ONLY,
            ResourcesComponents.class);
    resourcesRestrictionsApply =
        ATBasicComponentFactory.createCheckBox(
            detailsModel,
            ArchDescription.PROPERTYNAME_RESTRICTIONS_APPLY,
            ResourcesComponents.class);
    CellConstraints cc = new CellConstraints();

    // ======== this ========
    setBackground(new Color(200, 205, 232));
    setLayout(
        new FormLayout(
            new ColumnSpec[] {
              FormFactory.DEFAULT_COLSPEC,
              FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
              FormFactory.DEFAULT_COLSPEC,
              FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
              FormFactory.DEFAULT_COLSPEC
            },
            RowSpec.decodeSpecs("default")));

    // ======== panel7 ========
    {
      panel7.setOpaque(false);
      panel7.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
      panel7.setBorder(Borders.DLU2_BORDER);
      panel7.setLayout(
          new FormLayout(
              ColumnSpec.decodeSpecs("default:grow"),
              new RowSpec[] {
                new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
              }));

      // ======== panel3 ========
      {
        panel3.setOpaque(false);
        panel3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel3.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.MIN_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec(ColumnSpec.RIGHT, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                },
                new RowSpec[] {
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                  FormFactory.LINE_GAP_ROWSPEC,
                  FormFactory.DEFAULT_ROWSPEC
                }));

        // ---- label_resourcesLevel ----
        label_resourcesLevel.setText("Level");
        label_resourcesLevel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_resourcesLevel,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_LEVEL);
        panel3.add(
            label_resourcesLevel,
            cc.xywh(1, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));

        // ---- resourcesLevel ----
        resourcesLevel.setOpaque(false);
        resourcesLevel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        resourcesLevel.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                resourcesLevelActionPerformed();
              }
            });
        panel3.add(
            resourcesLevel, cc.xywh(3, 1, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));

        // ======== panel12 ========
        {
          panel12.setOpaque(false);
          panel12.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    FormFactory.DEFAULT_COLSPEC,
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    FormFactory.DEFAULT_COLSPEC
                  },
                  RowSpec.decodeSpecs("default")));

          // ---- label3 ----
          label3.setText("Persistent ID");
          label3.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          ATFieldInfo.assignLabelInfo(
              label3, ResourcesComponents.class, ResourcesComponents.PROPERTYNAME_PERSISTENT_ID);
          panel12.add(label3, cc.xy(1, 1));

          // ---- resourcesDateBegin2 ----
          resourcesDateBegin2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          resourcesDateBegin2.setEditable(false);
          resourcesDateBegin2.setOpaque(false);
          panel12.add(resourcesDateBegin2, cc.xy(3, 1));
        }
        panel3.add(panel12, cc.xy(5, 1));

        // ---- label_otherLevel ----
        label_otherLevel.setText("Other Level");
        label_otherLevel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_otherLevel,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_OTHER_LEVEL);
        panel3.add(
            label_otherLevel, cc.xywh(1, 3, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));

        // ---- resourcesOtherLevel ----
        resourcesOtherLevel.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel3.add(resourcesOtherLevel, cc.xywh(3, 3, 3, 1));

        // ---- label_resourcesTitle ----
        label_resourcesTitle.setText("Title");
        label_resourcesTitle.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_resourcesTitle,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_TITLE);
        panel3.add(label_resourcesTitle, cc.xywh(1, 5, 5, 1));

        // ======== scrollPane42 ========
        {
          scrollPane42.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
          scrollPane42.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

          // ---- resourcesTitle ----
          resourcesTitle.setRows(4);
          resourcesTitle.setLineWrap(true);
          resourcesTitle.setWrapStyleWord(true);
          resourcesTitle.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          scrollPane42.setViewportView(resourcesTitle);
        }
        panel3.add(scrollPane42, cc.xywh(1, 7, 5, 1));

        // ======== tagApplicatorPanel ========
        {
          tagApplicatorPanel.setOpaque(false);
          tagApplicatorPanel.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    FormFactory.DEFAULT_COLSPEC,
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    FormFactory.DEFAULT_COLSPEC,
                    FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                    FormFactory.DEFAULT_COLSPEC
                  },
                  RowSpec.decodeSpecs("default")));

          // ---- insertInlineTag ----
          insertInlineTag.setOpaque(false);
          insertInlineTag.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          insertInlineTag.addActionListener(
              new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                  insertInlineTagActionPerformed();
                }
              });
          tagApplicatorPanel.add(insertInlineTag, cc.xy(1, 1));
        }
        panel3.add(tagApplicatorPanel, cc.xywh(1, 9, 5, 1));
      }
      panel7.add(panel3, cc.xywh(1, 1, 1, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

      // ---- label_repositoryName4 ----
      label_repositoryName4.setText("Dates");
      label_repositoryName4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
      panel7.add(label_repositoryName4, cc.xy(1, 3));

      // ======== scrollPane8 ========
      {
        scrollPane8.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        scrollPane8.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        scrollPane8.setPreferredSize(new Dimension(200, 104));

        // ---- dateTable ----
        dateTable.setPreferredScrollableViewportSize(new Dimension(200, 100));
        dateTable.addMouseListener(
            new MouseAdapter() {
              @Override
              public void mouseClicked(MouseEvent e) {
                dateTableMouseClicked(e);
              }
            });
        scrollPane8.setViewportView(dateTable);
      }
      panel7.add(scrollPane8, cc.xywh(1, 5, 1, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

      // ======== panel22 ========
      {
        panel22.setBackground(new Color(231, 188, 251));
        panel22.setOpaque(false);
        panel22.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel22.setMinimumSize(new Dimension(100, 29));
        panel22.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC
                },
                RowSpec.decodeSpecs("default")));

        // ---- addDate ----
        addDate.setText("Add Date");
        addDate.setOpaque(false);
        addDate.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        addDate.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                addDateActionPerformed(e);
              }
            });
        panel22.add(addDate, cc.xy(1, 1));

        // ---- removeDate ----
        removeDate.setText("Remove Date");
        removeDate.setOpaque(false);
        removeDate.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        removeDate.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                removeDateActionPerformed(e);
              }
            });
        panel22.add(removeDate, cc.xy(3, 1));
      }
      panel7.add(panel22, cc.xywh(1, 7, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

      // ======== panel9 ========
      {
        panel9.setOpaque(false);
        panel9.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec("left:min(default;200px)")
                },
                RowSpec.decodeSpecs("default")));

        // ---- label_resourcesLanguageCode2 ----
        label_resourcesLanguageCode2.setText("Lanaguage");
        label_resourcesLanguageCode2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_resourcesLanguageCode2,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_LANGUAGE_CODE);
        panel9.add(label_resourcesLanguageCode2, cc.xy(1, 1));

        // ---- resourcesLanguageCode ----
        resourcesLanguageCode.setMaximumSize(new Dimension(150, 32767));
        resourcesLanguageCode.setOpaque(false);
        resourcesLanguageCode.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel9.add(
            resourcesLanguageCode,
            cc.xywh(3, 1, 1, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));
      }
      panel7.add(panel9, cc.xy(1, 9));

      // ======== panel23 ========
      {
        panel23.setOpaque(false);
        panel23.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel23.setLayout(
            new FormLayout(
                ColumnSpec.decodeSpecs("default:grow"),
                new RowSpec[] {
                  FormFactory.DEFAULT_ROWSPEC,
                  FormFactory.LINE_GAP_ROWSPEC,
                  new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                }));

        // ---- label_resourcesLanguageNote2 ----
        label_resourcesLanguageNote2.setText("Repository Processing Note");
        label_resourcesLanguageNote2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_resourcesLanguageNote2,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_REPOSITORY_PROCESSING_NOTE);
        panel23.add(
            label_resourcesLanguageNote2,
            new CellConstraints(
                1,
                1,
                1,
                1,
                CellConstraints.DEFAULT,
                CellConstraints.DEFAULT,
                new Insets(0, 10, 0, 0)));

        // ======== scrollPane423 ========
        {
          scrollPane423.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
          scrollPane423.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

          // ---- resourcesLanguageNote ----
          resourcesLanguageNote.setRows(4);
          resourcesLanguageNote.setWrapStyleWord(true);
          resourcesLanguageNote.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          scrollPane423.setViewportView(resourcesLanguageNote);
        }
        panel23.add(
            scrollPane423,
            new CellConstraints(
                1,
                3,
                1,
                1,
                CellConstraints.DEFAULT,
                CellConstraints.DEFAULT,
                new Insets(0, 10, 0, 0)));
      }
      panel7.add(panel23, cc.xy(1, 11));
    }
    add(panel7, cc.xywh(1, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));

    // ---- separator2 ----
    separator2.setForeground(new Color(147, 131, 86));
    separator2.setOrientation(SwingConstants.VERTICAL);
    add(separator2, cc.xywh(3, 1, 1, 1, CellConstraints.FILL, CellConstraints.FILL));

    // ======== panel10 ========
    {
      panel10.setOpaque(false);
      panel10.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
      panel10.setBorder(Borders.DLU2_BORDER);
      panel10.setLayout(
          new FormLayout(
              ColumnSpec.decodeSpecs("default:grow"),
              new RowSpec[] {
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC,
                FormFactory.LINE_GAP_ROWSPEC,
                new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.NO_GROW),
                FormFactory.LINE_GAP_ROWSPEC,
                new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                FormFactory.LINE_GAP_ROWSPEC,
                FormFactory.DEFAULT_ROWSPEC
              }));

      // ======== panel1 ========
      {
        panel1.setOpaque(false);
        panel1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel1.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                },
                RowSpec.decodeSpecs("default")));

        // ---- label_resourcesLevel2 ----
        label_resourcesLevel2.setText("Component Unique Identifier");
        label_resourcesLevel2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        ATFieldInfo.assignLabelInfo(
            label_resourcesLevel2,
            ResourcesComponents.class,
            ResourcesComponents.PROPERTYNAME_UNIQUE_IDENTIFIER);
        panel1.add(
            label_resourcesLevel2,
            cc.xywh(1, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));

        // ---- subdivisionIdentifier ----
        subdivisionIdentifier.setColumns(5);
        subdivisionIdentifier.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel1.add(
            subdivisionIdentifier,
            cc.xywh(3, 1, 1, 1, CellConstraints.FILL, CellConstraints.DEFAULT));
      }
      panel10.add(panel1, cc.xy(1, 1));

      // ---- label_repositoryName5 ----
      label_repositoryName5.setText("Physical Description");
      label_repositoryName5.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
      panel10.add(label_repositoryName5, cc.xy(1, 3));

      // ======== scrollPane9 ========
      {
        scrollPane9.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
        scrollPane9.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        scrollPane9.setPreferredSize(new Dimension(200, 104));

        // ---- physicalDescriptionsTable ----
        physicalDescriptionsTable.setPreferredScrollableViewportSize(new Dimension(200, 100));
        physicalDescriptionsTable.addMouseListener(
            new MouseAdapter() {
              @Override
              public void mouseClicked(MouseEvent e) {
                physicalDescriptionMouseClicked(e);
              }
            });
        scrollPane9.setViewportView(physicalDescriptionsTable);
      }
      panel10.add(scrollPane9, cc.xywh(1, 5, 1, 1, CellConstraints.DEFAULT, CellConstraints.FILL));

      // ======== panel24 ========
      {
        panel24.setBackground(new Color(231, 188, 251));
        panel24.setOpaque(false);
        panel24.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel24.setMinimumSize(new Dimension(100, 29));
        panel24.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC
                },
                RowSpec.decodeSpecs("default")));

        // ---- addPhysicalDescription ----
        addPhysicalDescription.setText("Add Description");
        addPhysicalDescription.setOpaque(false);
        addPhysicalDescription.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        addPhysicalDescription.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                addPhysicalDescriptionActionPerformed();
              }
            });
        panel24.add(addPhysicalDescription, cc.xy(1, 1));

        // ---- removePhysicalDescription ----
        removePhysicalDescription.setText("Remove Description");
        removePhysicalDescription.setOpaque(false);
        removePhysicalDescription.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        removePhysicalDescription.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                removePhysicalDescriptionActionPerformed();
              }
            });
        panel24.add(removePhysicalDescription, cc.xy(3, 1));
      }
      panel10.add(panel24, cc.xywh(1, 7, 1, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));

      // ======== panel2 ========
      {
        panel2.setBackground(new Color(182, 187, 212));
        panel2.setBorder(new BevelBorder(BevelBorder.LOWERED));
        panel2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        panel2.setLayout(new FormLayout("default:grow", "fill:default:grow"));

        // ======== panel6 ========
        {
          panel6.setOpaque(false);
          panel6.setBorder(Borders.DLU2_BORDER);
          panel6.setLayout(
              new FormLayout(
                  new ColumnSpec[] {
                    FormFactory.RELATED_GAP_COLSPEC,
                    new ColumnSpec(ColumnSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW)
                  },
                  new RowSpec[] {
                    FormFactory.DEFAULT_ROWSPEC,
                    FormFactory.LINE_GAP_ROWSPEC,
                    new RowSpec(RowSpec.FILL, Sizes.DEFAULT, FormSpec.DEFAULT_GROW),
                    FormFactory.LINE_GAP_ROWSPEC,
                    FormFactory.DEFAULT_ROWSPEC
                  }));

          // ---- label1 ----
          label1.setText("Instances");
          label1.setForeground(new Color(0, 0, 102));
          label1.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
          ATFieldInfo.assignLabelInfo(
              label1, ResourcesComponents.class, ResourcesComponents.PROPERTYNAME_INSTANCES);
          panel6.add(label1, cc.xywh(1, 1, 2, 1));

          // ======== scrollPane4 ========
          {
            scrollPane4.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
            scrollPane4.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));

            // ---- instancesTable ----
            instancesTable.setPreferredScrollableViewportSize(new Dimension(200, 75));
            instancesTable.setRowHeight(20);
            instancesTable.addMouseListener(
                new MouseAdapter() {
                  @Override
                  public void mouseClicked(MouseEvent e) {
                    instancesTableMouseClicked(e);
                  }
                });
            scrollPane4.setViewportView(instancesTable);
          }
          panel6.add(scrollPane4, cc.xy(2, 3));

          // ======== panel13 ========
          {
            panel13.setBackground(new Color(231, 188, 251));
            panel13.setOpaque(false);
            panel13.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            panel13.setLayout(
                new FormLayout(
                    new ColumnSpec[] {
                      FormFactory.DEFAULT_COLSPEC,
                      FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                      FormFactory.DEFAULT_COLSPEC
                    },
                    RowSpec.decodeSpecs("default")));

            // ---- addInstanceButton ----
            addInstanceButton.setBackground(new Color(231, 188, 251));
            addInstanceButton.setText("Add Instance");
            addInstanceButton.setOpaque(false);
            addInstanceButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            addInstanceButton.addActionListener(
                new ActionListener() {
                  public void actionPerformed(ActionEvent e) {
                    addInstanceButtonActionPerformed();
                  }
                });
            panel13.add(addInstanceButton, cc.xy(1, 1));

            // ---- removeInstanceButton ----
            removeInstanceButton.setBackground(new Color(231, 188, 251));
            removeInstanceButton.setText("Remove Instance");
            removeInstanceButton.setOpaque(false);
            removeInstanceButton.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
            removeInstanceButton.addActionListener(
                new ActionListener() {
                  public void actionPerformed(ActionEvent e) {
                    removeInstanceButtonActionPerformed();
                  }
                });
            panel13.add(removeInstanceButton, cc.xy(3, 1));
          }
          panel6.add(panel13, cc.xywh(1, 5, 2, 1, CellConstraints.CENTER, CellConstraints.DEFAULT));
        }
        panel2.add(panel6, cc.xy(1, 1));
      }
      panel10.add(panel2, cc.xy(1, 9));

      // ======== panel4 ========
      {
        panel4.setOpaque(false);
        panel4.setLayout(
            new FormLayout(
                new ColumnSpec[] {
                  FormFactory.DEFAULT_COLSPEC,
                  FormFactory.LABEL_COMPONENT_GAP_COLSPEC,
                  FormFactory.DEFAULT_COLSPEC
                },
                RowSpec.decodeSpecs("default")));

        // ---- restrictionsApply2 ----
        restrictionsApply2.setBackground(new Color(231, 188, 251));
        restrictionsApply2.setText("Internal Only");
        restrictionsApply2.setOpaque(false);
        restrictionsApply2.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        restrictionsApply2.setText(
            ATFieldInfo.getLabel(
                ResourcesComponents.class, ResourcesComponents.PROPERTYNAME_INTERNAL_ONLY));
        panel4.add(restrictionsApply2, cc.xy(1, 1));

        // ---- resourcesRestrictionsApply ----
        resourcesRestrictionsApply.setBackground(new Color(231, 188, 251));
        resourcesRestrictionsApply.setText("Restrictions Apply");
        resourcesRestrictionsApply.setOpaque(false);
        resourcesRestrictionsApply.setFont(new Font("Trebuchet MS", Font.PLAIN, 13));
        resourcesRestrictionsApply.setText(
            ATFieldInfo.getLabel(
                ResourcesComponents.class, ArchDescription.PROPERTYNAME_RESTRICTIONS_APPLY));
        panel4.add(resourcesRestrictionsApply, cc.xy(3, 1));
      }
      panel10.add(panel4, cc.xy(1, 11));
    }
    add(panel10, cc.xywh(5, 1, 1, 1, CellConstraints.FILL, CellConstraints.FILL));
    // JFormDesigner - End of component initialization  //GEN-END:initComponents
  }