/**
   * setDataIn
   *
   * @param title
   * @param atributos
   */
  public void setDataIn(String title, List<Atributo> atributos) {
    int condCount = 0;

    String stmp = null;
    String name = null;
    String value = null;

    Atributo atributo = null;
    for (int i = 0; i < atributos.size(); i++) {
      atributo = (Atributo) atributos.get(i);
      if (atributo == null) continue;
      name = atributo.getNome();
      if (name != null
          && name.length() >= varNames[1].length()
          && name.substring(0, varNames[1].length()).equals(varNames[1])) {
        condCount++;
      }
    }

    int nNumCols = columnNames.length;

    data = new Object[condCount][nNumCols];
    HashMap<String, String> hmTypes = new HashMap<String, String>();
    HashMap<String, String> hmCond = new HashMap<String, String>();
    HashMap<String, String> hmDestVar = new HashMap<String, String>();
    HashMap<String, String> hmProf = new HashMap<String, String>();
    HashMap<String, String> hmMsgs = new HashMap<String, String>();
    HashMap<String, String> hmOper = new HashMap<String, String>();
    HashMap<String, String> hmVals = new HashMap<String, String>();
    HashMap<String, String> hmCase = new HashMap<String, String>();

    for (int i = 0; i < atributos.size(); i++) {
      name = ((Atributo) atributos.get(i)).getNome();
      value = ((Atributo) atributos.get(i)).getValor();

      if (name.length() >= varNames[0].length()
          && name.substring(0, varNames[0].length()).equals(varNames[0])) {
        hmTypes.put(name, value);
      } else if (name.length() >= varNames[1].length()
          && name.substring(0, varNames[1].length()).equals(varNames[1])) {
        hmCond.put(name, value);
      } else if (name.length() >= varNames[2].length()
          && name.substring(0, varNames[2].length()).equals(varNames[2])) {
        if (value == null) value = "";
        hmDestVar.put(name, value);
      } else if (name.length() >= varNames[3].length()
          && name.substring(0, varNames[3].length()).equals(varNames[3])) {
        if (value == null) value = "";
        hmProf.put(name, value);
      } else if (name.length() >= varNames[4].length()
          && name.substring(0, varNames[4].length()).equals(varNames[4])) {
        if (value == null) value = "";
        hmMsgs.put(name, value);
      } else if (name.length() >= varNames[5].length()
          && name.substring(0, varNames[5].length()).equals(varNames[5])) {
        if (value == null) value = "";
        hmOper.put(name, value);
      } else if (name.length() >= varNames[6].length()
          && name.substring(0, varNames[6].length()).equals(varNames[6])) {
        if (value == null) value = "";
        hmVals.put(name, value);
      } else if (name.length() >= varNames[7].length()
          && name.substring(0, varNames[7].length()).equals(varNames[7])) {
        if (value == null) value = "";
        hmCase.put(name, value);
      }
    }

    for (int i = 0; i < condCount; i++) {
      data[i][0] = new JComboBox(saTYPES);
      stmp = (String) hmTypes.get(varNames[0] + i);
      if (stmp == null || stmp.equals("")) {
        // default type value
        hmTypes.put(varNames[0] + i, saTYPES[0]);
      }
      ((JComboBox) data[i][0]).setSelectedItem(hmTypes.get(varNames[0] + i));
      data[i][1] = (String) hmCond.get(varNames[1] + i);
      data[i][2] = (String) hmDestVar.get(varNames[2] + i);
      data[i][3] = new JComboBox(saFETCH_MODES);
      ((JComboBox) data[i][3]).setSelectedItem(hmProf.get(varNames[3] + i));
      data[i][4] = new JComboBox(saSEARCH_MODES);
      ((JComboBox) data[i][4]).setSelectedItem(hmMsgs.get(varNames[4] + i));
      data[i][5] = (String) hmOper.get(varNames[5] + i);
      data[i][6] = (String) hmVals.get(varNames[6] + i);
      data[i][7] = new JComboBox(saCASE_MODES);
      ((JComboBox) data[i][7]).setSelectedItem(hmCase.get(varNames[7] + i));

      if (data[i][2] == null) data[i][2] = "";
      if (data[i][5] == null) data[i][5] = "";
      if (data[i][6] == null) data[i][6] = "";
    }

    jTable1 = new MyJTableX(data, columnNames);

    jTable1.setModel(new MyTableModel(columnNames, data));

    jTable1.setRowSelectionAllowed(true);
    jTable1.setColumnSelectionAllowed(false);

    jTable1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

    MyColumnEditorModel rm = new MyColumnEditorModel();
    jTable1.setMyColumnEditorModel(rm);

    JComboBox jcb0 = new JComboBox(saTYPES);
    DefaultCellEditor ed0 = new DefaultCellEditor(jcb0);
    rm.addEditorForColumn(0, ed0);

    JTextField jtf1 = new JTextField();
    jtf1.setSelectionColor(Color.red);
    jtf1.setSelectedTextColor(Color.white);
    DefaultCellEditor cce = new DefaultCellEditor(jtf1);
    cce.setClickCountToStart(2);
    rm.addEditorForColumn(1, cce);

    JTextField jtf1_2 = new JTextField();
    jtf1_2.setSelectionColor(Color.red);
    jtf1_2.setSelectedTextColor(Color.white);
    DefaultCellEditor mce1_2 = new DefaultCellEditor(jtf1_2);
    mce1_2.setClickCountToStart(2);
    rm.addEditorForColumn(2, mce1_2);

    JComboBox jcb1 = new JComboBox(saFETCH_MODES);
    DefaultCellEditor ed = new DefaultCellEditor(jcb1);
    rm.addEditorForColumn(3, ed);

    JComboBox jcb2 = new JComboBox(saSEARCH_MODES);
    DefaultCellEditor ed2 = new DefaultCellEditor(jcb2);
    rm.addEditorForColumn(4, ed2);

    JTextField jtf3 = new JTextField();
    jtf3.setSelectionColor(Color.red);
    jtf3.setSelectedTextColor(Color.white);
    DefaultCellEditor mce3 = new DefaultCellEditor(jtf3);
    mce3.setClickCountToStart(2);
    rm.addEditorForColumn(5, mce3);

    JTextField jtf4 = new JTextField();
    jtf4.setSelectionColor(Color.red);
    jtf4.setSelectedTextColor(Color.white);
    DefaultCellEditor mce4 = new DefaultCellEditor(jtf4);
    mce4.setClickCountToStart(2);
    rm.addEditorForColumn(6, mce4);

    JComboBox jcb3 = new JComboBox(saCASE_MODES);
    DefaultCellEditor ed3 = new DefaultCellEditor(jcb3);
    rm.addEditorForColumn(7, ed3);

    try {
      jbInit();
      pack();
    } catch (Exception ex) {
      adapter.log("error", ex);
    }

    this.setSize(800, 250);
    setVisible(true);
  }