UNPKG

@eclipse-glsp/layout-elk

Version:

Integration of ELK graph layout algorithms in GLSP Node Server

45 lines 2.37 kB
/******************************************************************************** * Copyright (c) 2018-2023 TypeFox 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 ********************************************************************************/ import { GEdge, GLabel, GModelElement, GNode, GPort, ModelState } from '@eclipse-glsp/server'; export declare const ElementFilter: unique symbol; /** * Filter used to determine which model elements should be included in the automatic layout. */ export interface ElementFilter { /** * Applies the element filter on the given element, * @param element The element on which the filter should be applied. * @returns `true` if the element should be included in the automatic layout, `false` otherwise. */ apply(element: GModelElement): boolean; } /** * Default implementation of {@link ElementFilter}. * Without further configuration this filter includes all basic model elements (nodes,edges,labels,ports) that are * part of the graphical model. For each basic type a custom filter behavior is in place. * Edges that have no source or target are filtered out. In addition, edges that are connected to a filtered element are filtered out * as well. The filter behavior for each of the basic types can be customized by overriding the corresponding `filter` method. * (e.g. {@link DefaultElementFilter.filterNode}) */ export declare class DefaultElementFilter implements ElementFilter { protected modelState: ModelState; apply(element: GModelElement): boolean; protected filterNode(node: GNode): boolean; protected filterEdge(edge: GEdge): boolean; protected filterLabel(label: GLabel): boolean; protected filterPort(port: GPort): boolean; } //# sourceMappingURL=element-filter.d.ts.map