diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTableCellLayout.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTableCellLayout.java | 208 |
1 files changed, 0 insertions, 208 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTableCellLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTableCellLayout.java deleted file mode 100644 index 1eb62e80d..000000000 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/table/CSSTableCellLayout.java +++ /dev/null @@ -1,208 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Sybase, Inc. and others. - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Sybase, Inc. - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.pagedesigner.css2.layout.table; - -import java.util.List; - -import org.eclipse.draw2d.IFigure; -import org.eclipse.draw2d.LayoutManager; -import org.eclipse.draw2d.geometry.Rectangle; -import org.eclipse.jst.pagedesigner.css2.ICSSStyle; -import org.eclipse.jst.pagedesigner.css2.layout.CSSFigure; -import org.eclipse.jst.pagedesigner.css2.layout.FlowBox; -import org.eclipse.jst.pagedesigner.css2.layout.LineBox; -import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID; -import org.eclipse.jst.pagedesigner.css2.property.VerticalAlignMeta; - -/** - * This layout is for those thigns that it's parent will decide its size. Such - * as table cell. - * - * @author mengbo - * @version 1.5 - */ -public class CSSTableCellLayout extends CachedTableCellLayout { - private CSSTableLayout2 _tableLayout; - - private TableRowInfo _rowinfo; - - private TableCellInfo _cellinfo; - - /** - * @param cssfigure - */ - public CSSTableCellLayout(CSSFigure cssfigure) { - super(cssfigure); - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.jst.pagedesigner.css2.layout.FlowFigureLayout#invalidate() - */ - public void invalidate() { - super.invalidate(); - - _tableLayout = null; - _rowinfo = null; - _cellinfo = null; - } - - protected void endBlock() { - if (isTable()) { - verticalLayoutLines(); - layoutLines(); - } else { - super.endBlock(); - } - } - - /** - * process the vertical layout lines - */ - protected void verticalLayoutLines() { - List lines = _blockBox.getFragments(); - - String verticalStyle = getVerticalAlign(); - int linesHeight = 0; - - if (lines != null && !lines.isEmpty()) { - FlowBox bottomBox = ((FlowBox) lines.get(lines.size() - 1)); - FlowBox topBox = ((FlowBox) lines.get(0)); - linesHeight = bottomBox.getY() + bottomBox.getHeight() - topBox.getY(); - } - int movement = 0; - if (VerticalAlignMeta.BOTTOM.equals(verticalStyle)) { - movement = _blockBox.getHeight() - linesHeight - - _blockBox.getBorderPaddingHeight() / 2; - } else if (VerticalAlignMeta.TOP.equals(verticalStyle)) { - movement = 0; - } - // else if (VerticalAlignMeta.BASELINE.equals(verticalStyle)) - // { - // movement = _blockBox.getHeight() - linesHeight; - // } - else // if (VerticalAlignMeta.MIDDLE.equals(verticalStyle)) - { - movement = (_blockBox.getHeight() - linesHeight - _blockBox - .getBorderPaddingHeight()) / 2; - } - // VerticalAlignMeta.TOP, ICSSPropertyID.VAL_AUTO and others - // else - // { - // movement = 0; - // } - if (lines != null) { - for (int i = 0, n = lines.size(); i < n; i++) { - if (lines.get(i) instanceof LineBox) { - LineBox lineBox = (LineBox) lines.get(i); - int LineMovement = Math.max(lineBox.getMarginInsets() - .getHeight(), movement); - lineBox.setY(lineBox.getY() + LineMovement - - lineBox.getMarginInsets().getHeight()); - } - } - } - } - - private String getVerticalAlign() { - ICSSStyle style = getCSSStyle(); - if (style != null) { - return style.getStyleProperty(ICSSPropertyID.ATTR_VERTICAL_ALIGN) - .toString(); - } - return VerticalAlignMeta.MIDDLE; - } - - public Rectangle getCellRect() { - int columnIndex = _cellinfo.getColumnIndex(); - int rowIndex = _cellinfo.getRowIndex(); - int[] columnWidths = _tableLayout.getColumnWidths(); - int hspacing = _tableLayout.getHSpacing(); - int x = hspacing; - for (int col = 0; col < columnIndex; col++) { - x += columnWidths[col]; - x += hspacing; - } - - int[] rowHeights = _tableLayout.getRowHeights(); - int vspacing = _tableLayout.getVSpacing(); - int y = vspacing; - for (int row = 0; row < rowIndex; row++) { - y += rowHeights[row]; - y += vspacing; - } - if (_tableLayout.getCaptionInfo() != null - && "top".equalsIgnoreCase(_tableLayout.getCaptionInfo().getAlign())) //$NON-NLS-1$ - { - y += _tableLayout.getCaptionSize().height; - } - - int width = _tableLayout.getCellWidth(_cellinfo, columnWidths); - int height = _tableLayout.getCellHeight(_cellinfo, rowHeights); - - Rectangle rect = new Rectangle(x, y, width, height); - return rect; - } - - /** - * the parent figure of TRGroup should be table figure. If so, return the - * corresponding table layout. - * - * @return the table layout context - */ - public CSSTableLayout2 getTableLayoutContext() { - IFigure parent = getCSSFigure().getParent(); - if (parent != null) { - LayoutManager parentLayout = parent.getLayoutManager(); - if (parentLayout instanceof CSSTRLayout) { - return ((CSSTRLayout) parentLayout).getTableLayoutContext(); - } - } - - return null; - } - - /** - * @return true if the table layout has cell info - */ - public boolean initializeTableInfo() { - _rowinfo = null; - _cellinfo = null; - _tableLayout = getTableLayoutContext(); - if (_tableLayout != null) { - _rowinfo = _tableLayout.getRowInfo((CSSFigure) this.getCSSFigure() - .getParent()); - if (_rowinfo != null) { - _cellinfo = _rowinfo.getCellInfo(this.getCSSFigure()); - if (_cellinfo != null) { - return true; - } - } - } - return false; - } - - /** - * @return the table layout or nul if none - */ - public CSSTableLayout2 getTableLayout() { - return _tableLayout; - } - - /** - * @return the table cell info or null - */ - public TableCellInfo getTableCellInfo() { - return _cellinfo; - } -} |