package de.zigapeda.flowspring.data; import java.util.LinkedList; import java.util.Vector; import javax.swing.table.TableColumn; import de.zigapeda.flowspring.gui.treetable.DataModel; public class Column { private static LinkedList<Column> medialibrary; private TableColumn column; private int width; private boolean visible; public Column(TableColumn column, int width, boolean visible) { this.column = column; this.setWidth(width); this.setVisible(visible); } public TableColumn getColumn() { return this.column; } public int getWidth() { return width; } public void setWidth(int width) { this.width = width; } public boolean isVisible() { return visible; } public void setVisible(boolean visible) { if(visible == false) { this.width = 60; } this.visible = visible; } public static LinkedList<Column> getMedialibrarycolumns() { return Column.medialibrary; } public static void setMedialibrarycolumns(LinkedList<Column> columns) { Column.medialibrary = columns; } public static Column getColumnById(LinkedList<Column> list, TableColumn column) { for(Column c: list) { if(column == c.getColumn()) { return c; } } return null; } public static Column getColumnByName(LinkedList<Column> list, String name) { for(Column c: list) { if(name.equals(DataModel.columnNames[c.getColumn().getModelIndex()])){ return c; } } return null; } public static Vector<Column> getHiddenColumns(LinkedList<Column> list) { Vector<Column> columns = new Vector<>(); if(list != null) { for(Column c: list) { if(c.isVisible() == false) { columns.add(c); } } } return columns; } public static String getColumnlistString(LinkedList<Column> list) { String temp = new String(); for(Column c: list) { if(c.isVisible() == true) { temp = temp + "t"; } else { temp = temp + "f"; } if(c.getWidth() < 1000) { if(c.getWidth() < 100) { if(c.getWidth() < 10) { temp = temp + "000" + String.valueOf(c.getWidth()); } else { temp = temp + "00" + String.valueOf(c.getWidth()); } } else { temp = temp + "0" + String.valueOf(c.getWidth()); } } else { temp = temp + String.valueOf(c.getWidth()); } temp = temp + DataModel.columnNames[c.getColumn().getModelIndex()] + ","; } return temp.substring(0, temp.length()-1); } }