Search in sources :

Example 1 with DefaultTableRenderer

use of org.jdesktop.swingx.renderer.DefaultTableRenderer in project zaproxy by zaproxy.

the class ManageAddOnsDialog method getInstalledAddOnsTable.

private JXTable getInstalledAddOnsTable() {
    if (installedAddOnsTable == null) {
        installedAddOnsTable = new JXTable();
        installedAddOnsModel.addTableModelListener(new TableModelListener() {

            @Override
            public void tableChanged(TableModelEvent e) {
                getUpdateButton().setEnabled(installedAddOnsModel.canUpdateSelected());
                getUpdateAllButton().setEnabled(installedAddOnsModel.getAllUpdates().size() > 0);
                getUninstallButton().setEnabled(installedAddOnsModel.canUninstallSelected());
            }
        });
        installedAddOnsTable.setModel(installedAddOnsModel);
        //icon
        installedAddOnsTable.getColumnModel().getColumn(0).setMaxWidth(20);
        //icon doesn't need to be sortable
        installedAddOnsTable.getColumnExt(0).setSortable(false);
        //name
        installedAddOnsTable.getColumnModel().getColumn(1).setPreferredWidth(200);
        //description
        installedAddOnsTable.getColumnModel().getColumn(2).setPreferredWidth(400);
        //description doesn't need to be sortable
        installedAddOnsTable.getColumnExt(2).setSortable(false);
        //update
        installedAddOnsTable.getColumnModel().getColumn(3).setPreferredWidth(60);
        //update doesn't need to be sortable
        installedAddOnsTable.getColumnExt(3).setSortable(false);
        installedAddOnsTable.getColumnModel().getColumn(4).setPreferredWidth(40);
        //checkbox doesn't need to be sortable
        installedAddOnsTable.getColumnExt(4).setSortable(false);
        //Default sort by name (column 1)
        List<RowSorter.SortKey> sortKeys = new ArrayList<RowSorter.SortKey>(1);
        sortKeys.add(new RowSorter.SortKey(1, SortOrder.ASCENDING));
        installedAddOnsTable.getRowSorter().setSortKeys(sortKeys);
        DefaultAddOnToolTipHighlighter toolTipHighlighter = new DefaultAddOnToolTipHighlighter(AddOnsTableModel.COLUMN_ADD_ON_WRAPPER);
        for (int i = 1; i < installedAddOnsTable.getColumnCount(); i++) {
            installedAddOnsTable.getColumnExt(i).addHighlighter(toolTipHighlighter);
        }
        installedAddOnsTable.getColumnExt(0).setCellRenderer(new DefaultTableRenderer(new MappedValue(StringValues.EMPTY, IconValues.NONE), JLabel.CENTER));
        installedAddOnsTable.getColumnExt(0).setHighlighters(new CompoundHighlighter(new WarningRunningIssuesHighlighter(AddOnsTableModel.COLUMN_ADD_ON_WRAPPER), new WarningRunningIssuesToolTipHighlighter(AddOnsTableModel.COLUMN_ADD_ON_WRAPPER)));
        installedAddOnsTable.getColumnExt(3).setHighlighters(new CompoundHighlighter(new WarningUpdateIssuesHighlighter(AddOnsTableModel.COLUMN_ADD_ON_WRAPPER), new WarningUpdateIssuesToolTipHighlighter(AddOnsTableModel.COLUMN_ADD_ON_WRAPPER)));
        installedAddOnsTable.getColumnExt(4).addHighlighter(new DisableSelectionHighlighter(AddOnsTableModel.COLUMN_ADD_ON_WRAPPER));
    }
    return installedAddOnsTable;
}
Also used : RowSorter(javax.swing.RowSorter) JXTable(org.jdesktop.swingx.JXTable) TableModelEvent(javax.swing.event.TableModelEvent) ArrayList(java.util.ArrayList) MappedValue(org.jdesktop.swingx.renderer.MappedValue) DefaultTableRenderer(org.jdesktop.swingx.renderer.DefaultTableRenderer) TableModelListener(javax.swing.event.TableModelListener) CompoundHighlighter(org.jdesktop.swingx.decorator.CompoundHighlighter)

Example 2 with DefaultTableRenderer

use of org.jdesktop.swingx.renderer.DefaultTableRenderer in project zaproxy by zaproxy.

the class ManageAddOnsDialog method getUninstalledAddOnsTable.

private JXTable getUninstalledAddOnsTable() {
    if (uninstalledAddOnsTable == null) {
        uninstalledAddOnsTable = new JXTable();
        uninstalledAddOnsModel.addTableModelListener(new TableModelListener() {

            @Override
            public void tableChanged(TableModelEvent e) {
                getInstallButton().setEnabled(uninstalledAddOnsModel.canIinstallSelected());
            }
        });
        uninstalledAddOnsTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {

            @Override
            public void valueChanged(ListSelectionEvent e) {
                getAddOnInfoButton().setEnabled(false);
                if (DesktopUtils.canOpenUrlInBrowser() && getUninstalledAddOnsTable().getSelectedRowCount() == 1) {
                    //convertRowIndexToModel in-case they sorted
                    AddOnWrapper ao = uninstalledAddOnsModel.getAddOnWrapper(getUninstalledAddOnsTable().convertRowIndexToModel(getUninstalledAddOnsTable().getSelectedRow()));
                    if (ao != null && ao.getAddOn().getInfo() != null) {
                        getAddOnInfoButton().setEnabled(true);
                    }
                }
            }
        });
        uninstalledAddOnsTable.setModel(uninstalledAddOnsModel);
        //Icon
        uninstalledAddOnsTable.getColumnModel().getColumn(0).setMaxWidth(20);
        //Icon doesn't need sorting
        uninstalledAddOnsTable.getColumnExt(0).setSortable(false);
        //Status
        uninstalledAddOnsTable.getColumnModel().getColumn(1).setPreferredWidth(50);
        //Name
        uninstalledAddOnsTable.getColumnModel().getColumn(2).setPreferredWidth(150);
        //Description
        uninstalledAddOnsTable.getColumnModel().getColumn(3).setPreferredWidth(300);
        //Description doesn't need sorting
        uninstalledAddOnsTable.getColumnExt(3).setSortable(false);
        //Update (version number)
        uninstalledAddOnsTable.getColumnModel().getColumn(4).setPreferredWidth(60);
        //Update doesn't need sorting
        uninstalledAddOnsTable.getColumnExt(4).setSortable(false);
        //Checkbox
        uninstalledAddOnsTable.getColumnModel().getColumn(5).setPreferredWidth(40);
        //Checkbox doesn't need sorting
        uninstalledAddOnsTable.getColumnExt(5).setSortable(false);
        //Default sort by status (column 1) descending (Release, Beta, Alpha), and name (column 2) ascending 
        List<RowSorter.SortKey> sortKeys = new ArrayList<RowSorter.SortKey>(2);
        sortKeys.add(new RowSorter.SortKey(1, SortOrder.DESCENDING));
        sortKeys.add(new RowSorter.SortKey(2, SortOrder.ASCENDING));
        uninstalledAddOnsTable.getRowSorter().setSortKeys(sortKeys);
        DefaultAddOnToolTipHighlighter toolTipHighlighter = new DefaultAddOnToolTipHighlighter(UninstalledAddOnsTableModel.COLUMN_ADD_ON_WRAPPER);
        for (int i = 1; i < uninstalledAddOnsTable.getColumnCount(); i++) {
            uninstalledAddOnsTable.getColumnExt(i).addHighlighter(toolTipHighlighter);
        }
        uninstalledAddOnsTable.getColumnExt(0).setCellRenderer(new DefaultTableRenderer(new MappedValue(StringValues.EMPTY, IconValues.NONE), JLabel.CENTER));
        uninstalledAddOnsTable.getColumnExt(0).setHighlighters(new CompoundHighlighter(new WarningRunningIssuesHighlighter(AddOnsTableModel.COLUMN_ADD_ON_WRAPPER), new WarningRunningIssuesToolTipHighlighter(UninstalledAddOnsTableModel.COLUMN_ADD_ON_WRAPPER)));
        uninstalledAddOnsTable.getColumnExt(5).addHighlighter(new DisableSelectionHighlighter(UninstalledAddOnsTableModel.COLUMN_ADD_ON_WRAPPER));
    }
    return uninstalledAddOnsTable;
}
Also used : RowSorter(javax.swing.RowSorter) JXTable(org.jdesktop.swingx.JXTable) TableModelEvent(javax.swing.event.TableModelEvent) ListSelectionEvent(javax.swing.event.ListSelectionEvent) ArrayList(java.util.ArrayList) MappedValue(org.jdesktop.swingx.renderer.MappedValue) DefaultTableRenderer(org.jdesktop.swingx.renderer.DefaultTableRenderer) ListSelectionListener(javax.swing.event.ListSelectionListener) TableModelListener(javax.swing.event.TableModelListener) CompoundHighlighter(org.jdesktop.swingx.decorator.CompoundHighlighter)

Example 3 with DefaultTableRenderer

use of org.jdesktop.swingx.renderer.DefaultTableRenderer in project zaproxy by zaproxy.

the class SpiderPanel method getUrlsTable.

/**
	 * Gets the scan results table.
	 * 
	 * @return the scan results table
	 */
private JXTable getUrlsTable() {
    if (urlsTable == null) {
        // Create the table with a default, empty TableModel and the proper settings
        urlsTable = new ZapTable(EMPTY_URLS_TABLE_MODEL);
        urlsTable.setColumnSelectionAllowed(false);
        urlsTable.setCellSelectionEnabled(false);
        urlsTable.setRowSelectionAllowed(true);
        urlsTable.setAutoCreateRowSorter(true);
        urlsTable.setAutoCreateColumnsFromModel(false);
        urlsTable.getColumnExt(0).setCellRenderer(new DefaultTableRenderer(new MappedValue(StringValues.EMPTY, IconValues.NONE), JLabel.CENTER));
        urlsTable.getColumnExt(0).setHighlighters(new ProcessedCellItemIconHighlighter(0));
        urlsTable.getColumnModel().getColumn(0).setMinWidth(80);
        // processed
        urlsTable.getColumnModel().getColumn(0).setPreferredWidth(90);
        urlsTable.getColumnModel().getColumn(1).setMinWidth(60);
        // method
        urlsTable.getColumnModel().getColumn(1).setPreferredWidth(70);
        // name
        urlsTable.getColumnModel().getColumn(2).setMinWidth(300);
        urlsTable.getColumnModel().getColumn(3).setMinWidth(50);
        // flags
        urlsTable.getColumnModel().getColumn(3).setPreferredWidth(250);
        urlsTable.setName(PANEL_NAME);
        urlsTable.setDoubleBuffered(true);
        urlsTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
        urlsTable.setComponentPopupMenu(new JPopupMenu() {

            private static final long serialVersionUID = 6608291059686282641L;

            @Override
            public void show(Component invoker, int x, int y) {
                View.getSingleton().getPopupMenu().show(invoker, x, y);
            }
        });
    }
    return urlsTable;
}
Also used : ZapTable(org.zaproxy.zap.view.ZapTable) MappedValue(org.jdesktop.swingx.renderer.MappedValue) Component(java.awt.Component) DefaultTableRenderer(org.jdesktop.swingx.renderer.DefaultTableRenderer) JPopupMenu(javax.swing.JPopupMenu)

Example 4 with DefaultTableRenderer

use of org.jdesktop.swingx.renderer.DefaultTableRenderer in project zaproxy by zaproxy.

the class HistoryReferencesTable method createDefaultRenderers.

@Override
protected void createDefaultRenderers() {
    super.createDefaultRenderers();
    setDefaultRenderer(Date.class, new DefaultTableRenderer(new DateFormatStringValue()));
}
Also used : DateFormatStringValue(org.zaproxy.zap.view.renderer.DateFormatStringValue) DefaultTableRenderer(org.jdesktop.swingx.renderer.DefaultTableRenderer)

Aggregations

DefaultTableRenderer (org.jdesktop.swingx.renderer.DefaultTableRenderer)4 MappedValue (org.jdesktop.swingx.renderer.MappedValue)3 ArrayList (java.util.ArrayList)2 RowSorter (javax.swing.RowSorter)2 TableModelEvent (javax.swing.event.TableModelEvent)2 TableModelListener (javax.swing.event.TableModelListener)2 JXTable (org.jdesktop.swingx.JXTable)2 CompoundHighlighter (org.jdesktop.swingx.decorator.CompoundHighlighter)2 Component (java.awt.Component)1 JPopupMenu (javax.swing.JPopupMenu)1 ListSelectionEvent (javax.swing.event.ListSelectionEvent)1 ListSelectionListener (javax.swing.event.ListSelectionListener)1 ZapTable (org.zaproxy.zap.view.ZapTable)1 DateFormatStringValue (org.zaproxy.zap.view.renderer.DateFormatStringValue)1