@petristation/renewjs
Version:
Parser for .rnw files
1,034 lines (987 loc) • 31.8 kB
JavaScript
export function makeGrammar(version) {
return {
get version() {
return version
},
aliases: {
"de.renew.gui.fs.AssocArrowTip": "de.renew.gui.AssocArrowTip",
"de.renew.gui.fs.IsaArrowTip": "de.renew.gui.IsaArrowTip",
"de.renew.diagram.AssocArrowTip": "de.renew.gui.AssocArrowTip",
"de.renew.fa.figures.AssocArrowTip": "de.renew.gui.AssocArrowTip",
"CH.ifa.draw.cpn.DeclarationFigure": "de.renew.gui.DeclarationFigure",
"CH.ifa.draw.cpn.CPNDrawing": "de.renew.gui.CPNDrawing",
"CH.ifa.draw.cpn.PlaceFigure": "de.renew.gui.PlaceFigure",
"CH.ifa.draw.cpn.TransitionFigure": "de.renew.gui.TransitionFigure",
"CH.ifa.draw.cpn.ArcConnection": "de.renew.gui.ArcConnection",
"CH.ifa.draw.cpn.CPNTextFigure": "de.renew.gui.CPNTextFigure",
},
rules: {
"CH.ifa.draw.standard.AbstractFigure": {
super: null,
interfaces: ['CH.ifa.draw.framework.Figure',"CH.ifa.draw.framework.ParentFigure"],
},
"CH.ifa.draw.standard.CompositeFigure": {
super: "CH.ifa.draw.standard.AbstractFigure",
interfaces: ['CH.ifa.draw.framework.Figure'],
parser: (context) => {
const o = {
figures: []
}
const size = context.parseInt();
for (let i = 0; i < size; i++) {
o.figures.push(context.parseStorable('CH.ifa.draw.framework.Figure', true))
}
return o
},
writer: (object, context) => {
context.writeInt(object.figures.length)
for (let i = 0; i < object.figures.length; i++) {
context.writeStorable(object.figures[i])
context.writeLine()
}
},
},
"CH.ifa.draw.figures.GroupFigure": {
super: "CH.ifa.draw.standard.CompositeFigure",
interfaces: [],
},
"CH.ifa.draw.standard.StandardDrawing": {
super: "CH.ifa.draw.standard.CompositeFigure",
interfaces: ['CH.ifa.draw.framework.Figure'],
},
"CH.ifa.draw.figures.FigureAttributes": {
interfaces: [],
parser: (context) => {
if(context.parseString() !== "attributes") {
throw new Error("Attributes expected")
}
const numAttributes = context.parseInt();
const o = {attrs: {}, attrTypes: {}}
for(let i =0;i<numAttributes;i++) {
const key = context.parseString()
const type = context.parseString()
let val;
if (type === "Color") {
if(version < 11) {
val = {[context.kindKey]:"color", r:context.parseInt(), g:context.parseInt(), b:context.parseInt()};
} else {
val = {[context.kindKey]:"color", r:context.parseInt(), g:context.parseInt(), b:context.parseInt(), a:context.parseInt()};
}
} else if (type === "Boolean") {
val = context.parseString().toLowerCase() === "true";
} else if (type === "String") {
val = context.parseString();
} else if (type === "Int") {
val = context.parseInt()
} else if (type === "Storable") {
val = context.parseStorable();
} else if (type === "UNKNOWN") {
continue;
}
o.attrs[key] = val
o.attrTypes[key] = type
}
return o
},
writer: (object, context) => {
const keys = Object.keys(object.attrs)
context.writeString("attributes");
context.writeInt(keys.length)
for (let i = 0; i < keys.length; i++) {
const key = keys[i]
const val = object.attrs[key]
const type = object.attrTypes[key]
context.writeString(key);
context.writeString(type);
if (type === "Color") {
if(version < 11) {
context.writeInt(val.r)
context.writeInt(val.g)
context.writeInt(val.b)
} else {
context.writeInt(val.r)
context.writeInt(val.g)
context.writeInt(val.b)
context.writeInt(val.a ?? 255)
}
} else if (type === "Boolean") {
context.writeString(val ? "true" : "false")
} else if (type === "String") {
context.writeString(val)
} else if (type === "Int") {
context.writeInt(val)
} else if (type === "Storable") {
context.writeStorable(val)
} else {
context.writeStorable(val)
}
}
},
},
"CH.ifa.draw.figures.AttributeFigure": {
super: "CH.ifa.draw.standard.AbstractFigure",
interfaces: [],
parser: (context) => {
const o = {}
if(context.parseString() === "attributes") {
o.attributes = context.parseImplicitStorable("CH.ifa.draw.figures.FigureAttributes", false)
}
return o
},
writer: (object, context) => {
if(object.attributes) {
context.writeString("attributes")
context.writeImplicitStorable("CH.ifa.draw.figures.FigureAttributes", object.attributes);
} else {
context.writeString("no_attributes")
}
},
},
"CH.ifa.draw.figures.RectangleFigure": {
super: "CH.ifa.draw.figures.AttributeFigure",
interfaces: [],
parser: (context) => {
return {
x: context.parseInt(),
y: context.parseInt(),
w: context.parseInt(),
h: context.parseInt(),
}
},
writer: (object, context) => {
context.writeInt(object.x)
context.writeInt(object.y)
context.writeInt(object.w)
context.writeInt(object.h)
},
},
"CH.ifa.draw.contrib.DiamondFigure": {
super: "CH.ifa.draw.figures.RectangleFigure",
interfaces: [],
},
"de.renew.hierarchicalworkflownets.gui.HNViewDrawing": {
super: "de.renew.gui.CPNDrawing",
skipSuper: true,
interfaces: [],
parser: (context) => {
const o = {
figures: []
}
function readNode() {
const n = context.parseInt();
for (let i = 0; i < n; ++i) {
const name = context.parseString();
const figure = context.parseStorable("CH.ifa.draw.framework.Figure");
readNode();
}
}
readNode()
const n1 = context.parseInt();
for (let i = 0; i < n1; ++i) {
const ac = context.parseStorable("de.renew.gui.ArcConnection");
// Node f = nodesByFigures_.get(ac.startFigure());
// Node t = nodesByFigures_.get(ac.endFigure());
// Arc a = new Arc(f, t);
// hn_.add(a);
// arcConnectionsByArcs_.put(a, ac);
// drawing_.add(ac);
}
const n2 = context.parseInt();
for (let i = 0; i < n2; ++i) {
o.figures.push(context.parseStorable("CH.ifa.draw.framework.Figure"))
}
return o
},
writer: (object, context) => {
//TODO
throw new Exception("Not yet implemented!")
},
},
"de.renew.hierarchicalworkflownets.gui.HNPlaceFigure": {
super: "de.renew.gui.PlaceFigure",
interfaces: [],
},
"de.renew.workflow.TaskFigure": {
super: "de.renew.gui.TransitionFigure",
interfaces: [],
},
"de.renew.wfnet.TaskFigure": {
super: "de.renew.gui.TransitionFigure",
interfaces: [],
},
"CH.ifa.draw.contrib.PolygonFigure": {
super: "CH.ifa.draw.figures.AttributeFigure",
interfaces: ["CH.ifa.draw.figures.PolyLineable"],
parser: (context) => {
const o = {points: []}
const size = context.parseInt()
for (let i = 0; i < size; i++) {
o.points.push({
x: context.parseInt(),
y: context.parseInt(),
})
}
return o
},
writer: (object, context) => {
context.writeInt(object.points.length)
for (let i = 0; i < object.points.length; i++) {
context.writeInt(object.points[i].x)
context.writeInt(object.points[i].y)
}
},
},
"de.renew.hierarchicalworkflownets.gui.HNTransitionFigure": {
super: "de.renew.gui.TransitionFigure",
interfaces: [],
},
"de.renew.hierarchicalworkflownets.gui.layout.Vec2d": {
super: false,
interfaces: [],
parser: (context) => {
return {
x: context.parseFloat(),
y: context.parseFloat(),
}
},
writer: (object, context) => {
context.writeFloat(object.x)
context.writeFloat(object.y)
},
},
"CH.ifa.draw.figures.EllipseFigure": {
super: "CH.ifa.draw.figures.AttributeFigure",
interfaces: [],
parser: (context) => {
return {
x: context.parseInt(),
y: context.parseInt(),
w: context.parseInt(),
h: context.parseInt(),
}
},
writer: (object, context) => {
context.writeInt(object.x)
context.writeInt(object.y)
context.writeInt(object.w)
context.writeInt(object.h)
},
},
"CH.ifa.draw.figures.RoundRectangleFigure": {
super: "CH.ifa.draw.figures.AttributeFigure",
interfaces: [],
parser: (context) => {
return {
x: context.parseInt(),
y: context.parseInt(),
w: context.parseInt(),
h: context.parseInt(),
arcWidth: context.parseInt(),
arcHeight: context.parseInt(),
}
},
writer: (object, context) => {
context.writeInt(object.x)
context.writeInt(object.y)
context.writeInt(object.w)
context.writeInt(object.h)
context.writeInt(object.arcWidth)
context.writeInt(object.arcHeight)
},
},
"de.renew.gui.TransitionFigure": {
super: "CH.ifa.draw.figures.RectangleFigure",
interfaces: ["CH.ifa.draw.framework.Figure","de.renew.gui.InscribableFigure", "CH.ifa.draw.framework.ParentFigure"],
parser: (context) => {
if(version >= 4) {
return {
highlightFigure: context.parseStorable("CH.ifa.draw.framework.Figure"),
}
} else {
return {}
}
},
writer: (object, context) => {
if(version >= 4) {
context.writeStorable(object.highlightFigure);
}
},
},
"de.renew.gui.PlaceFigure": {
super: "CH.ifa.draw.figures.EllipseFigure",
interfaces: ["CH.ifa.draw.framework.Figure","de.renew.gui.InscribableFigure", "CH.ifa.draw.framework.ParentFigure"],
parser: (context) => {
if(version >= 3) {
return {
highlightFigure: context.parseStorable("CH.ifa.draw.framework.Figure"),
}
} else {
return {}
}
},
writer: (object, context) => {
if(version >= 3) {
context.writeStorable(object.highlightFigure);
}
},
},
"de.renew.gui.VirtualPlaceFigure": {
super: "de.renew.gui.PlaceFigure",
interfaces: [],
parser: (context) => {
return {
placeFigure: context.parseStorable("de.renew.gui.PlaceFigure"),
}
},
writer: (object, context) => {
context.writeStorable(object.placeFigure);
},
},
"de.renew.gui.ArcConnection": {
super: "CH.ifa.draw.figures.LineConnection",
interfaces: ["CH.ifa.draw.framework.Figure","de.renew.gui.InscribableFigure", "CH.ifa.draw.framework.ParentFigure"],
},
"de.renew.gui.DoubleArcConnection": {
super: "de.renew.gui.ArcConnection",
interfaces: [],
},
"de.renew.gui.HollowDoubleArcConnection": {
super: "de.renew.gui.ArcConnection",
interfaces: [],
},
"de.renew.gui.InhibitorConnection": {
super: "de.renew.gui.ArcConnection",
interfaces: [],
},
"de.renew.gui.fs.ConceptConnection": {
super: "CH.ifa.draw.figures.LineConnection",
interfaces: ["CH.ifa.draw.framework.Figure"],
},
"de.renew.gui.fs.IsaConnection": {
super: "de.renew.gui.fs.ConceptConnection",
interfaces: [],
parser: (context) => {
return {
isDisjunctive: context.parseBoolean(),
}
},
writer: (object, context) => {
context.writeBoolean(object.isDisjunctive);
},
},
"fs.IsaConnection": {
super: "de.renew.gui.fs.ConceptConnection",
interfaces: [],
},
"de.renew.gui.IsaArrowTip": {
super: "CH.ifa.draw.figures.ArrowTip",
interfaces: [],
},
"de.renew.gui.fs.IsaArrowTip": {
super: "CH.ifa.draw.figures.ArrowTip",
interfaces: [],
},
"fs.IsaArrowTip": {
super: "CH.ifa.draw.figures.ArrowTip",
interfaces: [],
},
"de.renew.gui.DoubleArrowTip": {
super: "CH.ifa.draw.figures.ArrowTip",
interfaces: [],
},
"CH.ifa.draw.figures.AbstractLocator": {
super: null,
interfaces: ["CH.ifa.draw.framework.Locator"],
},
"de.renew.gui.fs.ConceptFigure": {
super: "CH.ifa.draw.figures.TextFigure",
interfaces: ["CH.ifa.draw.framework.Locator"],
},
"fs.ConceptFigure": {
super: "CH.ifa.draw.figures.TextFigure",
interfaces: ["CH.ifa.draw.framework.Locator"],
parser: (context) => {
if(version < 0) {
return {
type: context.parseInt()
}
} else {
return {}
}
},
writer: (object, context) => {
if(version < 0) {
context.writeInt(object.type)
}
},
},
"fs.PartitionFigure": {
super: "CH.ifa.draw.figures.AttributeFigure",
interfaces: ["CH.ifa.draw.framework.Locator"],
parser: (context) => {
return {
x: context.parseInt(),
y: context.parseInt(),
w: context.parseInt(),
h: context.parseInt(),
}
},
writer: (object, context) => {
context.writeInt(object.x)
context.writeInt(object.y)
context.writeInt(object.w)
context.writeInt(object.h)
},
},
"de.renew.gui.fs.FSNodeFigure": {
super: "CH.ifa.draw.figures.TextFigure",
interfaces: ["CH.ifa.draw.framework.Locator"],
},
"CH.ifa.draw.contrib.ChopPolygonConnector": {
super: "CH.ifa.draw.standard.ChopBoxConnector",
interfaces: [],
},
"CH.ifa.draw.figures.ShortestDistanceConnector": {
super: "CH.ifa.draw.standard.AbstractConnector",
interfaces: [],
},
"CH.ifa.draw.figures.ElbowConnection": {
super: "CH.ifa.draw.figures.LineConnection",
interfaces: [],
},
"de.renew.gui.fs.FeatureConnection": {
super: "CH.ifa.draw.figures.LineConnection",
interfaces: [],
},
"CH.ifa.draw.figures.ChopRoundRectangleConnector": {
super: "CH.ifa.draw.standard.ChopBoxConnector",
interfaces: [],
},
"de.renew.gui.fs.UMLNoteFigure": {
super: "CH.ifa.draw.figures.TextFigure",
interfaces: [],
},
"de.renew.wfnet.TaskFigure": {
super: "de.renew.gui.TransitionFigure",
interfaces: [],
},
"de.renew.gui.fs.AssocConnection": {
super: "de.renew.gui.fs.ConceptConnection",
interfaces: [],
},
"de.renew.gui.AssocArrowTip": {
super: "CH.ifa.draw.figures.ArrowTip",
interfaces: [],
},
"de.renew.gui.fs.AssocArrowTip": {
super: "CH.ifa.draw.figures.ArrowTip",
interfaces: [],
},
"de.renew.bpmn.roundtrip.RoundtripNetComponentFigure": {
super: "de.renew.netcomponents.NetComponentFigure",
interfaces: [],
parser: (context) => {
context.skipAny(["ref", "string"])
return {
}
},
writer: (object, context) => {
context.writeString("NOT SURE WHAT THIS IS")
},
},
"CH.ifa.draw.standard.OffsetLocator": {
super: "CH.ifa.draw.figures.AbstractLocator",
interfaces: ["CH.ifa.draw.framework.Locator"],
parser: (context) => {
return {
fOffsetX: context.parseInt(),
fOffsetY: context.parseInt(),
fBase: context.parseStorable("CH.ifa.draw.framework.Locator"),
}
},
writer: (object, context) => {
context.writeInt(object.fOffsetX)
context.writeInt(object.fOffsetY)
context.writeStorable(object.fBase)
},
},
"CH.ifa.draw.standard.RelativeLocator": {
super: "CH.ifa.draw.figures.AbstractLocator",
interfaces: ["CH.ifa.draw.framework.Locator"],
parser: (context) => {
return {
fOffsetX: context.parseDouble(),
fOffsetY: context.parseDouble(),
}
},
writer: (object, context) => {
context.writeInt(object.fOffsetX)
context.writeInt(object.fOffsetY)
},
},
"CH.ifa.draw.figures.PolyLineFigure": {
super: version >= 1 ? "CH.ifa.draw.figures.AttributeFigure" : null,
interfaces: ["CH.ifa.draw.figures.PolyLineable"],
parser: (context) => {
const size = context.parseInt()
const o = {
points: [],
}
for (let i = 0; i < size; i++) {
const x = context.parseInt();
const y = context.parseInt();
o.points.push({x,y});
}
o.startDecoration = context.parseStorable("CH.ifa.draw.figures.LineDecoration");
o.endDecoration = context.parseStorable("CH.ifa.draw.figures.LineDecoration");
if(version >= 8) {
o.arrowName = context.parseString();
}
if(version === -1) {
o.frameColor = {r:context.parseInt(), g:context.parseInt(), b:context.parseInt()}
}
return o;
},
writer: (object, context) => {
context.writeInt(object.points.length)
for (let i = 0; i < object.points.length; i++) {
context.writeInt(object.points[i].x)
context.writeInt(object.points[i].y)
}
context.writeStorable(object.startDecoration)
context.writeStorable(object.endDecoration)
if(version >= 8) {
context.writeString("CH.ifa.draw.figures.ArrowTip");
}
if(version === -1) {
context.writeInt(object.frameColor.r??0)
context.writeInt(object.frameColor.g??0)
context.writeInt(object.frameColor.b??0)
}
},
},
"CH.ifa.draw.figures.LineConnection": {
super: "CH.ifa.draw.figures.PolyLineFigure",
interfaces: [],
parser: (context) => {
return {
start: context.parseStorable('CH.ifa.draw.framework.Connector'),
end: context.parseStorable('CH.ifa.draw.framework.Connector'),
}
},
writer: (object, context) => {
context.writeStorable(object.start)
context.writeStorable(object.end)
},
},
"CH.ifa.draw.figures.ArrowTip": {
super: null,
interfaces: ["CH.ifa.draw.figures.LineDecoration"],
parser: (context) => {
if(version >= 5) {
return {
Angle : context.parseDouble(),
fOuterRadius : context.parseDouble(),
fInnerRadius : context.parseDouble(),
fFilled : context.parseBoolean(),
}
} else {
return {}
}
},
writer: (object, context) => {
if(version >= 5) {
context.writeDouble(object.Angle)
context.writeDouble(object.fOuterRadius)
context.writeDouble(object.fInnerRadius)
context.writeBoolean(object.fFilled)
}
},
},
"de.renew.gui.CircleDecoration": {
super: null,
interfaces: ["CH.ifa.draw.figures.LineDecoration"],
},
"CH.ifa.draw.standard.ChopBoxConnector": {
super: "CH.ifa.draw.standard.AbstractConnector",
interfaces: ["CH.ifa.draw.framework.Connector"],
},
"CH.ifa.draw.figures.ChopEllipseConnector": {
super: "CH.ifa.draw.standard.ChopBoxConnector",
interfaces: ["CH.ifa.draw.framework.Connector"],
},
"CH.ifa.draw.standard.AbstractConnector": {
super: null,
interfaces: ["CH.ifa.draw.framework.Connector"],
parser: (context) => {
return {
owner : context.parseStorable("CH.ifa.draw.framework.Figure"),
}
},
writer: (object, context) => {
context.writeStorable(object.owner)
},
},
"de.renew.gui.DeclarationFigure": {
super: "de.renew.gui.CPNTextFigure",
interfaces: [],
},
"fs.FSFigure": {
super: "de.renew.gui.fs.FSFigure",
interfaces: [],
},
"de.renew.gui.fs.FSFigure": {
super: version >-1 && version <= 5 ? "CH.ifa.draw.figures.TextFigure" : "de.renew.gui.CPNTextFigure",
interfaces: [],
parser: (context) => {
const o = {paths: []}
if (version <= 5) {
o.fType = 1
} else if(version > 6) {
o.frameColor = "black"
if (version > 6) {
// read list of paths for open nodes:
const paths = context.parseInt();
for(let i=0;i<paths;i++) {
o.paths.push(context.parseString())
}
}
}
return o;
},
writer: (object, context) => {
if (version > 6) {
context.writeInt(object.paths.length)
const paths = object.paths;
for(let i=0;i<object.paths.length;i++) {
context.writeString(object.paths[i])
}
}
},
},
"CH.ifa.draw.figures.TextFigure": {
super: "CH.ifa.draw.figures.AttributeFigure",
interfaces: [],
parser: (context) => {
const text= {
fOriginX: context.parseInt(),
fOriginY: context.parseInt(),
text: context.parseString(),
fCurrentFontName: context.parseString(),
fCurrentFontStyle: context.parseInt(),
fCurrentFontSize: context.parseInt(),
fIsReadOnly: context.parseBoolean(),
fParent: context.parseStorable("CH.ifa.draw.framework.ParentFigure"),
fLocator: context.parseStorable("CH.ifa.draw.standard.OffsetLocator"),
}
text.lines = text.text.split("\n").filter(x=>x)
return text
},
writer: (object, context) => {
context.writeInt(object.fOriginX);
context.writeInt(object.fOriginY);
context.writeString(object.lines ? object.lines.join("\n") : object.text);
context.writeString(object.fCurrentFontName);
context.writeInt(object.fCurrentFontStyle);
context.writeInt(object.fCurrentFontSize);
context.writeBoolean(object.fIsReadOnly);
context.writeStorable(object.fParent);
context.writeStorable(object.fLocator);
},
},
"de.renew.gui.CPNTextFigure": {
super: "CH.ifa.draw.figures.TextFigure",
interfaces: [],
parser: (context) => {
return {
fType: context.parseInt(),
}
},
writer: (object, context) => {
context.writeInt(object.fType);
},
},
"CH.ifa.draw.figures.ImageFigure": {
super: "CH.ifa.draw.figures.AttributeFigure",
interfaces: [],
parser: (context) => {
return {
x: context.parseInt(),
y: context.parseInt(),
w: context.parseInt(),
h: context.parseInt(),
name: context.parseString(),
}
},
writer: (object, context) => {
context.writeInt(object.x)
context.writeInt(object.y)
context.writeInt(object.w)
context.writeInt(object.h)
context.writeString(object.name)
},
},
"fs.TypeFigure": {
super: "CH.ifa.draw.figures.TextFigure",
interfaces: [],
parser: (context) => {
return {
type: context.parseInt(),
}
},
writer: (object, context) => {
context.writeInt(object.type)
},
},
"CH.ifa.draw.figures.LineFigure": {
super: "CH.ifa.draw.figures.PolyLineFigure",
interfaces: [],
},
"CH.ifa.draw.contrib.TriangleFigure": {
super: "CH.ifa.draw.figures.RectangleFigure",
interfaces: [],
parser: (context) => {
return {
rotation: context.parseInt(),
}
},
writer: (object, context) => {
context.writeInt(object.rotation)
},
},
"CH.ifa.draw.figures.CompositeAttributeFigure": {
super: version > 9 ? "CH.ifa.draw.figures.AttributeFigure" : null,
interfaces: [],
parser: (context) => {
const o = {figures: []}
const size = context.parseInt();
for (let i = 0; i < size; i++) {
o.figures.push(context.parseStorable('CH.ifa.draw.framework.Figure'))
}
return o
},
writer: (object, context) => {
context.writeInt(object.figures.length)
for (let i = 0; i < object.figures.length; i++) {
context.writeStorable(object.figures[i])
context.writeLine()
}
},
},
"de.renew.netcomponents.NetComponentFigure": {
super: "CH.ifa.draw.figures.CompositeAttributeFigure",
interfaces: [],
},
"de.renew.gui.CPNDrawing": {
super: "CH.ifa.draw.standard.StandardDrawing",
interfaces: ['CH.ifa.draw.framework.Figure'],
parser: (context) => {
if(version >= 2) {
return {
icon: context.parseStorable("CH.ifa.draw.standard.AbstractFigure")
}
} else {
return {}
}
},
writer: (object, context) => {
if(version >= 2) {
context.writeStorable(object.icon)
}
},
},
"de.renew.sdnet.gui.SDNDrawing": {
super: "de.renew.gui.CPNDrawing",
interfaces: ['CH.ifa.draw.framework.Figure'],
},
"de.renew.sdnet.gui.figure.SDNPlaceTextFigure": {
super: "de.renew.gui.CPNTextFigure",
interfaces: ['CH.ifa.draw.framework.Figure'],
},
"de.renew.diagram.drawing.DiagramDrawing": {
super: "CH.ifa.draw.standard.StandardDrawing",
interfaces: [],
},
"de.renew.diagram.RoleDescriptorFigure": {
super: "de.renew.diagram.TailFigure",
interfaces: ["RepresentableRoleFigure"],
},
"de.renew.diagram.DiagramFigure": {
super: "CH.ifa.draw.figures.AttributeFigure",
interfaces: ["de.renew.diagram.RepresentableDiagramFigure"],
parser: (context) => {
return {
displayBox: {
x: context.parseInt(),
y: context.parseInt(),
w: context.parseInt(),
h: context.parseInt(),
}
}
},
writer: (object, context) => {
context.writeInt(object.displayBox.x)
context.writeInt(object.displayBox.y)
context.writeInt(object.displayBox.w)
context.writeInt(object.displayBox.h)
},
},
"de.renew.diagram.TailFigure": {
super: "de.renew.diagram.DiagramFigure",
interfaces: ["de.renew.diagram.RepresentableTailFigure"],
},
"de.renew.diagram.LifeLineLogicFigure": {
super: "de.renew.diagram.TailFigure",
interfaces: ["de.renew.diagram.RepresentableLifeLineLogicFigure","de.renew.diagram.ISplitFigure"],
parser: (context) => {
const decoration = context.parseStorable("de.renew.diagram.FigureDecoration");
const _skip = context.parseString()
return {
decoration
}
},
writer: (object, context) => {
context.writeStorable(object.decoration)
context.writeString("de.renew.diagram.FigureDecoration")
},
},
"de.renew.diagram.VSplitFigure": {
super: "de.renew.diagram.LifeLineLogicFigure",
interfaces: [],
},
"de.renew.diagram.VJoinFigure": {
super: "de.renew.diagram.LifeLineLogicFigure",
interfaces: [],
},
"de.renew.diagram.HSplitFigure": {
super: "de.renew.diagram.DiagramFigure",
interfaces: [],
parser: (context) => {
const decoration = context.parseStorable("de.renew.diagram.FigureDecoration");
context.parseString()
return {
decoration
}
},
writer: (object, context) => {
context.writeStorable(object.decoration)
context.writeString("de.renew.diagram.FigureDecoration")
},
},
"de.renew.diagram.VSplitCenterConnector": {
super: "CH.ifa.draw.standard.AbstractConnector",
interfaces: [],
},
"de.renew.diagram.HSplitCenterConnector": {
super: "CH.ifa.draw.standard.AbstractConnector",
interfaces: [],
},
"de.renew.diagram.SplitDecoration": {
super: null,
interfaces: ["de.renew.diagram.FigureDecoration"],
parser: (context) => {
return {
size : context.parseInt(),
halfSize : context.parseInt(),
}
},
writer: (object, context) => {
context.writeInt(object.size)
context.writeInt(object.halfSize)
},
},
"de.renew.diagram.XORDecoration": {
super: "de.renew.diagram.SplitDecoration",
interfaces: [],
},
"de.renew.diagram.ANDDecoration": {
super: "de.renew.diagram.SplitDecoration",
interfaces: [],
},
"de.renew.diagram.LifeLineConnection": {
super: "CH.ifa.draw.figures.LineConnection",
interfaces: [],
},
"de.renew.diagram.VerticalConnector": {
super: "CH.ifa.draw.standard.AbstractConnector",
interfaces: [],
},
"de.renew.diagram.HorizontalConnector": {
super: "CH.ifa.draw.standard.AbstractConnector",
interfaces: [],
},
"de.renew.diagram.TopConnector": {
super: "CH.ifa.draw.standard.AbstractConnector",
interfaces: [],
},
"de.renew.diagram.RightConnector": {
super: "CH.ifa.draw.standard.AbstractConnector",
interfaces: [],
},
"de.renew.diagram.HTopConnector": {
super: "CH.ifa.draw.standard.AbstractConnector",
interfaces: [],
},
"de.renew.diagram.HBottomConnector": {
super: "CH.ifa.draw.standard.AbstractConnector",
interfaces: [],
},
"de.renew.diagram.DiagramTextFigure": {
super: "CH.ifa.draw.figures.TextFigure",
interfaces: [],
},
"de.renew.diagram.DCServiceTextFigure": {
super: "CH.ifa.draw.figures.TextFigure",
interfaces: [],
},
"de.renew.diagram.ActionTextFigure": {
super: "CH.ifa.draw.figures.TextFigure",
interfaces: [],
},
"de.renew.diagram.BottomConnector": {
super: "CH.ifa.draw.standard.AbstractConnector",
interfaces: [],
},
"de.renew.diagram.LeftConnector": {
super: "CH.ifa.draw.standard.AbstractConnector",
interfaces: [],
},
"de.renew.diagram.TaskFigure": {
super: "de.renew.diagram.TailFigure",
interfaces: [],
},
"de.renew.diagram.DestructionFigure": {
super: "de.renew.diagram.TailFigure",
interfaces: [],
},
"de.renew.diagram.AbstractMessageConnection": {
super: "CH.ifa.draw.figures.LineConnection",
interfaces: [],
},
"de.renew.diagram.MessageConnection": {
super: "de.renew.diagram.AbstractMessageConnection",
interfaces: [],
},
"de.renew.diagram.SynchronousMessageConnection": {
super: "de.renew.diagram.AbstractMessageConnection",
interfaces: [],
},
"de.renew.diagram.SynchronousMessageArrowTip": {
super: "CH.ifa.draw.figures.ArrowTip",
interfaces: [],
},
"de.renew.diagram.SynchronousReplyConnection": {
super: "de.renew.diagram.AbstractMessageConnection",
interfaces: [],
},
"de.renew.diagram.DiagramFrameFigure": {
super: "CH.ifa.draw.figures.RoundRectangleFigure",
interfaces: [],
},
"de.renew.diagram.AssocArrowTip": {
super: "de.renew.gui.AssocArrowTip",
interfaces: [],
},
}
}
}