mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-03 17:59:46 +02:00
Merge remote-tracking branch 'origin/GT-3142-dragonmacher-table-sort-duplication' into Ghidra_9.1
This commit is contained in:
commit
cb03588e52
6 changed files with 24 additions and 5 deletions
|
@ -51,6 +51,11 @@ public class CombinedTableFilter<T> implements TableFilter<T> {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isEmpty() {
|
||||||
|
return filters.isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the number of sub-filters in this combined filter.
|
* Returns the number of sub-filters in this combined filter.
|
||||||
*
|
*
|
||||||
|
|
|
@ -48,4 +48,13 @@ public interface TableFilter<ROW_OBJECT> {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A method that allows filters to report that they have nothing to actually filter. This
|
||||||
|
* is useful for empty/null filters.
|
||||||
|
*
|
||||||
|
* @return true if this filter will not perform any filtering
|
||||||
|
*/
|
||||||
|
public default boolean isEmpty() {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,11 @@ public class NullTableFilter<ROW_OBJECT> implements TableFilter<ROW_OBJECT> {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isEmpty() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(Object obj) {
|
public boolean equals(Object obj) {
|
||||||
if (this == obj) {
|
if (this == obj) {
|
||||||
|
|
|
@ -26,7 +26,7 @@ import ghidra.util.SystemUtilities;
|
||||||
* encapsulates the actual data, along with any filter applied, any sort applied, along with
|
* encapsulates the actual data, along with any filter applied, any sort applied, along with
|
||||||
* some convenience methods for performing operations on this group of data.
|
* some convenience methods for performing operations on this group of data.
|
||||||
*
|
*
|
||||||
* @param <ROW_OBJECT>
|
* @param <ROW_OBJECT> the row type
|
||||||
*/
|
*/
|
||||||
public class TableData<ROW_OBJECT> implements Iterable<ROW_OBJECT> {
|
public class TableData<ROW_OBJECT> implements Iterable<ROW_OBJECT> {
|
||||||
|
|
||||||
|
|
|
@ -322,7 +322,7 @@ public class TableUpdateJob<T> {
|
||||||
/**
|
/**
|
||||||
* Calls the appropriate method to process the given state.
|
* Calls the appropriate method to process the given state.
|
||||||
* @param state the state to process.
|
* @param state the state to process.
|
||||||
* @throws CancelledException
|
* @throws CancelledException if the job was cancelled
|
||||||
*/
|
*/
|
||||||
private void processState(JobState state) throws CancelledException {
|
private void processState(JobState state) throws CancelledException {
|
||||||
switch (state) {
|
switch (state) {
|
||||||
|
|
|
@ -162,7 +162,7 @@ public abstract class ThreadedTableModel<ROW_OBJECT, DATA_SOURCE>
|
||||||
*
|
*
|
||||||
* @param monitor the monitor
|
* @param monitor the monitor
|
||||||
* @return the loaded data
|
* @return the loaded data
|
||||||
* @throws CancelledException
|
* @throws CancelledException if the load was cancelled
|
||||||
*/
|
*/
|
||||||
final List<ROW_OBJECT> load(TaskMonitor monitor) throws CancelledException {
|
final List<ROW_OBJECT> load(TaskMonitor monitor) throws CancelledException {
|
||||||
if (loadIncrementally) {
|
if (loadIncrementally) {
|
||||||
|
@ -371,7 +371,7 @@ public abstract class ThreadedTableModel<ROW_OBJECT, DATA_SOURCE>
|
||||||
*/
|
*/
|
||||||
public boolean hasFitler() {
|
public boolean hasFitler() {
|
||||||
TableFilter<ROW_OBJECT> currentFilter = getTableFilter();
|
TableFilter<ROW_OBJECT> currentFilter = getTableFilter();
|
||||||
return !(currentFilter instanceof NullTableFilter);
|
return !currentFilter.isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -772,7 +772,7 @@ public abstract class ThreadedTableModel<ROW_OBJECT, DATA_SOURCE>
|
||||||
* Adds a listener that will be notified of the first table load of this model. After the
|
* Adds a listener that will be notified of the first table load of this model. After the
|
||||||
* initial load, the listener is removed.
|
* initial load, the listener is removed.
|
||||||
*
|
*
|
||||||
* @param listener
|
* @param listener the listener
|
||||||
*/
|
*/
|
||||||
public void addInitialLoadListener(ThreadedTableModelListener listener) {
|
public void addInitialLoadListener(ThreadedTableModelListener listener) {
|
||||||
listeners.add(new OneTimeListenerWrapper(listener));
|
listeners.add(new OneTimeListenerWrapper(listener));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue