use of pcgen.gui2.filter.FilterButton in project pcgen by PCGen.
the class PurchaseInfoTab method initComponents.
private void initComponents() {
setOrientation(VERTICAL_SPLIT);
//$NON-NLS-1$
FlippingSplitPane splitPane = new FlippingSplitPane("PurchaseTop");
splitPane.setOrientation(HORIZONTAL_SPLIT);
{
// Top Left panel
FilterBar<CharacterFacade, EquipmentFacade> filterBar = new FilterBar<>();
{
// Filters
filterBar.addDisplayableFilter(new SearchFilterPanel());
FilterButton<CharacterFacade, EquipmentFacade> premadeFilter = //$NON-NLS-1$
new FilterButton<>("EqQualified");
//$NON-NLS-1$
premadeFilter.setText(LanguageBundle.getString("in_igQualFilter"));
premadeFilter.setFilter(CharacterFacade::isQualifiedFor);
FilterButton<CharacterFacade, EquipmentFacade> customFilter = //$NON-NLS-1$
new FilterButton<>("EqAffordable");
//$NON-NLS-1$
customFilter.setText(LanguageBundle.getString("in_igAffordFilter"));
customFilter.setFilter(new Filter<CharacterFacade, EquipmentFacade>() {
@Override
public boolean accept(CharacterFacade context, EquipmentFacade element) {
return context.getInfoFactory().getCost(element) <= context.getFundsRef().get().floatValue();
}
});
filterBar.addDisplayableFilter(premadeFilter);
filterBar.addDisplayableFilter(customFilter);
}
JPanel panel = new JPanel(new BorderLayout());
panel.add(filterBar, BorderLayout.NORTH);
availableTable.setTreeCellRenderer(equipmentRenderer);
availableTable.setDisplayableFilter(filterBar);
panel.add(new JScrollPane(availableTable), BorderLayout.CENTER);
Box box = Box.createHorizontalBox();
box.add(Box.createHorizontalStrut(5));
box.add(autoResizeBox);
box.add(Box.createHorizontalGlue());
addCustomButton.setHorizontalTextPosition(SwingConstants.LEADING);
box.add(addCustomButton);
box.add(Box.createHorizontalStrut(5));
addEquipmentButton.setHorizontalTextPosition(SwingConstants.LEADING);
box.add(addEquipmentButton);
box.add(Box.createHorizontalStrut(5));
box.setBorder(new EmptyBorder(0, 0, 5, 0));
panel.add(box, BorderLayout.SOUTH);
splitPane.setLeftComponent(panel);
}
{
// Top Right panel
FilterBar<CharacterFacade, EquipmentFacade> filterBar = new FilterBar<>();
filterBar.addDisplayableFilter(new SearchFilterPanel());
JPanel panel = new JPanel(new BorderLayout());
panel.add(filterBar, BorderLayout.NORTH);
purchasedTable.setDisplayableFilter(filterBar);
purchasedTable.setTreeCellRenderer(equipmentRenderer);
panel.add(new JScrollPane(purchasedTable), BorderLayout.CENTER);
Box box = Box.createHorizontalBox();
box.add(Box.createHorizontalStrut(5));
box.add(removeEquipmentButton);
box.add(Box.createHorizontalGlue());
box.setBorder(new EmptyBorder(0, 0, 5, 0));
panel.add(box, BorderLayout.SOUTH);
splitPane.setRightComponent(panel);
}
setTopComponent(splitPane);
//$NON-NLS-1$
splitPane = new FlippingSplitPane("PurchaseBottom");
splitPane.setOrientation(HORIZONTAL_SPLIT);
{
// Bottom Left Panel
JPanel panel = new JPanel();
initMoneyPanel(panel);
splitPane.setLeftComponent(panel);
}
{
// Bottom Right Panel
//$NON-NLS-1$
infoPane.setTitle(LanguageBundle.getString("in_igEqInfo"));
splitPane.setRightComponent(infoPane);
}
splitPane.setResizeWeight(0.25);
setResizeWeight(1);
setBottomComponent(splitPane);
}
use of pcgen.gui2.filter.FilterButton in project pcgen by PCGen.
the class AbilityChooserTab method initComponents.
private void initComponents() {
setOrientation(VERTICAL_SPLIT);
availableTreeViewPanel.setDefaultRenderer(Boolean.class, new BooleanRenderer());
availableTreeViewPanel.setTreeCellRenderer(qualifiedRenderer);
selectedTreeViewPanel.setTreeCellRenderer(abilityRenderer);
FilterBar<CharacterFacade, AbilityFacade> filterBar = new FilterBar<>();
filterBar.addDisplayableFilter(new SearchFilterPanel());
//$NON-NLS-1$
qFilterButton.setText(LanguageBundle.getString("in_igQualFilter"));
filterBar.addDisplayableFilter(qFilterButton);
JPanel availPanel = FilterUtilities.configureFilteredTreeViewPane(availableTreeViewPanel, filterBar);
Box box = Box.createHorizontalBox();
box.add(Box.createHorizontalGlue());
addButton.setHorizontalTextPosition(SwingConstants.LEADING);
box.add(addButton);
box.add(Box.createHorizontalStrut(5));
box.setBorder(new EmptyBorder(0, 0, 5, 0));
availPanel.add(box, BorderLayout.SOUTH);
JPanel selPanel = new JPanel(new BorderLayout());
selPanel.add(new JScrollPane(selectedTreeViewPanel), BorderLayout.CENTER);
AbilityTreeTableModel.initializeTreeTable(selectedTreeViewPanel);
box = Box.createHorizontalBox();
box.add(Box.createHorizontalStrut(5));
box.add(removeButton);
box.add(Box.createHorizontalGlue());
box.setBorder(new EmptyBorder(0, 0, 5, 0));
selPanel.add(box, BorderLayout.SOUTH);
FlippingSplitPane topPane = new FlippingSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, availPanel, selPanel, "abilityTop");
setTopComponent(topPane);
FilterButton<CharacterFacade, AbilityCategoryFacade> gainedFilterButton = new FilterButton<>("AbilityGained", true);
//$NON-NLS-1$
gainedFilterButton.setText(LanguageBundle.getString("in_gained"));
gainedFilterButton.setEnabled(true);
gainedFilterButton.setFilter(new Filter<CharacterFacade, AbilityCategoryFacade>() {
@Override
public boolean accept(CharacterFacade context, AbilityCategoryFacade element) {
return context.getActiveAbilityCategories().containsElement(element);
}
});
categoryBar.addDisplayableFilter(gainedFilterButton);
JPanel filterPanel = new JPanel(new BorderLayout());
filterPanel.add(categoryBar, BorderLayout.NORTH);
filterPanel.add(new JScrollPane(categoryTable), BorderLayout.CENTER);
FlippingSplitPane bottomPane = new FlippingSplitPane(JSplitPane.HORIZONTAL_SPLIT, "abilityBottom");
bottomPane.setLeftComponent(filterPanel);
bottomPane.setRightComponent(infoPane);
setBottomComponent(bottomPane);
}
Aggregations