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

Class TemplateInfoTab

code/src/java/pcgen/gui2/tabs/TemplateInfoTab.java:68–553  ·  view source on GitHub ↗

This component allows the user to manage a character's templates.

Source from the content-addressed store, hash-verified

66 * This component allows the user to manage a character's templates.
67 */
68public 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);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected