Merge remote-tracking branch 'origin/GT-2370_dev747368_batchimport_language'

This commit is contained in:
Ryan Kurtz 2019-08-08 16:06:13 -04:00
commit 6da0d9340d
2 changed files with 28 additions and 1 deletions

View file

@ -156,6 +156,7 @@ public class BatchImportDialog extends DialogComponentProvider {
TableColumn langColumn =
table.getColumnModel().getColumn(BatchImportTableModel.COLS.LANG.ordinal());
langColumn.setCellEditor(createLangColumnCellEditor());
langColumn.setCellRenderer(createLangColumnCellRenderer());
JScrollPane scrollPane = new JScrollPane(table);
@ -478,7 +479,6 @@ public class BatchImportDialog extends DialogComponentProvider {
private TableCellRenderer createFilesColumnCellRenderer() {
TableCellRenderer cellRenderer = new GTableCellRenderer() {
@Override
public Component getTableCellRendererComponent(GTableCellRenderingData data) {
@ -524,6 +524,30 @@ public class BatchImportDialog extends DialogComponentProvider {
return cellEditor;
}
private TableCellRenderer createLangColumnCellRenderer() {
TableCellRenderer cellRenderer = new GTableCellRenderer() {
{
setHTMLRenderingEnabled(true);
}
@Override
public Component getTableCellRendererComponent(GTableCellRenderingData data) {
JLabel renderer = (JLabel) super.getTableCellRendererComponent(data);
renderer.setToolTipText("Click to set language");
return renderer;
}
@Override
protected String getText(Object value) {
BatchGroupLoadSpec bgls = (BatchGroupLoadSpec) value;
return (bgls != null) ? bgls.toString()
: "<html><font size=\"-2\" color=\"gray\">Click to set language</font>";
}
};
return cellRenderer;
}
private class SourcesListModel extends AbstractListModel<String> {
int prevSize = batchInfo.getUserAddedSources().size();

View file

@ -23,6 +23,7 @@ import javax.swing.table.TableModel;
import org.apache.commons.lang3.StringUtils;
import docking.widgets.table.AbstractSortedTableModel;
import ghidra.util.Msg;
/**
* An adapter between {@link BatchInfo} and a {@link TableModel}.
@ -140,6 +141,8 @@ class BatchImportTableModel extends AbstractSortedTableModel<BatchGroup> {
boolean newValue = (Boolean) aValue;
// dont allow enable unless there is a lang chosen
if (newValue == true && row.getSelectedBatchGroupLoadSpec() == null) {
Msg.showWarn(this, null, "Missing language",
"Select a language for this group before enabling");
return;
}