((DefaultListModel) getModel()).addElement(checkBox);
}
- public void updateItem(@NotNull T oldItem, @NotNull T newItem) {
+ public void updateItem(@NotNull T oldItem, @NotNull T newItem, @NotNull String newText) {
JCheckBox checkBox = myItemMap.remove(oldItem);
myItemMap.put(newItem, checkBox);
+ checkBox.setText(newText);
+ DefaultListModel model = (DefaultListModel)getModel();
+ int ind = model.indexOf(checkBox);
+ if (ind >= 0) {
+ model.set(ind, checkBox); // to fire contentsChanged event
+ }
}
@Nullable
import com.intellij.ide.IdeBundle;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.util.Pair;
+import com.intellij.openapi.util.text.StringUtil;
import com.intellij.ui.AnActionButton;
import com.intellij.ui.AnActionButtonRunnable;
import com.intellij.ui.CheckBoxList;
if (item != null) {
T newItem = consumer.fun(item);
if (newItem != null) {
- list.updateItem(item, newItem);
+ list.updateItem(item, newItem, StringUtil.notNullize(toNameConverter.fun(newItem)));
}
- list.repaint();
list.requestFocus();
}
}