package com.idega.presentation.ui; import java.util.Vector; import javax.faces.component.UIComponent; import com.idega.presentation.IWContext; import com.idega.presentation.PresentationObject; import com.idega.presentation.PresentationObjectContainer; import com.idega.presentation.Table; import com.idega.presentation.text.Text; /** * Title: Description: Copyright: Copyright (c) 2001 Company: idega multimedia * * @author <a href="mailto:aron@idega.is">aron@idega.is</a> * @version 1.0 */ public class DataTable extends PresentationObjectContainer { private Table contentTable; private int iBorder = 1; private boolean infoTitles = true; private boolean titlesVertical = true; private boolean use_top = true; private boolean use_bottom = true; private String sHeight = ""; private String sWidth = ""; private String buttonAlign = "right"; private Vector buttons = null; private int bottomHeight = 3; private int _rows = -1; private int _columns = -1; private boolean _addBottom = true; private String TOP_COLOR = "#27334B"; private String HEADING_COLOR = "#D7DADF"; private String ZEBRA_DARK_COLOR = "#F4F4F4"; private String BOTTOM_COLOR = "#932A2D"; private String ZEBRA_LIGHT_COLOR = "#FFFFFF"; private String TITLE_FONT_COLOR = "#FFFFFF"; public DataTable() { this.contentTable = new Table(); } public void main(IWContext iwc) { drawTables(iwc); } private void drawTables(IWContext iwc) { com.idega.presentation.Image image = Table.getTransparentCell(iwc); image.setHeight(this.bottomHeight); this.contentTable.setWidth(this.sWidth); this.contentTable.setHeight(this.sHeight); this.contentTable.setCellpadding(3); this.contentTable.setCellspacing(1); if (this._columns != -1) { this.contentTable.setColumns(this._columns); } if (this._rows != -1) { this.contentTable.setRows(this._rows); } this.contentTable.setHorizontalZebraColored(this.ZEBRA_LIGHT_COLOR, this.ZEBRA_DARK_COLOR); if (this.infoTitles) { if (this.titlesVertical) { this.contentTable.setColumnColor(1, this.HEADING_COLOR); } else { this.contentTable.setRowColor(this.use_top ? 2 : 1, this.HEADING_COLOR); } } int lastrow = this.contentTable.getRows(); int lastcol = this.contentTable.getColumns(); if (this.use_top) { this.contentTable.mergeCells(1, 1, this.contentTable.getColumns(), 1); this.contentTable.setColor(1, 1, this.TOP_COLOR); } if (this._addBottom) { lastrow++; this.contentTable.mergeCells(1, lastrow, lastcol, lastrow); this.contentTable.add(image, 1, lastrow); this.contentTable.setColor(1, lastrow, this.BOTTOM_COLOR); } if (this.buttons != null) { lastrow++; this.contentTable.mergeCells(1, lastrow, lastcol, lastrow); this.contentTable.setAlignment(1, lastrow, this.buttonAlign); while (this.buttons.size() > 0) { this.contentTable.add((PresentationObject) this.buttons .remove(0), 1, lastrow); if (this.buttons.size() > 0) { this.contentTable.add(Text.NON_BREAKING_SPACE, 1, lastrow); } } } add(this.contentTable); } public void setUseTitles(boolean titles) { this.infoTitles = true; this.infoTitles = titles; } public void setTitlesVertical(boolean vertical) { this.titlesVertical = vertical; } public void setTitlesHorizontal(boolean horizontal) { this.infoTitles = true; this.titlesVertical = !horizontal; } public void addTitle(UIComponent title) { this.contentTable.add(title, 1, 1); } public void addTitle(String title) { Text T = new Text(title, true, false, false); T.setFontColor(this.TITLE_FONT_COLOR); addTitle(T); this.use_top = true; } public void add(UIComponent objectToAdd, int col, int row) { this.contentTable.add(objectToAdd, col, this.use_top ? ++row : row); } public void addButton(UIComponent objectToAdd) { if (this.buttons == null) { this.buttons = new Vector(); } this.buttons.add(objectToAdd); } public void setBottomHeight(int height) { this.bottomHeight = height; } public void setWidth(int tableWidth) { this.sWidth = String.valueOf(tableWidth); } public void setWidth(String tableWidth) { this.sWidth = tableWidth; } public void setHeight(String tableHeight) { this.sHeight = tableHeight; } public void setHeight(int tableHeight) { this.sHeight = String.valueOf(tableHeight); } public void setTableRows(int rows) { this._rows = rows; } public void setTableColumns(int columns) { this._columns = columns; } public void setHeaderColor(String color) { this.TOP_COLOR = color; } public void setTitleColor(String color) { this.HEADING_COLOR = color; } public void setZebraColors(String color1, String color2) { this.ZEBRA_LIGHT_COLOR = color1; this.ZEBRA_DARK_COLOR = color2; } public void setBottomColor(String color) { this.BOTTOM_COLOR = color; } /** * @deprecated Replaced by {@link #setUseBottom(boolean)} */ public void addBottom(boolean addBottom) { this._addBottom = addBottom; this.use_bottom = addBottom; } public void setUseBottom(boolean useBottom) { this._addBottom = useBottom; this.use_bottom = useBottom; } public void setUseTop(boolean useTop) { this.use_top = useTop; } public Table getContentTable() { return this.contentTable; } }