public void editMacro() {
    if (getSelectedRowCount() != 1) {
      return;
    }
    final int selectedRow = getSelectedRow();
    final Couple<String> pair = myMacros.get(selectedRow);
    final String title = ApplicationBundle.message("title.edit.variable");
    final String macroName = pair.getFirst();
    final PathMacroEditor macroEditor = new PathMacroEditor(title, macroName, pair.getSecond(), new EditValidator());
    if (macroEditor.showAndGet()) {
      myMacros.remove(selectedRow);
      myMacros.add(Couple.of(macroEditor.getName(), macroEditor.getValue()));
      myMacros.sort(MACRO_COMPARATOR);
      myTableModel.fireTableDataChanged();
    }
  }
public void editMacro()