UNPKG

@eclipse-glsp/graph

Version:

The typescript implementation of the GLSP graphical model (GModel)

74 lines 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GEdgeBuilder = exports.GEdge = void 0; /******************************************************************************** * Copyright (c) 2022 STMicroelectronics and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0. * * This Source Code may also be made available under the following Secondary * Licenses when the conditions for such availability set forth in the Eclipse * Public License v. 2.0 are satisfied: GNU General Public License, version 2 * with the GNU Classpath Exception which is available at * https://www.gnu.org/software/classpath/license.html. * * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 ********************************************************************************/ const protocol_1 = require("@eclipse-glsp/protocol"); const gmodel_element_1 = require("./gmodel-element"); class GEdge extends gmodel_element_1.GModelElement { constructor() { super(...arguments); this.type = protocol_1.DefaultTypes.EDGE; this.routingPoints = []; } static builder() { return new GEdgeBuilder(GEdge).type(protocol_1.DefaultTypes.EDGE); } } exports.GEdge = GEdge; (function (GEdge) { function is(object) { return GEdge.is(object); } GEdge.is = is; })(GEdge || (exports.GEdge = GEdge = {})); class GEdgeBuilder extends gmodel_element_1.GModelElementBuilder { source(source) { this.proxy.sourceId = source.id; return this; } sourceId(sourceId) { this.proxy.sourceId = sourceId; return this; } target(target) { this.proxy.targetId = target.id; return this; } targetId(targetId) { this.proxy.targetId = targetId; return this; } routerKind(routerKind) { this.proxy.routerKind = routerKind; return this; } addRoutingPoint(xOrPoint, y) { if (typeof xOrPoint === 'object') { this.proxy.routingPoints.push(xOrPoint); } else if (y) { this.proxy.routingPoints.push({ x: xOrPoint, y }); } return this; } addRoutingPoints(...routingPoints) { (0, protocol_1.flatPush)(this.proxy.routingPoints, routingPoints); return this; } } exports.GEdgeBuilder = GEdgeBuilder; //# sourceMappingURL=gedge.js.map