///******************************************************************************* // * Copyright (c) 2000, 2005 IBM Corporation 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: // * IBM Corporation - initial API and implementation // *******************************************************************************/ //package org.eclipse.ui.internal.forms.widgets; // //import java.util.Hashtable; // //import org.eclipse.swt.graphics.Color; //import org.eclipse.swt.graphics.GC; //import org.eclipse.swt.graphics.Image; //import org.eclipse.swt.graphics.Point; //import org.eclipse.swt.graphics.Rectangle; // //public class BulletParagraph extends Paragraph { // public static final int CIRCLE = 1; // // public static final int TEXT = 2; // // public static final int IMAGE = 3; // // private int style = CIRCLE; // // private String text; // // private int CIRCLE_DIAM = 5; // // private int SPACING = 10; // // private int indent = -1; // // private int bindent = -1; // // private Rectangle bbounds; // // /** // * Constructor for BulletParagraph. // * // * @param addVerticalSpace // */ // public BulletParagraph(boolean addVerticalSpace) { // super(addVerticalSpace); // } // // public int getIndent() { // int ivalue = indent; // if (ivalue != -1) // return ivalue; // switch (style) { // case CIRCLE: // ivalue = CIRCLE_DIAM + SPACING; // break; // default: // ivalue = 20; // break; // } // return getBulletIndent() + ivalue; // } // // public int getBulletIndent() { // if (bindent != -1) // return bindent; // return 0; // } // // /* // * @see IBulletParagraph#getBulletStyle() // */ // public int getBulletStyle() { // return style; // } // // public void setBulletStyle(int style) { // this.style = style; // } // // public void setBulletText(String text) { // this.text = text; // } // // public void setIndent(int indent) { // this.indent = indent; // } // // public void setBulletIndent(int bindent) { // this.bindent = bindent; // } // // /* // * @see IBulletParagraph#getBulletText() // */ // public String getBulletText() { // return text; // } // // public void layout(GC gc, int width, Locator loc, int lineHeight, // Hashtable resourceTable, IHyperlinkSegment selectedLink) { // computeRowHeights(gc, width, loc, lineHeight, resourceTable); // layoutBullet(gc, loc, lineHeight, resourceTable); // super.layout(gc, width, loc, lineHeight, resourceTable, selectedLink); // } // // public void paint(GC gc, Rectangle repaintRegion, // Hashtable resourceTable, IHyperlinkSegment selectedLink, // SelectionData selData) { // paintBullet(gc, repaintRegion, resourceTable); // super.paint(gc, repaintRegion, resourceTable, selectedLink, selData); // } // // private void layoutBullet(GC gc, Locator loc, int lineHeight, // Hashtable resourceTable) { // int x = loc.x - getIndent() + getBulletIndent(); // int rowHeight = ((int[]) loc.heights.get(0))[0]; // if (style == CIRCLE) { // int y = loc.y + rowHeight / 2 - CIRCLE_DIAM / 2; // bbounds = new Rectangle(x, y, CIRCLE_DIAM, CIRCLE_DIAM); // } else if (style == TEXT && text != null) { // //int height = gc.getFontMetrics().getHeight(); // Point textSize = gc.textExtent(text); // bbounds = new Rectangle(x, loc.y, textSize.x, textSize.y); // } else if (style == IMAGE && text != null) { // Image image = (Image) resourceTable.get(text); // if (image != null) { // Rectangle ibounds = image.getBounds(); // int y = loc.y + rowHeight / 2 - ibounds.height / 2; // bbounds = new Rectangle(x, y, ibounds.width, ibounds.height); // } // } // } // // public void paintBullet(GC gc, Rectangle repaintRegion, // Hashtable resourceTable) { // if (bbounds == null) // return; // int x = bbounds.x; // int y = bbounds.y; // if (repaintRegion != null) { // x -= repaintRegion.x; // y -= repaintRegion.y; // } // if (style == CIRCLE) { // Color bg = gc.getBackground(); // Color fg = gc.getForeground(); // gc.setBackground(fg); // gc.fillRectangle(x, y + 1, 5, 3); // gc.fillRectangle(x + 1, y, 3, 5); // gc.setBackground(bg); // } else if (style == TEXT && text != null) { // gc.drawText(text, x, y); // } else if (style == IMAGE && text != null) { // Image image = (Image) resourceTable.get(text); // if (image != null) // gc.drawImage(image, x, y); // } // } //}