Search in sources :

Example 1 with ITextFigure

use of org.whole.lang.ui.figures.ITextFigure in project whole by wholeplatform.

the class EntityOutlineRightFigure method paintConnections.

@SuppressWarnings("unchecked")
protected void paintConnections(Graphics graphics) {
    graphics.setForegroundColor(FigureConstants.contentLighterColor);
    Point rootPoint = getFoldingToggle(0).getBounds().getBottom();
    Object childrenFigure = getContentPane(1).getChildren().get(0);
    Point[] childrenPoints = null;
    if (childrenFigure instanceof TableFigure) {
        TableFigure tableFigure = (TableFigure) childrenFigure;
        TableLayout layoutManager = tableFigure.getLayoutManager();
        int childrenSize = layoutManager.rows();
        childrenPoints = new Point[childrenSize];
        if (childrenSize == 0)
            return;
        for (int i = 0; i < childrenSize; i++) {
            IFigure row = layoutManager.getRow(i);
            List<IFigure> rowChildren = row.getChildren();
            if (row instanceof TableRowFigure && !rowChildren.isEmpty()) {
                childrenPoints[i] = row.getBounds().getLeft().translate(-8, 0);
                childrenPoints[i].y = ((TableRowLayout) row.getLayoutManager()).getBaseline(0);
            } else if (row instanceof IEntityFigure) {
                childrenPoints[i] = row.getBounds().getTopLeft().translate(-4, ((IEntityFigure) row).getAscent());
            } else
                childrenPoints[i] = row.getBounds().getLeft().translate(-4, 0);
        }
    } else {
        IFigure childFigure = (IFigure) childrenFigure;
        List<IFigure> children = childFigure.getChildren();
        int childrenSize = children.size();
        if (childrenSize == 0 || childFigure instanceof ITextFigure) {
            childrenPoints = new Point[1];
            if (childFigure instanceof IEntityFigure)
                childrenPoints[0] = childFigure.getBounds().getTopLeft().translate(-4, ((IEntityFigure) childFigure).getAscent());
            else
                childrenPoints[0] = childFigure.getBounds().getLeft().translate(-4, 0);
        } else {
            childrenPoints = new Point[childrenSize];
            for (int i = 0; i < childrenSize; i++) {
                childFigure = children.get(i);
                if (childFigure instanceof IEntityFigure)
                    childrenPoints[i] = childFigure.getBounds().getTopLeft().translate(-6, ((IEntityFigure) childFigure).getAscent());
                else
                    childrenPoints[i] = childFigure.getBounds().getLeft().translate(-6, 0);
            }
        }
    }
    graphics.setForegroundColor(ColorConstants.lightGray);
    graphics.setLineStyle(SWT.LINE_CUSTOM);
    graphics.setLineDash(new int[] { 1, 1 });
    DrawUtils.drawOutline(graphics, rootPoint, childrenPoints);
    graphics.setLineStyle(SWT.LINE_SOLID);
    graphics.setLineDash((int[]) null);
}
Also used : TableRowFigure(org.whole.lang.ui.figures.TableRowFigure) IEntityFigure(org.whole.lang.ui.figures.IEntityFigure) ITextFigure(org.whole.lang.ui.figures.ITextFigure) TableFigure(org.whole.lang.ui.figures.TableFigure) Point(org.eclipse.draw2d.geometry.Point) TableLayout(org.whole.lang.ui.layout.TableLayout) Point(org.eclipse.draw2d.geometry.Point) IFigure(org.eclipse.draw2d.IFigure)

Example 2 with ITextFigure

use of org.whole.lang.ui.figures.ITextFigure in project whole by wholeplatform.

the class TextDirectEditManager method initCellEditor.

protected void initCellEditor(Text text) {
    ITextFigure textFigure = (ITextFigure) getEditPart().getFigure();
    String initialLabelText = textFigure.getText();
    getCellEditor().setValue(initialLabelText);
    IFigure figure = getEditPart().getFigure();
    scaledFont = figure.getFont();
    FontData data = scaledFont.getFontData()[0];
    Dimension fontSize = new Dimension(0, data.getHeight());
    textFigure.translateToAbsolute(fontSize);
    data.setHeight(fontSize.height);
    scaledFont = new Font(null, data);
    text.setFont(scaledFont);
}
Also used : ITextFigure(org.whole.lang.ui.figures.ITextFigure) FontData(org.eclipse.swt.graphics.FontData) Dimension(org.eclipse.draw2d.geometry.Dimension) Font(org.eclipse.swt.graphics.Font) IFigure(org.eclipse.draw2d.IFigure)

Aggregations

IFigure (org.eclipse.draw2d.IFigure)2 ITextFigure (org.whole.lang.ui.figures.ITextFigure)2 Dimension (org.eclipse.draw2d.geometry.Dimension)1 Point (org.eclipse.draw2d.geometry.Point)1 Font (org.eclipse.swt.graphics.Font)1 FontData (org.eclipse.swt.graphics.FontData)1 IEntityFigure (org.whole.lang.ui.figures.IEntityFigure)1 TableFigure (org.whole.lang.ui.figures.TableFigure)1 TableRowFigure (org.whole.lang.ui.figures.TableRowFigure)1 TableLayout (org.whole.lang.ui.layout.TableLayout)1