| 621 | } |
| 622 | |
| 623 | private static class DomainTableModel extends FilteredListFacadeTableModel<QualifiedObject<Domain>> |
| 624 | { |
| 625 | |
| 626 | private final ListListener<QualifiedObject<Domain>> listListener = new ListListener<>() |
| 627 | { |
| 628 | @Override |
| 629 | public void elementAdded(ListEvent<QualifiedObject<Domain>> e) |
| 630 | { |
| 631 | elementsChanged(e); |
| 632 | } |
| 633 | |
| 634 | @Override |
| 635 | public void elementRemoved(ListEvent<QualifiedObject<Domain>> e) |
| 636 | { |
| 637 | elementsChanged(e); |
| 638 | } |
| 639 | |
| 640 | @Override |
| 641 | public void elementsChanged(ListEvent<QualifiedObject<Domain>> e) |
| 642 | { |
| 643 | fireTableRowsUpdated(0, sortedList.getSize() - 1); |
| 644 | } |
| 645 | |
| 646 | @Override |
| 647 | public void elementModified(ListEvent<QualifiedObject<Domain>> e) |
| 648 | { |
| 649 | } |
| 650 | |
| 651 | }; |
| 652 | |
| 653 | public DomainTableModel(CharacterFacade character) |
| 654 | { |
| 655 | super(character); |
| 656 | if (character.isFeatureEnabled(CControl.DOMAINFEATURE)) |
| 657 | { |
| 658 | setDelegate(character.getAvailableDomains()); |
| 659 | character.getDomains().addListListener(listListener); |
| 660 | } |
| 661 | } |
| 662 | |
| 663 | @Override |
| 664 | public Class<?> getColumnClass(int columnIndex) |
| 665 | { |
| 666 | if (columnIndex == -1) |
| 667 | { |
| 668 | return Boolean.class; |
| 669 | } |
| 670 | return super.getColumnClass(columnIndex); |
| 671 | } |
| 672 | |
| 673 | @Override |
| 674 | protected Object getValueAt(QualifiedObject<Domain> element, int column) |
| 675 | { |
| 676 | return switch (column) |
| 677 | { |
| 678 | case -1 -> character.getDomains().containsElement(element); |
| 679 | case 0 -> element; |
| 680 | case 1 -> character.getInfoFactory().getDescription(element.getRawObject()); |
nothing calls this directly
no outgoing calls
no test coverage detected