Search in sources :

Example 1 with FilterButton

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);
}
Also used : EquipmentFacade(pcgen.facade.core.EquipmentFacade) JScrollPane(javax.swing.JScrollPane) JPanel(javax.swing.JPanel) FilterButton(pcgen.gui2.filter.FilterButton) JComboBox(javax.swing.JComboBox) Box(javax.swing.Box) JCheckBox(javax.swing.JCheckBox) FlippingSplitPane(pcgen.gui2.tools.FlippingSplitPane) CharacterFacade(pcgen.facade.core.CharacterFacade) FilterBar(pcgen.gui2.filter.FilterBar) BorderLayout(java.awt.BorderLayout) SearchFilterPanel(pcgen.gui2.filter.SearchFilterPanel) EmptyBorder(javax.swing.border.EmptyBorder)

Example 2 with FilterButton

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);
}
Also used : JScrollPane(javax.swing.JScrollPane) JPanel(javax.swing.JPanel) AbilityCategoryFacade(pcgen.facade.core.AbilityCategoryFacade) FilterButton(pcgen.gui2.filter.FilterButton) Box(javax.swing.Box) CharacterFacade(pcgen.facade.core.CharacterFacade) FlippingSplitPane(pcgen.gui2.tools.FlippingSplitPane) FilterBar(pcgen.gui2.filter.FilterBar) BorderLayout(java.awt.BorderLayout) AbilityFacade(pcgen.facade.core.AbilityFacade) SearchFilterPanel(pcgen.gui2.filter.SearchFilterPanel) EmptyBorder(javax.swing.border.EmptyBorder)

Aggregations

BorderLayout (java.awt.BorderLayout)2 Box (javax.swing.Box)2 JPanel (javax.swing.JPanel)2 JScrollPane (javax.swing.JScrollPane)2 EmptyBorder (javax.swing.border.EmptyBorder)2 CharacterFacade (pcgen.facade.core.CharacterFacade)2 FilterBar (pcgen.gui2.filter.FilterBar)2 FilterButton (pcgen.gui2.filter.FilterButton)2 SearchFilterPanel (pcgen.gui2.filter.SearchFilterPanel)2 FlippingSplitPane (pcgen.gui2.tools.FlippingSplitPane)2 JCheckBox (javax.swing.JCheckBox)1 JComboBox (javax.swing.JComboBox)1 AbilityCategoryFacade (pcgen.facade.core.AbilityCategoryFacade)1 AbilityFacade (pcgen.facade.core.AbilityFacade)1 EquipmentFacade (pcgen.facade.core.EquipmentFacade)1