diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSListItemLayout.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSListItemLayout.java | 185 |
1 files changed, 0 insertions, 185 deletions
diff --git a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSListItemLayout.java b/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSListItemLayout.java deleted file mode 100644 index a8400f406..000000000 --- a/jsf/plugins/org.eclipse.jst.pagedesigner/src/org/eclipse/jst/pagedesigner/css2/layout/CSSListItemLayout.java +++ /dev/null @@ -1,185 +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; - -import java.util.List; - -import org.eclipse.draw2d.FigureUtilities; -import org.eclipse.draw2d.Graphics; -import org.eclipse.draw2d.geometry.Point; -import org.eclipse.draw2d.geometry.Rectangle; -import org.eclipse.jst.pagedesigner.css2.ICSSStyle; -import org.eclipse.jst.pagedesigner.css2.list.CounterHelper; -import org.eclipse.jst.pagedesigner.css2.list.ICounterValueGenerator; -import org.eclipse.jst.pagedesigner.css2.marker.CounterUtil; -import org.eclipse.jst.pagedesigner.css2.property.ICSSPropertyID; -import org.eclipse.jst.pagedesigner.css2.style.DefaultStyle; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.graphics.Font; -import org.eclipse.swt.graphics.RGB; -import org.eclipse.swt.widgets.Display; - -/** - * @author mengbo - */ -public class CSSListItemLayout extends CSSBlockFlowLayout implements - ICSSPainter { - private static final String DEFAULT_LIST_COUNTER = "_anonymous"; - - private static final int CIRCLE_DIAMETER = 6; - - private static final int DISC_DIAMETER = 5; - - private static final int ROUNDRECT_ARC = 2; - - private static final int TEXT_PADDING = 16; - - private int _count; - - /** - * @param cssfigure - */ - public CSSListItemLayout(CSSFigure cssfigure) { - super(cssfigure); - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.jst.pagedesigner.css2.layout.ICSSPainter#paintFigure(org.eclipse.draw2d.Graphics) - */ - public void paintFigure(Graphics g) { - ICSSStyle style = this.getCSSStyle(); - if (style == null) { - style = DefaultStyle.getInstance(); - } - - Rectangle drawArea = null; - Font font = getCSSStyle().getCSSFont().getSwtFont(); - - // draw the marker box - Object styleType = style - .getStyleProperty(ICSSPropertyID.ATTR_LIST_STYLE_TYPE); - - g.pushState(); - - Color newColor = null; - Object color = style.getColor(); - if (color instanceof Color) { - g.setForegroundColor((Color) color); - g.setBackgroundColor((Color) color); - } else if (color instanceof RGB) { - newColor = new Color(Display.getCurrent(), (RGB) color); - g.setForegroundColor(newColor); - g.setBackgroundColor(newColor); - } - - if (styleType instanceof String) { - int type = CounterHelper.toTypeInt((String) styleType); - switch (type) { - case CounterHelper.LIST_T_UPPER_ALPHA: - case CounterHelper.LIST_T_LOWER_ALPHA: - case CounterHelper.LIST_T_LOWER_ROMAN: - case CounterHelper.LIST_T_UPPER_ROMAN: - case CounterHelper.LIST_T_DECIMAL: - g.setFont(font); - String displayString = CounterUtil.convertCount(_count, type); - Point point = getDrawPointForText(displayString); - g.drawString(displayString, point); - break; - case CounterHelper.LIST_T_CIRCLE: - drawArea = getDrawAreaForGraph(CIRCLE_DIAMETER, CIRCLE_DIAMETER); - g.drawArc(drawArea, 0, 360); - break; - case CounterHelper.LIST_T_SQUARE: - drawArea = getDrawAreaForGraph(DISC_DIAMETER, DISC_DIAMETER); - g.fillRectangle(drawArea); - case CounterHelper.LIST_T_DECIMAL_LEADING_ZERO: - case CounterHelper.LIST_T_LOWER_GREEK: - case CounterHelper.LIST_T_ARMENIAN: - case CounterHelper.LIST_T_GEORGIAN: - case CounterHelper.LIST_T_IMAGE: - case CounterHelper.LIST_T_NONE: - default: - drawArea = getDrawAreaForGraph(DISC_DIAMETER, DISC_DIAMETER); - g.fillRoundRectangle(drawArea, ROUNDRECT_ARC, ROUNDRECT_ARC); - break; - } - } - g.popState(); - - if (newColor != null) { - newColor.dispose(); - } - } - - /** - * @param g - * @return - */ - private Rectangle getDrawAreaForGraph(int width, int height) { - Rectangle drawArea; - - int x = 0; - int y = 0; - - List list = _blockBox.getFragments(); - Rectangle box = _blockBox.toRectangle().getCopy().expand( - _blockBox.getBorderPaddingInsets().getAdded( - _blockBox.getMarginInsets())); - if (list != null && !list.isEmpty()) { - LineBox line = (LineBox) list.get(0); - y = line.getBaseline() - CIRCLE_DIAMETER; - x = box.x; - } else { - x = box.x; - y = box.height / 2 - CIRCLE_DIAMETER; - } - drawArea = new Rectangle(x - CIRCLE_DIAMETER * 5 / 2, y, width, height); - return drawArea; - } - - private Point getDrawPointForText(String displayString) { - Font font = getCSSStyle().getCSSFont().getSwtFont(); - - int x = 0; - int y = 0; - - Rectangle box = _blockBox.toRectangle().getCopy().expand( - _blockBox.getBorderPaddingInsets().getAdded( - _blockBox.getMarginInsets())); - - x = box.x - FigureUtilities.getTextWidth(displayString, font); - x = x - - (TEXT_PADDING - FigureUtilities.getFontMetrics(font) - .getDescent()); - - return new Point(x, y); - } - - /* - * (non-Javadoc) - * - * @see org.eclipse.jst.pagedesigner.css2.layout.FlowContainerLayout#layoutChildren() - */ - protected void layoutChildren() { - ICounterValueGenerator counter = this.getCSSStyle().findCounter( - DEFAULT_LIST_COUNTER, true); - if (counter != null) { - _count = counter.getCurrentCount(); - } else { - // should not happen. - _count = 1; // use 1 as the default value - } - super.layoutChildren(); - } -} |