mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 19:42:36 +02:00
Fixed table dispose not accounting for a wrapped model; Fixed missing
dispose calls of GTableFilterPanel
This commit is contained in:
parent
f69546e508
commit
8be90db260
19 changed files with 111 additions and 78 deletions
|
@ -21,14 +21,12 @@ import java.awt.event.MouseEvent;
|
|||
import java.util.*;
|
||||
|
||||
import javax.swing.BorderFactory;
|
||||
import javax.swing.JTable;
|
||||
import javax.swing.table.TableColumn;
|
||||
import javax.swing.table.TableColumnModel;
|
||||
|
||||
import docking.ActionContext;
|
||||
import docking.DialogComponentProvider;
|
||||
import docking.widgets.table.GTableCellRenderer;
|
||||
import docking.widgets.table.GTableCellRenderingData;
|
||||
import docking.widgets.table.*;
|
||||
import docking.widgets.table.threaded.GThreadedTablePanel;
|
||||
import docking.widgets.table.threaded.ThreadedTableModelListener;
|
||||
import ghidra.framework.main.datatable.ProjectDataContext;
|
||||
|
@ -46,7 +44,7 @@ public class FindCheckoutsDialog extends DialogComponentProvider {
|
|||
private FindCheckoutsTableModel model;
|
||||
private Plugin plugin;
|
||||
private DomainFolder folder;
|
||||
private JTable table;
|
||||
private GTable table;
|
||||
private boolean showMessage = true;
|
||||
private GThreadedTablePanel<CheckoutInfo> threadedTablePanel;
|
||||
|
||||
|
@ -123,7 +121,7 @@ public class FindCheckoutsDialog extends DialogComponentProvider {
|
|||
@Override
|
||||
public void close() {
|
||||
super.close();
|
||||
model.dispose();
|
||||
threadedTablePanel.dispose();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -99,8 +99,6 @@ public class KeyBindingsPanel extends JPanel {
|
|||
|
||||
public void dispose() {
|
||||
tableFilterPanel.dispose();
|
||||
tableModel.dispose();
|
||||
actionTable.dispose();
|
||||
propertyChangeListener = null;
|
||||
}
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@ public class PluginInstallerDialog extends DialogComponentProvider {
|
|||
|
||||
@Override
|
||||
protected void dialogShown() {
|
||||
// users often wish to start typing in the filter when the dialog appeears
|
||||
// users often wish to start typing in the filter when the dialog appears
|
||||
tableFilterPanel.requestFocus();
|
||||
}
|
||||
|
||||
|
@ -84,7 +84,6 @@ public class PluginInstallerDialog extends DialogComponentProvider {
|
|||
public void close() {
|
||||
super.close();
|
||||
tableFilterPanel.dispose();
|
||||
table.dispose();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -173,10 +172,14 @@ public class PluginInstallerDialog extends DialogComponentProvider {
|
|||
TableSortState.createDefaultSortState(PluginInstallerTableModel.NAME_COL));
|
||||
tableModel.refresh();
|
||||
|
||||
table.getColumnModel().getColumn(PluginInstallerTableModel.NAME_COL).setCellRenderer(
|
||||
new NameCellRenderer());
|
||||
table.getColumnModel().getColumn(PluginInstallerTableModel.STATUS_COL).setCellRenderer(
|
||||
new StatusCellRenderer());
|
||||
table.getColumnModel()
|
||||
.getColumn(PluginInstallerTableModel.NAME_COL)
|
||||
.setCellRenderer(
|
||||
new NameCellRenderer());
|
||||
table.getColumnModel()
|
||||
.getColumn(PluginInstallerTableModel.STATUS_COL)
|
||||
.setCellRenderer(
|
||||
new StatusCellRenderer());
|
||||
|
||||
HelpService help = Help.getHelpService();
|
||||
help.registerHelp(table, new HelpLocation(GenericHelpTopics.TOOL, "PluginDialog"));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue