UNPKG

@eclipse-glsp/client

Version:

A sprotty-based client for GLSP

124 lines 5.39 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __param = (this && this.__param) || function (paramIndex, decorator) { return function (target, key) { decorator(target, key, paramIndex); } }; Object.defineProperty(exports, "__esModule", { value: true }); exports.MARQUEE = exports.MarqueeEndMovingMouseListener = exports.RemoveMarqueeCommand = exports.RemoveMarqueeAction = exports.DrawMarqueeCommand = exports.DrawMarqueeAction = void 0; exports.marqueeId = marqueeId; exports.drawMarquee = drawMarquee; exports.removeMarquee = removeMarquee; /******************************************************************************** * Copyright (c) 2021-2023 EclipseSource 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 inversify_1 = require("inversify"); const sprotty_1 = require("@eclipse-glsp/sprotty"); const feedback_command_1 = require("../../../base/feedback/feedback-command"); var DrawMarqueeAction; (function (DrawMarqueeAction) { DrawMarqueeAction.KIND = 'drawMarquee'; function is(object) { return sprotty_1.Action.hasKind(object, DrawMarqueeAction.KIND) && (0, sprotty_1.hasObjectProp)(object, 'startPoint') && (0, sprotty_1.hasObjectProp)(object, 'endPoint'); } DrawMarqueeAction.is = is; function create(options) { return { kind: DrawMarqueeAction.KIND, ...options }; } DrawMarqueeAction.create = create; })(DrawMarqueeAction || (exports.DrawMarqueeAction = DrawMarqueeAction = {})); let DrawMarqueeCommand = class DrawMarqueeCommand extends feedback_command_1.FeedbackCommand { constructor(action) { super(); this.action = action; } execute(context) { drawMarquee(context, this.action.startPoint, this.action.endPoint); return context.root; } }; exports.DrawMarqueeCommand = DrawMarqueeCommand; DrawMarqueeCommand.KIND = DrawMarqueeAction.KIND; exports.DrawMarqueeCommand = DrawMarqueeCommand = __decorate([ (0, inversify_1.injectable)(), __param(0, (0, inversify_1.inject)(sprotty_1.TYPES.Action)), __metadata("design:paramtypes", [Object]) ], DrawMarqueeCommand); var RemoveMarqueeAction; (function (RemoveMarqueeAction) { RemoveMarqueeAction.KIND = 'removeMarquee'; function is(object) { return sprotty_1.Action.hasKind(object, RemoveMarqueeAction.KIND); } RemoveMarqueeAction.is = is; function create() { return { kind: RemoveMarqueeAction.KIND }; } RemoveMarqueeAction.create = create; })(RemoveMarqueeAction || (exports.RemoveMarqueeAction = RemoveMarqueeAction = {})); let RemoveMarqueeCommand = class RemoveMarqueeCommand extends feedback_command_1.FeedbackCommand { execute(context) { removeMarquee(context.root); return context.root; } }; exports.RemoveMarqueeCommand = RemoveMarqueeCommand; RemoveMarqueeCommand.KIND = RemoveMarqueeAction.KIND; exports.RemoveMarqueeCommand = RemoveMarqueeCommand = __decorate([ (0, inversify_1.injectable)() ], RemoveMarqueeCommand); class MarqueeEndMovingMouseListener extends sprotty_1.MouseListener { constructor(anchorRegistry) { super(); this.anchorRegistry = anchorRegistry; } mouseMove(target, event) { return []; } } exports.MarqueeEndMovingMouseListener = MarqueeEndMovingMouseListener; function marqueeId(root) { return root.id + '_' + exports.MARQUEE; } exports.MARQUEE = 'marquee'; function drawMarquee(context, startPoint, endPoint) { const root = context.root; removeMarquee(root); const marqueeSchema = { type: exports.MARQUEE, id: marqueeId(root), startPoint: startPoint, endPoint: endPoint }; const marquee = context.modelFactory.createElement(marqueeSchema); root.add(marquee); } function removeMarquee(root) { const marquee = root.index.getById(marqueeId(root)); if (marquee instanceof sprotty_1.GChildElement) { root.remove(marquee); } } //# sourceMappingURL=marquee-tool-feedback.js.map