//package org.eclipse.gmf.example.lesscode.diagram.edit.parts; // //import org.eclipse.draw2d.BorderLayout; //import org.eclipse.draw2d.IFigure; //import org.eclipse.draw2d.MarginBorder; //import org.eclipse.draw2d.RectangleFigure; //import org.eclipse.draw2d.RoundedRectangle; //import org.eclipse.draw2d.Shape; //import org.eclipse.draw2d.StackLayout; //import org.eclipse.draw2d.geometry.Dimension; //import org.eclipse.gef.EditPart; //import org.eclipse.gef.EditPolicy; //import org.eclipse.gef.Request; //import org.eclipse.gef.commands.Command; //import org.eclipse.gef.editpolicies.LayoutEditPolicy; //import org.eclipse.gef.editpolicies.NonResizableEditPolicy; //import org.eclipse.gef.requests.CreateRequest; //import org.eclipse.gmf.example.lesscode.diagram.edit.policies.Subject5ItemSemanticEditPolicy; //import org.eclipse.gmf.example.lesscode.diagram.part.LesscodeVisualIDRegistry; //import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart; //import org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart; //import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles; //import org.eclipse.gmf.runtime.draw2d.ui.figures.ConstrainedToolbarLayout; //import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel; //import org.eclipse.gmf.runtime.gef.ui.figures.DefaultSizeNodeFigure; //import org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure; //import org.eclipse.gmf.runtime.notation.View; //import org.eclipse.swt.SWT; //import org.eclipse.swt.graphics.Color; //import org.eclipse.swt.graphics.Font; //import org.eclipse.swt.widgets.Display; // ///** // * @generated // */ //public class Subject5EditPart extends ShapeNodeEditPart { // // /** // * @generated // */ // public static final int VISUAL_ID = 3004; // // /** // * @generated // */ // protected IFigure contentPane; // // /** // * @generated // */ // protected IFigure primaryShape; // // /** // * @generated // */ // public Subject5EditPart(View view) { // super(view); // } // // /** // * @generated // */ // protected void createDefaultEditPolicies() { // super.createDefaultEditPolicies(); // installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new Subject5ItemSemanticEditPolicy()); // installEditPolicy(EditPolicy.LAYOUT_ROLE, createLayoutEditPolicy()); // // XXX need an SCR to runtime to have another abstract superclass that would let children add reasonable editpolicies // // removeEditPolicy(org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles.CONNECTION_HANDLES_ROLE); // } // // /** // * @generated // */ // protected LayoutEditPolicy createLayoutEditPolicy() { // org.eclipse.gmf.runtime.diagram.ui.editpolicies.LayoutEditPolicy lep = new org.eclipse.gmf.runtime.diagram.ui.editpolicies.LayoutEditPolicy() { // // protected EditPolicy createChildEditPolicy(EditPart child) { // EditPolicy result = child.getEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE); // if (result == null) { // result = new NonResizableEditPolicy(); // } // return result; // } // // protected Command getMoveChildrenCommand(Request request) { // return null; // } // // protected Command getCreateCommand(CreateRequest request) { // return null; // } // }; // return lep; // } // // /** // * @generated // */ // protected IFigure createNodeShape() { // return primaryShape = new SubjectFigure(); // } // // /** // * @generated // */ // public SubjectFigure getPrimaryShape() { // return (SubjectFigure) primaryShape; // } // // /** // * @generated // */ // protected boolean addFixedChild(EditPart childEditPart) { // if (childEditPart instanceof SubjectName5EditPart) { // ((SubjectName5EditPart) childEditPart).setLabel(getPrimaryShape().getFigureSubjectNameFigure()); // return true; // } // if (childEditPart instanceof SubjectInSubject5EditPart) { // IFigure pane = getPrimaryShape().getFigureSubjectContentPaneFigure(); // setupContentPane(pane); // FIXME each comparment should handle his content pane in his own way // pane.add(((SubjectInSubject5EditPart) childEditPart).getFigure()); // return true; // } // return false; // } // // /** // * @generated // */ // protected boolean removeFixedChild(EditPart childEditPart) { // if (childEditPart instanceof SubjectName5EditPart) { // return true; // } // if (childEditPart instanceof SubjectInSubject5EditPart) { // IFigure pane = getPrimaryShape().getFigureSubjectContentPaneFigure(); // pane.remove(((SubjectInSubject5EditPart) childEditPart).getFigure()); // return true; // } // return false; // } // // /** // * @generated // */ // protected void addChildVisual(EditPart childEditPart, int index) { // if (addFixedChild(childEditPart)) { // return; // } // super.addChildVisual(childEditPart, -1); // } // // /** // * @generated // */ // protected void removeChildVisual(EditPart childEditPart) { // if (removeFixedChild(childEditPart)) { // return; // } // super.removeChildVisual(childEditPart); // } // // /** // * @generated // */ // protected IFigure getContentPaneFor(IGraphicalEditPart editPart) { // if (editPart instanceof SubjectInSubject5EditPart) { // return getPrimaryShape().getFigureSubjectContentPaneFigure(); // } // return getContentPane(); // } // // /** // * @generated // */ // protected NodeFigure createNodePlate() { // DefaultSizeNodeFigure result = new DefaultSizeNodeFigure(40, 40); // return result; // } // // /** // * Creates figure for this edit part. // * // * Body of this method does not depend on settings in generation model // * so you may safely remove <i>generated</i> tag and modify it. // * // * @generated // */ // protected NodeFigure createNodeFigure() { // NodeFigure figure = createNodePlate(); // figure.setLayoutManager(new StackLayout()); // IFigure shape = createNodeShape(); // figure.add(shape); // contentPane = setupContentPane(shape); // return figure; // } // // /** // * Default implementation treats passed figure as content pane. // * Respects layout one may have set for generated figure. // * @param nodeShape instance of generated figure class // * @generated // */ // protected IFigure setupContentPane(IFigure nodeShape) { // if (nodeShape.getLayoutManager() == null) { // ConstrainedToolbarLayout layout = new ConstrainedToolbarLayout(); // layout.setSpacing(5); // nodeShape.setLayoutManager(layout); // } // return nodeShape; // use nodeShape itself as contentPane // } // // /** // * @generated // */ // public IFigure getContentPane() { // if (contentPane != null) { // return contentPane; // } // return super.getContentPane(); // } // // /** // * @generated // */ // protected void setForegroundColor(Color color) { // if (primaryShape != null) { // primaryShape.setForegroundColor(color); // } // } // // /** // * @generated // */ // protected void setBackgroundColor(Color color) { // if (primaryShape != null) { // primaryShape.setBackgroundColor(color); // } // } // // /** // * @generated // */ // protected void setLineWidth(int width) { // if (primaryShape instanceof Shape) { // ((Shape) primaryShape).setLineWidth(width); // } // } // // /** // * @generated // */ // protected void setLineType(int style) { // if (primaryShape instanceof Shape) { // ((Shape) primaryShape).setLineStyle(style); // } // } // // /** // * @generated // */ // public EditPart getPrimaryChildEditPart() { // return getChildBySemanticHint(LesscodeVisualIDRegistry.getType(SubjectName5EditPart.VISUAL_ID)); // } // // /** // * @generated // */ // public class SubjectFigure extends RoundedRectangle { // // /** // * @generated // */ // private WrappingLabel fFigureSubjectNameFigure; // // /** // * @generated // */ // private RectangleFigure fFigureSubjectContentPaneFigure; // // /** // * @generated // */ // public SubjectFigure() { // // BorderLayout layoutThis = new BorderLayout(); // this.setLayoutManager(layoutThis); // // this.setCornerDimensions(new Dimension(6, 6)); // this.setLineWidth(3); // this.setForegroundColor(THIS_FORE); // this.setBackgroundColor(THIS_BACK); // this.setMinimumSize(new Dimension(40, 40)); // // this.setBorder(new MarginBorder(5, 3, 3, 3)); // createContents(); // } // // /** // * @generated // */ // private void createContents() { // // fFigureSubjectNameFigure = new WrappingLabel(); // // fFigureSubjectNameFigure.setText("<..>"); // // fFigureSubjectNameFigure.setFont(FFIGURESUBJECTNAMEFIGURE_FONT); // // this.add(fFigureSubjectNameFigure, BorderLayout.TOP); // // fFigureSubjectContentPaneFigure = new RectangleFigure(); // // this.add(fFigureSubjectContentPaneFigure, BorderLayout.CENTER); // // } // // /** // * @generated // */ // public WrappingLabel getFigureSubjectNameFigure() { // return fFigureSubjectNameFigure; // } // // /** // * @generated // */ // public RectangleFigure getFigureSubjectContentPaneFigure() { // return fFigureSubjectContentPaneFigure; // } // // } // // /** // * @generated // */ // static final Color THIS_FORE = new Color(null, 111, 142, 194); // // /** // * @generated // */ // static final Color THIS_BACK = new Color(null, 242, 245, 252); // // /** // * @generated // */ // static final Font FFIGURESUBJECTNAMEFIGURE_FONT = new Font(Display.getCurrent(), "Verdana", 9, SWT.BOLD); // //}