@Override protected IFigure createFigure() { Figure f = new FreeformViewport(); ToolbarLayout tb = new AnimationLayoutManager(true); tb.setSpacing(30); tb.setStretchMinorAxis(false); f.setLayoutManager(tb); f.setBorder( new MarginBorder( DiagramModel.TOP_MARGIN, DiagramModel.SIDE_MARGIN, DiagramModel.BOTTOM_MARGIN, DiagramModel.SIDE_MARGIN)); f.addMouseMotionListener(this); f.setBackgroundColor(ColorScheme.diagramBackground); IFigure label = new Label( " \n Drag classes or methods from the Package Explorer " + "into the diagram to explore and understand code." + "\n Or, use the expandable Palette on the right side of the diagram " + "to design."); this.nonEmptyFigure = new NonEmptyFigure(label); NonEmptyFigureSupport.instructionHighlight(label, 10); f.add(nonEmptyFigure); warning = new Label(""); warning.setLayoutManager(new ToolbarLayout()); NonEmptyFigureSupport.instructionHighlight(warning, 10); f.add(warning); return f; }
private void addInstancePanel() { final Figure instancePanel = new Figure(); instancePanel.setSize(new Dimension(300, DiagramModel.TOP_MARGIN)); ToolbarLayout tb = new AnimationLayoutManager(true); tb.setSpacing(30); tb.setStretchMinorAxis(false); instancePanel.setLayoutManager(tb); instancePanel.setBackgroundColor(ColorScheme.instancePanelBackground); instancePanel.setOpaque(true); BottomShadowBorder bottomBorder = new BottomShadowBorder(); bottomBorder.setColor(ColorScheme.instancePanelBottomBorder); int allSides = DiagramModel.INSTANCE_PANEL_MARGINS; instancePanel.setBorder( new CompoundBorder(bottomBorder, new MarginBorder(allSides, allSides, allSides, allSides))); ((DiagramModel) getModel()).setInstancePanel(instancePanel); SeqOrderedLayoutEditPolicy policy = (SeqOrderedLayoutEditPolicy) getEditPolicy(EditPolicy.LAYOUT_ROLE); policy.addInstancesPanel(instancePanel); getFigure() .addFigureListener( new FigureListener() { public void figureMoved(IFigure source) { instancePanel.setSize( getFigure().getBounds().width, instancePanel.getBounds().height); } }); }