Merge remote-tracking branch 'origin/GP-0-dragonmacher-table-row-height-fix'

This commit is contained in:
Ryan Kurtz 2025-08-26 05:20:11 -04:00
commit 4e6d7b1650

View file

@ -126,7 +126,7 @@ public class GTable extends JTable {
private Integer visibleRowCount; private Integer visibleRowCount;
private int userDefinedRowHeight; private int userDefinedRowHeight;
private TableModelListener rowHeightListener = e -> adjustRowHeight(); private TableModelListener rowHeightListener;
private TableColumnModelListener tableColumnModelListener = null; private TableColumnModelListener tableColumnModelListener = null;
private final Map<Integer, GTableCellRenderingData> columnRenderingDataMap = new HashMap<>(); private final Map<Integer, GTableCellRenderingData> columnRenderingDataMap = new HashMap<>();
@ -521,6 +521,14 @@ public class GTable extends JTable {
} }
private void initializeRowHeight() { private void initializeRowHeight() {
// Note: this method gets called indirectly from the parent constructor, so we cannot
// initialize this field at declaration time or in our constructor, as this call will have
// happened at that point.
if (rowHeightListener == null) {
rowHeightListener = e -> adjustRowHeight();
}
ConfigurableColumnTableModel configurableModel = getConfigurableColumnTableModel(); ConfigurableColumnTableModel configurableModel = getConfigurableColumnTableModel();
if (configurableModel != null) { if (configurableModel != null) {
configurableModel.removeTableModelListener(rowHeightListener); configurableModel.removeTableModelListener(rowHeightListener);
@ -1091,16 +1099,17 @@ public class GTable extends JTable {
return; return;
} }
SettingsDefinition[] settings = SettingsDefinition[] settingDefs =
configurableModel.getColumnSettingsDefinitions(lastPopupColumnIndex); configurableModel.getColumnSettingsDefinitions(lastPopupColumnIndex);
if (settings.length == 0) { if (settingDefs.length == 0) {
return; return;
} }
SettingsDialog dialog = new SettingsDialog(null); SettingsDialog dialog = new SettingsDialog(null);
dialog.show(GTable.this, String title = configurableModel.getColumnName(lastPopupColumnIndex) + " Settings";
configurableModel.getColumnName(lastPopupColumnIndex) + " Settings", settings, Settings settings = configurableModel.getColumnSettings(lastPopupColumnIndex);
configurableModel.getColumnSettings(lastPopupColumnIndex)); dialog.show(GTable.this, title, settingDefs, settings);
((GTableColumnModel) getColumnModel()).saveState(); ((GTableColumnModel) getColumnModel()).saveState();
}); });
DockingWindowManager.getHelpService().registerHelp(item, helpLocation); DockingWindowManager.getHelpService().registerHelp(item, helpLocation);