This page shows you how to create diagram presentations by using Astah SysML API.
Use DiagramEditor to create diagrams and diagram presentations.
Diagram | Editor name | Create method |
---|---|---|
Block Definition Diagram Interface | BlockDefinitionDiagramEditor | createBlockDefinitionDiagram |
Internal Block Diagram Interface | InternalBlockDiagramEditor | createInternalBlockDiagram |
Parametric Diagram Interface | ParametricDiagramEditor | createParametricDiagram |
UseCase Diagram Interface | UseCaseDiagramEditor | createUseCaseDiagram |
Requirement Diagram Interface | RequirementDiagramEditor | createRequirementDiagram |
Statemachine Diagram Interface | StateMachineDiagramEditor | createStateMachineDiagram |
Sequence Diagram Interface | SequenceDiagramEditor | createSequenceDiagram |
Activity Diagram Interface | ActivityDiagramEditor | createActivityDiagram |
Mind Map Interface | MindmapEditor | createMindmap |
Transaction processing is required when creating/editing/deleting diagrams.
Please refer to the Transaction Process.
Sample Code: Creating a Block Definition Diagram
public IDiagram createBlockDefinitionDiagram(IModel project, String diagramName) throws InvalidUsingException, ClassNotFoundException { ProjectAccessor projectAccessor = AstahAPI.getAstahAPI().getProjectAccessor(); BlockDefinitionDiagramEditor bdde = projectAccessor.getDiagramEditorFactory().getBlockDefinitionDiagramEditor(); try { TransactionManager.beginTransaction(); IDiagram iBlockDefinitionDiagram = bdde.createBlockDefinitionDiagram(project, diagramName); TransactionManager.endTransaction(); return iBlockDefinitionDiagram; } catch (InvalidEditingException e) { e.printStackTrace(); TransactionManager.abortTransaction(); } }
Sample Code A: Deleting diagram
public void deleteDiagram(IDiagram diagram) throws ClassNotFoundException, InvalidUsingException { ProjectAccessor projectAccessor = AstahAPI.getAstahAPI().getProjectAccessor(); BlockDefinitionDiagramEditor bdde = projectAccessor.getDiagramEditorFactory().getBlockDefinitionDiagramEditor(); try { TransactionManager.beginTransaction(); bdde.setDiagram(diagram); bdde.deleteDiagram(); TransactionManager.endTransaction(); } catch (InvalidEditingException e) { e.printStackTrace(); TransactionManager.abortTransaction(); } }
Sample Code B: Deleting diagram
public void deleteDiagram(IDiagram diagram) throws ClassNotFoundException, InvalidUsingException { ProjectAccessor projectAccessor = AstahAPI.getAstahAPI().getProjectAccessor(); BlockDefinitionDiagramEditor bdde = projectAccessor.getDiagramEditorFactory().getBlockDefinitionDiagramEditor(); try { TransactionManager.beginTransaction(); bdde.delete(diagram); TransactionManager.endTransaction(); } catch (InvalidEditingException e) { e.printStackTrace(); TransactionManager.abortTransaction(); } }