This component allows the user to manage a character's templates.
| 66 | * This component allows the user to manage a character's templates. |
| 67 | */ |
| 68 | public class TemplateInfoTab extends FlippingSplitPane implements CharacterInfoTab |
| 69 | { |
| 70 | |
| 71 | private final TabTitle tabTitle = new TabTitle(Tab.TEMPLATES); |
| 72 | private final FilteredTreeViewTable<CharacterFacade, PCTemplate> availableTable; |
| 73 | private final FilteredTreeViewTable<CharacterFacade, PCTemplate> selectedTable; |
| 74 | private final JButton addButton; |
| 75 | private final JButton removeButton; |
| 76 | private final InfoPane infoPane; |
| 77 | private final FilterButton<CharacterFacade, PCTemplate> qFilterButton; |
| 78 | private final QualifiedTreeCellRenderer qualifiedRenderer; |
| 79 | |
| 80 | public TemplateInfoTab() |
| 81 | { |
| 82 | this.availableTable = new FilteredTreeViewTable<>(); |
| 83 | this.selectedTable = new FilteredTreeViewTable<>(); |
| 84 | this.addButton = new JButton(); |
| 85 | this.removeButton = new JButton(); |
| 86 | this.infoPane = new InfoPane("in_irTemplateInfo"); //$NON-NLS-1$ |
| 87 | this.qFilterButton = new FilterButton<>("TemplateQualified"); |
| 88 | this.qualifiedRenderer = new QualifiedTreeCellRenderer(); |
| 89 | initComponents(); |
| 90 | } |
| 91 | |
| 92 | private void initComponents() |
| 93 | { |
| 94 | FlippingSplitPane topPane = new FlippingSplitPane(); |
| 95 | setTopComponent(topPane); |
| 96 | setOrientation(VERTICAL_SPLIT); |
| 97 | |
| 98 | JPanel availPanel = new JPanel(new BorderLayout()); |
| 99 | FilterBar<CharacterFacade, PCTemplate> bar = new FilterBar<>(); |
| 100 | bar.addDisplayableFilter(new SearchFilterPanel()); |
| 101 | qFilterButton.setText(LanguageBundle.getString("in_igQualFilter")); //$NON-NLS-1$ |
| 102 | bar.addDisplayableFilter(qFilterButton); |
| 103 | availPanel.add(bar, BorderLayout.NORTH); |
| 104 | |
| 105 | availableTable.setDisplayableFilter(bar); |
| 106 | availableTable.setTreeCellRenderer(qualifiedRenderer); |
| 107 | availPanel.add(new JScrollPane(availableTable), BorderLayout.CENTER); |
| 108 | |
| 109 | Box box = Box.createHorizontalBox(); |
| 110 | box.add(Box.createHorizontalGlue()); |
| 111 | addButton.setHorizontalTextPosition(SwingConstants.LEADING); |
| 112 | box.add(addButton); |
| 113 | box.add(Box.createHorizontalStrut(5)); |
| 114 | box.setBorder(new EmptyBorder(0, 0, 5, 0)); |
| 115 | availPanel.add(box, BorderLayout.SOUTH); |
| 116 | |
| 117 | topPane.setLeftComponent(availPanel); |
| 118 | |
| 119 | JPanel selPanel = new JPanel(new BorderLayout()); |
| 120 | FilterBar<CharacterFacade, PCTemplate> filterBar = new FilterBar<>(); |
| 121 | filterBar.addDisplayableFilter(new SearchFilterPanel()); |
| 122 | |
| 123 | selectedTable.setDisplayableFilter(filterBar); |
| 124 | selectedTable.setTreeCellRenderer(qualifiedRenderer); |
| 125 | selPanel.add(new JScrollPane(selectedTable), BorderLayout.CENTER); |
nothing calls this directly
no outgoing calls
no test coverage detected