package krasa.grepconsole.gui.table.column; import java.util.Comparator; import javax.swing.*; import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; import krasa.grepconsole.gui.table.ModelUtils; import krasa.grepconsole.model.GrepExpressionGroup; import org.jetbrains.annotations.Nullable; import com.intellij.util.ui.ColumnInfo; /** * @author Vojtech Krasa */ public class FolderColumnInfoWrapper extends ColumnInfo { protected ColumnInfo columnInfo; public FolderColumnInfoWrapper(ColumnInfo columnInfo) { super(columnInfo.getName()); this.columnInfo = columnInfo; } @Nullable @Override public TableCellRenderer getRenderer(Object o) { Object o1 = ModelUtils.unWrap(o); if (o1 instanceof GrepExpressionGroup) { return null; } return columnInfo.getRenderer(o1); } @Nullable @Override public TableCellEditor getEditor(Object o) { Object o1 = ModelUtils.unWrap(o); if (o1 instanceof GrepExpressionGroup) { return null; } return columnInfo.getEditor(o1); } @Nullable @Override public Object valueOf(Object o) { Object o1 = ModelUtils.unWrap(o); if (o1 instanceof GrepExpressionGroup) { return null; } return columnInfo.valueOf(o1); } @Override @Nullable public Comparator getComparator() { return columnInfo.getComparator(); } @Override public String getName() { return columnInfo.getName(); } @Override public void setName(String s) { columnInfo.setName(s); } @Override public Class getColumnClass() { return columnInfo.getColumnClass(); } @Override public boolean isCellEditable(Object o) { Object o1 = ModelUtils.unWrap(o); if (o1 instanceof GrepExpressionGroup) { return false; } return columnInfo.isCellEditable(ModelUtils.unWrap(o)); } @Override public void setValue(Object o, Object value) { columnInfo.setValue(ModelUtils.unWrap(o), value); } @Override public TableCellRenderer getCustomizedRenderer(Object o, TableCellRenderer renderer) { return columnInfo.getCustomizedRenderer(ModelUtils.unWrap(o), renderer); } @Override @Nullable public String getMaxStringValue() { return columnInfo.getMaxStringValue(); } @Override @Nullable public String getPreferredStringValue() { return columnInfo.getPreferredStringValue(); } @Override public int getAdditionalWidth() { return columnInfo.getAdditionalWidth(); } @Override public int getWidth(JTable table) { return columnInfo.getWidth(table); } @Override @Nullable public String getTooltipText() { return columnInfo.getTooltipText(); } @Override @Nullable public Icon getIcon() { return columnInfo.getIcon(); } @Override public String toString() { return columnInfo.toString(); } }