MCPcopy Create free account
hub / github.com/PCGen/pcgen / AbilityChooserTab

Class AbilityChooserTab

code/src/java/pcgen/gui2/tabs/AbilityChooserTab.java:90–788  ·  view source on GitHub ↗

This component allows the user to select abilities for a character. The AbilityChooserTab is a subtab of the AbilitiesInfoTab and is used to display the available and selected abilities for a particular ability category. Its up to the AbilitiesInfoTab to manage this tab's state which more or less fo

Source from the content-addressed store, hash-verified

88 * @see pcgen.gui2.tabs.CharacterInfoTab
89 */
90@SuppressWarnings({"UseOfObsoleteCollectionType", "PMD.ReplaceHashtableWithMap", "serial"})
91public class AbilityChooserTab extends FlippingSplitPane implements StateEditable, TodoHandler
92{
93
94 private final FilteredTreeViewTable<CharacterFacade, AbilityFacade> availableTreeViewPanel;
95 private final JTreeTable selectedTreeViewPanel;
96 private final JTable categoryTable;
97 private final InfoPane infoPane;
98 private final JButton addButton;
99 private final JButton removeButton;
100 private final FilterBar<CharacterFacade, AbilityCategory> categoryBar;
101 private final FilterButton<CharacterFacade, AbilityFacade> qFilterButton;
102 private final QualifiedTreeCellRenderer qualifiedRenderer;
103 private final AbilityRenderer abilityRenderer;
104
105 public AbilityChooserTab()
106 {
107 this.availableTreeViewPanel = new FilteredTreeViewTable<>();
108 this.selectedTreeViewPanel = new JTreeTable();
109 this.categoryTable = new JTable();
110 this.infoPane = new InfoPane();
111 this.addButton = new JButton();
112 this.removeButton = new JButton();
113 this.categoryBar = new FilterBar<>();
114 this.qFilterButton = new FilterButton<>("AbilityQualified");
115 this.qualifiedRenderer = new QualifiedTreeCellRenderer();
116 this.abilityRenderer = new AbilityRenderer();
117 initComponents();
118 }
119
120 private void initComponents()
121 {
122 setOrientation(VERTICAL_SPLIT);
123 availableTreeViewPanel.setDefaultRenderer(Boolean.class, new BooleanRenderer());
124 availableTreeViewPanel.setTreeCellRenderer(qualifiedRenderer);
125 selectedTreeViewPanel.setTreeCellRenderer(abilityRenderer);
126 FilterBar<CharacterFacade, AbilityFacade> filterBar = new FilterBar<>();
127 filterBar.addDisplayableFilter(new SearchFilterPanel());
128
129 qFilterButton.setText(LanguageBundle.getString("in_igQualFilter")); //$NON-NLS-1$
130 filterBar.addDisplayableFilter(qFilterButton);
131 JPanel availPanel = FilterUtilities.configureFilteredTreeViewPane(availableTreeViewPanel, filterBar);
132 Box box = Box.createHorizontalBox();
133 box.add(Box.createHorizontalGlue());
134 addButton.setHorizontalTextPosition(SwingConstants.LEADING);
135 box.add(addButton);
136 box.add(Box.createHorizontalStrut(5));
137 box.setBorder(new EmptyBorder(0, 0, 5, 0));
138 availPanel.add(box, BorderLayout.SOUTH);
139 JPanel selPanel = new JPanel(new BorderLayout());
140 selPanel.add(new JScrollPane(selectedTreeViewPanel), BorderLayout.CENTER);
141 AbilityTreeTableModel.initializeTreeTable(selectedTreeViewPanel);
142
143 box = Box.createHorizontalBox();
144 box.add(Box.createHorizontalStrut(5));
145 box.add(removeButton);
146 box.add(Box.createHorizontalGlue());
147 box.setBorder(new EmptyBorder(0, 0, 5, 0));

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected