enable,disable remove, remove all, save, export buttons as needed in List and Import/Export feature

This commit is contained in:
adam-m 2012-01-19 11:08:02 -05:00
parent d097998e11
commit 118bcf2b40
3 changed files with 84 additions and 17 deletions

View File

@ -127,18 +127,31 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen
if (Integer.valueOf((Integer) evt.getNewValue()) == 0) {
exportButton.setEnabled(false);
} else if (Integer.valueOf((Integer) evt.getOldValue()) == 0) {
exportButton.setEnabled(true);
}
deleteButton.setEnabled(false);
}
//else if (Integer.valueOf((Integer) evt.getOldValue()) == 0) {
// exportButton.setEnabled(true);
//}
} else if (evt.getPropertyName().equals(KeywordSearchListsXML.ListsEvt.LIST_UPDATED.toString())) {
tableModel.resync((String) evt.getNewValue()); //changed list name
}
}
});
initButtons();
}
private void initButtons() {
if (tableModel.getSelectedLists().isEmpty()) {
deleteButton.setEnabled(false);
exportButton.setEnabled(false);
} else {
deleteButton.setEnabled(true);
exportButton.setEnabled(true);
}
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
@ -239,7 +252,7 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen
public void importButtonAction(java.awt.event.ActionEvent evt) {
importButtonActionPerformed(evt);
}
private void importButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_importButtonActionPerformed
final String FEATURE_NAME = "Keyword List Import";
@ -270,7 +283,7 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen
List<KeywordSearchList> toImportConfirmed = new ArrayList<KeywordSearchList>();
final KeywordSearchListsXML writer = KeywordSearchListsXML.getCurrent();
for (KeywordSearchList list : toImport) {
//check name collisions
if (writer.listExists(list.getName())) {
@ -286,7 +299,7 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen
options,
options[0]);
if (choice == JOptionPane.OK_OPTION) {
toImportConfirmed.add(list);
toImportConfirmed.add(list);
} else if (choice == JOptionPane.CANCEL_OPTION) {
break;
}
@ -297,14 +310,16 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen
}
}
if (toImportConfirmed.isEmpty())
if (toImportConfirmed.isEmpty()) {
return;
}
if (writer.writeLists(toImportConfirmed)) {
KeywordSearchUtil.displayDialog(FEATURE_NAME, "Keyword list imported", KeywordSearchUtil.DIALOG_MESSAGE_TYPE.INFO);
}
initButtons();
}
}//GEN-LAST:event_importButtonActionPerformed
@ -365,6 +380,7 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen
private void deleteButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteButtonActionPerformed
tableModel.deleteSelected();
initButtons();
}//GEN-LAST:event_deleteButtonActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JLabel curKeywordsLabel;
@ -429,7 +445,7 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen
filesIndexedValLabel.setText(Integer.toString(filesIndexed));
}
static class KeywordListTableModel extends AbstractTableModel {
private class KeywordListTableModel extends AbstractTableModel {
//data
private KeywordSearchListsXML listsHandle = KeywordSearchListsXML.getCurrent();
@ -511,6 +527,8 @@ public final class KeywordSearchListImportExportTopComponent extends TopComponen
entry = it.next();
}
entry.isActive = (Boolean) aValue;
initButtons();
}
}

View File

@ -38,7 +38,7 @@
<EmptySpace min="-2" pref="11" max="-2" attributes="0"/>
<Component id="curListNameLabel" min="-2" max="-2" attributes="0"/>
<EmptySpace max="-2" attributes="0"/>
<Component id="curListValLabel" pref="222" max="32767" attributes="0"/>
<Component id="curListValLabel" pref="296" max="32767" attributes="0"/>
</Group>
</Group>
<EmptySpace min="-2" pref="22" max="-2" attributes="0"/>

View File

@ -141,6 +141,25 @@ public final class KeywordSearchListTopComponent extends TopComponent implements
if (KeywordSearchListsXML.getCurrent().getNumberLists() == 0) {
loadListButton.setEnabled(false);
}
initButtons();
}
private void initButtons() {
//initialize remove buttons
if (getSelectedKeywords().isEmpty()) {
deleteWordButton.setEnabled(false);
} else {
deleteWordButton.setEnabled(true);
}
if (getAllKeywords().isEmpty()) {
deleteAllWordsButton.setEnabled(false);
saveListButton.setEnabled(false);
} else {
deleteAllWordsButton.setEnabled(true);
saveListButton.setEnabled(true);
}
}
private void loadDefaultKeywords() {
@ -386,7 +405,7 @@ public final class KeywordSearchListTopComponent extends TopComponent implements
}
String toAdd = null;
if (! chRegex.isSelected()) {
if (!chRegex.isSelected()) {
toAdd = newWordEscaped;
} else {
toAdd = newWord;
@ -411,6 +430,18 @@ public final class KeywordSearchListTopComponent extends TopComponent implements
tableModel.addKeyword(toAdd);
addWordField.setText("");
if (deleteWordButton.isEnabled() == false) {
if (!getSelectedKeywords().isEmpty()) {
deleteWordButton.setEnabled(true);
}
}
if (!getAllKeywords().isEmpty()) {
deleteAllWordsButton.setEnabled(true);
saveListButton.setEnabled(true);
}
}//GEN-LAST:event_addWordButtonActionPerformed
private void saveListButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_saveListButtonActionPerformed
@ -422,7 +453,7 @@ public final class KeywordSearchListTopComponent extends TopComponent implements
KeywordSearchUtil.displayDialog(FEATURE_NAME, "Keyword List is empty and cannot be saved", KeywordSearchUtil.DIALOG_MESSAGE_TYPE.INFO);
return;
}
String listName = (String) JOptionPane.showInputDialog(
null,
"New keyword list name:",
@ -434,7 +465,7 @@ public final class KeywordSearchListTopComponent extends TopComponent implements
if (listName == null || listName.trim().equals("")) {
return;
}
boolean shouldAdd = false;
if (writer.listExists(listName)) {
boolean replace = KeywordSearchUtil.displayConfirmDialog(FEATURE_NAME, "Keyword List <" + listName + "> already exists, do you want to replace it?",
@ -463,10 +494,24 @@ public final class KeywordSearchListTopComponent extends TopComponent implements
private void deleteWordButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteWordButtonActionPerformed
tableModel.deleteSelected();
if (getSelectedKeywords().isEmpty()) {
deleteWordButton.setEnabled(false);
}
if (getAllKeywords().isEmpty()) {
deleteAllWordsButton.setEnabled(false);
saveListButton.setEnabled(false);
}
}//GEN-LAST:event_deleteWordButtonActionPerformed
private void deleteAllWordsButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteAllWordsButtonActionPerformed
tableModel.deleteAll();
deleteWordButton.setEnabled(false);
deleteAllWordsButton.setEnabled(false);
saveListButton.setEnabled(false);
}//GEN-LAST:event_deleteAllWordsButtonActionPerformed
private void loadListButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_loadListButtonActionPerformed
@ -483,7 +528,7 @@ public final class KeywordSearchListTopComponent extends TopComponent implements
currentKeywordList = listName;
tableModel.resync(currentKeywordList);
curListValLabel.setText(listName);
initButtons();
KeywordSearchUtil.displayDialog(FEATURE_NAME, "Keyword List <" + listName + "> loaded", KeywordSearchUtil.DIALOG_MESSAGE_TYPE.INFO);
@ -496,9 +541,8 @@ public final class KeywordSearchListTopComponent extends TopComponent implements
if (lists != null) {
lists.importButtonAction(evt);
}
}//GEN-LAST:event_importButtonActionPerformed
}//GEN-LAST:event_importButtonActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton addWordButton;
private javax.swing.JTextField addWordField;
@ -722,7 +766,7 @@ public final class KeywordSearchListTopComponent extends TopComponent implements
return tableModel.keywordExists(keyword);
}
static class KeywordTableModel extends AbstractTableModel {
private class KeywordTableModel extends AbstractTableModel {
//data
private Set<TableEntry> keywordData = new TreeSet<TableEntry>();
@ -775,6 +819,11 @@ public final class KeywordSearchListTopComponent extends TopComponent implements
entry = it.next();
}
entry.isActive = (Boolean) aValue;
if (getSelectedKeywords().isEmpty()) {
deleteWordButton.setEnabled(false);
} else {
deleteWordButton.setEnabled(true);
}
}
}