001    package org.shiftone.jrat.provider.tree.ui.summary.action;
002    
003    import org.jdesktop.swingx.JXTable;
004    import org.jdesktop.swingx.table.TableColumnExt;
005    import org.shiftone.jrat.desktop.util.Table;
006    
007    import javax.swing.*;
008    import java.awt.event.ActionEvent;
009    import java.util.List;
010    
011    /**
012     * @author jeff@shiftone.org (Jeff Drost)
013     */
014    public class ResetColumnVisibilityAction extends AbstractAction {
015    
016        private final JXTable table;
017        private final List tableColumns;
018    
019        public ResetColumnVisibilityAction(JXTable table, List tableColumns) {
020            super("Reset Default Column Visibility");
021            this.table = table;
022            this.tableColumns = tableColumns;
023        }
024    
025        public void actionPerformed(ActionEvent e) {
026            List columns = table.getColumns(true);
027            for (int i = 0; i < tableColumns.size(); i++) {
028                TableColumnExt columnExt = (TableColumnExt) columns.get(i);
029                Table.Column tableColumn = (Table.Column) tableColumns.get(i);
030                columnExt.setVisible(tableColumn.isDefaultVisible());
031            }
032        }
033    
034    }