Search in sources :

Example 1 with NodeWithCompositeBranchFigure

use of org.whole.lang.ui.notations.styledtree.figures.NodeWithCompositeBranchFigure in project whole by wholeplatform.

the class AdaptiveEntityPart method createFigure.

protected IFigure createFigure() {
    IEntityStyling entityStyling = getEntityStyling();
    INotationStyling notationStyling = entityStyling.getNotationStyling();
    switch(entityStyling.getKind()) {
        case DATA:
            switch(notationStyling.getEmbeddingStyle(stylingFactory, (IEntityPart) getParent(), getModelEntity())) {
                case TABLE_CELL:
                // TODO
                case NONE:
                default:
                    return new DataNodeFigure(entityStyling);
            }
        case SIMPLE:
            return new SimpleTableNodeWithBranchesFigure(true, entityStyling);
        case COMPOSITE:
        default:
            if (entityStyling.getLayoutStyle().equals(LayoutStyle.COMPOSITE_TABLE))
                return new CompositeTableFigure(entityStyling);
            else
                return new NodeWithCompositeBranchFigure(entityStyling);
    }
}
Also used : NodeWithCompositeBranchFigure(org.whole.lang.ui.notations.styledtree.figures.NodeWithCompositeBranchFigure) DataNodeFigure(org.whole.lang.ui.notations.styledtree.figures.DataNodeFigure) IEntityStyling(org.whole.lang.ui.notations.styledtree.styling.IEntityStyling) CompositeTableFigure(org.whole.lang.ui.notations.styledtree.figures.CompositeTableFigure) SimpleTableNodeWithBranchesFigure(org.whole.lang.ui.notations.styledtree.figures.SimpleTableNodeWithBranchesFigure) INotationStyling(org.whole.lang.ui.notations.styledtree.styling.INotationStyling)

Example 2 with NodeWithCompositeBranchFigure

use of org.whole.lang.ui.notations.styledtree.figures.NodeWithCompositeBranchFigure in project whole by wholeplatform.

the class CompositeEntityStyledTreePart method createFigure.

protected IFigure createFigure() {
    if (entityStyling.getLayoutStyle().equals(LayoutStyle.COMPOSITE_TABLE)) {
        return new CompositeTableFigure(entityStyling) {

            protected int getChildrenPaneIndex() {
                return 0;
            }

            protected IEntityFigure createTypeLabelFigure() {
                IEntityFigure typeFigure = new EntityFigure(new MonoLayout().withMargin(2, 4, 2, 8).withAutoresizeWeight(1.0f)).withViewportTracking(ViewportTracking.HORIZONTAL);
                typeFigure.add(LabelFactory.createDeclaration(entityStyling.getTypeLabel()));
                return typeFigure;
            }

            protected IEntityFigure createChildrenFigure() {
                TableFigure tableFigure = new TableFigure(Math.max(1, featuresStyling.length)) {

                    protected void paintFigure(Graphics g) {
                        super.paintFigure(g);
                        g.setBackgroundColor(ColorConstants.lightGray);
                        g.setForegroundColor(ColorConstants.lightGray);
                        if (getLayoutManager().hasHeaderRow()) {
                            drawHeadersRowBackground(g);
                            drawHeadersRowSeparator(g);
                        }
                        drawColumnSeparators(g);
                        int oldAlpha = g.getAlpha();
                        g.setAlpha(80);
                        drawRowSeparators(g);
                        drawTableColumnsBorder(g);
                        drawTableRowsBorder(g);
                        g.setAlpha(oldAlpha);
                    }
                };
                if (featuresStyling.length > 0) {
                    TableRowFigure tableHeaderFigure = new TableRowFigure();
                    TableLayout tableLayout = tableFigure.getLayoutManager();
                    int i = 0;
                    for (IFeatureStyling fs : featuresStyling) {
                        tableHeaderFigure.addLabel(fs.getName());
                        tableLayout.withColumnAlignment(i++, fs.getAlignment());
                    }
                    tableFigure.add(tableHeaderFigure, TableLayout.Placement.HEADER);
                }
                return createContentPane(getChildrenPaneIndex(), tableFigure);
            }
        };
    } else
        return new NodeWithCompositeBranchFigure(entityStyling) {

            @Override
            protected int getChildrenPaneIndex() {
                return 0;
            }

            @Override
            protected IEntityFigure createTypeLabelFigure() {
                String name = entityStyling.getTypeLabel();
                return LabelFactory.createDeclaration(name);
            }

            @Override
            protected IEntityFigure createChildrenFigure() {
                CompositeFigure compositeFigure = new CompositeFigure(false);
                compositeFigure.setBorder(CompositePlaceHolderBorder.OPTIONAL_VERTICAL);
                compositeFigure.getLayoutManager().withSpacing(4).withMarginLeft(0).withMarginRight(10).withMinorAlignment(Alignment.LEADING);
                return createContentPane(getChildrenPaneIndex(), compositeFigure);
            }
        };
}
Also used : CompositeTableFigure(org.whole.lang.ui.notations.styledtree.figures.CompositeTableFigure) TableFigure(org.whole.lang.ui.figures.TableFigure) IEntityFigure(org.whole.lang.ui.figures.IEntityFigure) EntityFigure(org.whole.lang.ui.figures.EntityFigure) IFeatureStyling(org.whole.lang.ui.notations.styledtree.styling.IFeatureStyling) Graphics(org.eclipse.draw2d.Graphics) TableRowFigure(org.whole.lang.ui.figures.TableRowFigure) NodeWithCompositeBranchFigure(org.whole.lang.ui.notations.styledtree.figures.NodeWithCompositeBranchFigure) CompositeFigure(org.whole.lang.ui.figures.CompositeFigure) IEntityFigure(org.whole.lang.ui.figures.IEntityFigure) MonoLayout(org.whole.lang.ui.layout.MonoLayout) CompositeTableFigure(org.whole.lang.ui.notations.styledtree.figures.CompositeTableFigure) TableLayout(org.whole.lang.ui.layout.TableLayout)

Aggregations

CompositeTableFigure (org.whole.lang.ui.notations.styledtree.figures.CompositeTableFigure)2 NodeWithCompositeBranchFigure (org.whole.lang.ui.notations.styledtree.figures.NodeWithCompositeBranchFigure)2 Graphics (org.eclipse.draw2d.Graphics)1 CompositeFigure (org.whole.lang.ui.figures.CompositeFigure)1 EntityFigure (org.whole.lang.ui.figures.EntityFigure)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 MonoLayout (org.whole.lang.ui.layout.MonoLayout)1 TableLayout (org.whole.lang.ui.layout.TableLayout)1 DataNodeFigure (org.whole.lang.ui.notations.styledtree.figures.DataNodeFigure)1 SimpleTableNodeWithBranchesFigure (org.whole.lang.ui.notations.styledtree.figures.SimpleTableNodeWithBranchesFigure)1 IEntityStyling (org.whole.lang.ui.notations.styledtree.styling.IEntityStyling)1 IFeatureStyling (org.whole.lang.ui.notations.styledtree.styling.IFeatureStyling)1 INotationStyling (org.whole.lang.ui.notations.styledtree.styling.INotationStyling)1