@kieler/klighd-core
Version:
Core KLighD diagram visualization with Sprotty
577 lines • 31.2 kB
JavaScript
"use strict";
/*
* KIELER - Kiel Integrated Environment for Layout Eclipse RichClient
*
* http://rtsys.informatik.uni-kiel.de/kieler
*
* Copyright 2022-2023 by
* + Kiel University
* + Department of Computer Science
* + Real-Time and Embedded Systems Group
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProxyViewClusteringSweepLine = exports.ProxyViewClusteringCascading = exports.ProxyViewClusterTransparent = exports.ProxyViewCapScaleToOne = exports.ProxyViewOriginalNodeScale = exports.ProxyViewTransparentEdges = exports.ProxyViewEdgesToOffScreenPoint = exports.ProxyViewUseDetailLevel = exports.ProxyViewStackingOrderBySelected = exports.ProxyViewStackingOrderByOpacity = exports.ProxyViewStackingOrderByDistance = exports.ProxyViewShowProxiesEarlyNumber = exports.ProxyViewShowProxiesEarly = exports.ProxyViewShowProxiesImmediately = exports.ProxyViewCapProxyToParent = exports.ProxyViewSimpleAlongBorderRouting = exports.ProxyViewUseSynthesisProxyRendering = exports.ProxyViewOpacityBySelected = exports.ProxyViewHighlightSelected = exports.ProxyViewInteractiveProxies = exports.ProxyViewDebugCategory = exports.ProxyViewDrawEdgesAboveNodes = exports.ProxyViewTitleScaling = exports.ProxyViewEnableSegmentProxies = exports.ProxyViewEnableEdgeProxies = exports.ProxyViewDecreaseProxyClutter = exports.ProxyViewSize = exports.ProxyViewEnabled = exports.ProxyViewCategory = void 0;
const option_models_1 = require("../options/option-models");
/** The category containing proxy-view options. */
class ProxyViewCategory {
constructor() {
this.id = ProxyViewCategory.ID;
this.name = ProxyViewCategory.NAME;
this.type = option_models_1.TransformationOptionType.CATEGORY;
}
}
exports.ProxyViewCategory = ProxyViewCategory;
ProxyViewCategory.ID = 'proxy-view-category';
ProxyViewCategory.NAME = 'Proxy-View';
ProxyViewCategory.INSTANCE = new ProxyViewCategory();
/** Whether the proxy-view is enabled. */
class ProxyViewEnabled {
constructor() {
this.id = ProxyViewEnabled.ID;
this.name = ProxyViewEnabled.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewEnabled.DEFAULT;
this.description = ProxyViewEnabled.DESCRIPTION;
this.renderCategory = ProxyViewCategory.ID;
this.currentValue = ProxyViewEnabled.DEFAULT;
}
}
exports.ProxyViewEnabled = ProxyViewEnabled;
ProxyViewEnabled.ID = 'proxy-view-enabled';
ProxyViewEnabled.NAME = 'Proxy View';
ProxyViewEnabled.DESCRIPTION = 'Enables proxies for off-screen elements.';
ProxyViewEnabled.DEFAULT = false;
/** Part of calculating the proxies' size. */
class ProxyViewSize {
constructor() {
this.id = ProxyViewSize.ID;
this.name = ProxyViewSize.NAME;
this.type = option_models_1.TransformationOptionType.RANGE;
this.initialValue = ProxyViewSize.DEFAULT;
this.description = ProxyViewSize.DESCRIPTION;
this.renderCategory = ProxyViewCategory.ID;
this.range = ProxyViewSize.RANGE;
this.stepSize = ProxyViewSize.STEPSIZE;
this.values = [];
this.currentValue = ProxyViewSize.DEFAULT;
this.debug = true;
}
}
exports.ProxyViewSize = ProxyViewSize;
ProxyViewSize.ID = 'proxy-view-size';
ProxyViewSize.NAME = 'Size of Proxies in %';
ProxyViewSize.DESCRIPTION = "Percentage to which the proxies are scaled regarding the minimum of the canvas' height and width.";
ProxyViewSize.DEFAULT = 8;
ProxyViewSize.RANGE = { first: 1, second: 25 };
ProxyViewSize.STEPSIZE = 1;
/**
* What strategy to use to decrease proxy clutter.
* Clustering clusters overlapping proxies into a single cluster.
* Opacity by Distance increases transparency for distant proxies.
*/
class ProxyViewDecreaseProxyClutter {
constructor() {
this.id = ProxyViewDecreaseProxyClutter.ID;
this.name = ProxyViewDecreaseProxyClutter.NAME;
this.type = option_models_1.TransformationOptionType.CHOICE;
this.initialValue = ProxyViewDecreaseProxyClutter.DEFAULT;
this.description = ProxyViewDecreaseProxyClutter.DESCRIPTION;
this.renderCategory = ProxyViewCategory.ID;
this.values = ProxyViewDecreaseProxyClutter.CHOICES;
this.debug = true;
this.currentValue = ProxyViewDecreaseProxyClutter.DEFAULT;
}
}
exports.ProxyViewDecreaseProxyClutter = ProxyViewDecreaseProxyClutter;
ProxyViewDecreaseProxyClutter.ID = 'proxy-view-decrease-proxy-clutter';
ProxyViewDecreaseProxyClutter.NAME = 'Decrease Proxy Clutter';
ProxyViewDecreaseProxyClutter.DESCRIPTION = 'What strategy to use to decrease proxy clutter. ' +
'Clustering clusters overlapping proxies into a single cluster. ' +
'Opacity by Distance increases transparency for distant proxies.';
ProxyViewDecreaseProxyClutter.CHOICE_OFF = 'Off';
ProxyViewDecreaseProxyClutter.CHOICE_CLUSTERING = 'Clustering';
ProxyViewDecreaseProxyClutter.CHOICE_OPACITY = 'Opacity by Distance';
ProxyViewDecreaseProxyClutter.DEFAULT = ProxyViewDecreaseProxyClutter.CHOICE_OFF;
ProxyViewDecreaseProxyClutter.CHOICES = [
ProxyViewDecreaseProxyClutter.CHOICE_OFF,
ProxyViewDecreaseProxyClutter.CHOICE_CLUSTERING,
ProxyViewDecreaseProxyClutter.CHOICE_OPACITY,
];
/**
* What strategy to use for routing edge proxies, if enabled.
* Edge proxies connect on-screen nodes with proxies instead of their off-screen counterparts.
* Straight-Edge-Routing draws a straight line between node and proxy.
* Along-Border-Routing reuses most of the original edge's path and routes the remaining path to the proxy along the border.
*/
class ProxyViewEnableEdgeProxies {
constructor() {
this.id = ProxyViewEnableEdgeProxies.ID;
this.name = ProxyViewEnableEdgeProxies.NAME;
this.type = option_models_1.TransformationOptionType.CHOICE;
this.initialValue = ProxyViewEnableEdgeProxies.DEFAULT;
this.description = ProxyViewEnableEdgeProxies.DESCRIPTION;
this.renderCategory = ProxyViewCategory.ID;
this.values = ProxyViewEnableEdgeProxies.CHOICES;
this.debug = true;
this.currentValue = ProxyViewEnableEdgeProxies.DEFAULT;
}
}
exports.ProxyViewEnableEdgeProxies = ProxyViewEnableEdgeProxies;
ProxyViewEnableEdgeProxies.ID = 'proxy-view-enable-edge-proxies';
ProxyViewEnableEdgeProxies.NAME = 'Enable Edge Proxies';
ProxyViewEnableEdgeProxies.DESCRIPTION = 'What strategy to use for routing edge proxies, if enabled. ' +
'Edge proxies connect on-screen nodes with proxies instead of their off-screen counterparts. ' +
'Straight-Edge-Routing draws a straight line between node and proxy. ' +
"Along-Border-Routing reuses most of the original edge's path and routes the remaining path to the proxy along the border.";
ProxyViewEnableEdgeProxies.CHOICE_OFF = 'Off';
ProxyViewEnableEdgeProxies.CHOICE_STRAIGHT_EDGE_ROUTING = 'Straight-Edge-Routing';
ProxyViewEnableEdgeProxies.CHOICE_ALONG_BORDER_ROUTING = 'Along-Border-Routing';
ProxyViewEnableEdgeProxies.DEFAULT = ProxyViewEnableEdgeProxies.CHOICE_OFF;
ProxyViewEnableEdgeProxies.CHOICES = [
ProxyViewEnableEdgeProxies.CHOICE_OFF,
ProxyViewEnableEdgeProxies.CHOICE_STRAIGHT_EDGE_ROUTING,
ProxyViewEnableEdgeProxies.CHOICE_ALONG_BORDER_ROUTING,
];
/**
* Whether segment proxies should be created.
* Segment proxies connect off-screen segments of an edge.
*/
class ProxyViewEnableSegmentProxies {
constructor() {
this.id = ProxyViewEnableSegmentProxies.ID;
this.name = ProxyViewEnableSegmentProxies.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewEnableSegmentProxies.DEFAULT;
this.description = ProxyViewEnableSegmentProxies.DESCRIPTION;
this.renderCategory = ProxyViewCategory.ID;
this.debug = true;
this.currentValue = ProxyViewEnableSegmentProxies.DEFAULT;
}
}
exports.ProxyViewEnableSegmentProxies = ProxyViewEnableSegmentProxies;
ProxyViewEnableSegmentProxies.ID = 'proxy-view-enable-segment-proxies';
ProxyViewEnableSegmentProxies.NAME = 'Enable Segment Proxies';
ProxyViewEnableSegmentProxies.DESCRIPTION = 'Whether segment proxies should be created. Segment proxies connect off-screen segments of an edge.';
ProxyViewEnableSegmentProxies.DEFAULT = true;
/** Whether to use title scaling if smart zoom is enabled. */
class ProxyViewTitleScaling {
constructor() {
this.id = ProxyViewTitleScaling.ID;
this.name = ProxyViewTitleScaling.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewTitleScaling.DEFAULT;
this.description = ProxyViewTitleScaling.DESCRIPTION;
this.renderCategory = ProxyViewCategory.ID;
this.debug = true;
this.currentValue = ProxyViewTitleScaling.DEFAULT;
}
}
exports.ProxyViewTitleScaling = ProxyViewTitleScaling;
ProxyViewTitleScaling.ID = 'proxy-view-title-scaling';
ProxyViewTitleScaling.NAME = 'Scale Proxy Titles';
ProxyViewTitleScaling.DESCRIPTION = "Whether a proxy's title should be scaled if smart zoom is enabled.";
ProxyViewTitleScaling.DEFAULT = true;
/** Whether edge proxies should be drawn above node proxies. */
class ProxyViewDrawEdgesAboveNodes {
constructor() {
this.id = ProxyViewDrawEdgesAboveNodes.ID;
this.name = ProxyViewDrawEdgesAboveNodes.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewDrawEdgesAboveNodes.DEFAULT;
this.description = ProxyViewDrawEdgesAboveNodes.DESCRIPTION;
this.renderCategory = ProxyViewCategory.ID;
this.debug = true;
this.currentValue = ProxyViewDrawEdgesAboveNodes.DEFAULT;
}
}
exports.ProxyViewDrawEdgesAboveNodes = ProxyViewDrawEdgesAboveNodes;
ProxyViewDrawEdgesAboveNodes.ID = 'proxy-view-draw-edges-above-nodes';
ProxyViewDrawEdgesAboveNodes.NAME = 'Draw Edges Over Nodes';
ProxyViewDrawEdgesAboveNodes.DESCRIPTION = 'Whether edge proxies should be drawn above node proxies.';
ProxyViewDrawEdgesAboveNodes.DEFAULT = false;
/// ///// DEBUG ////////
/** The category containing debug proxy-view options. */
class ProxyViewDebugCategory {
constructor() {
this.id = ProxyViewDebugCategory.ID;
this.name = ProxyViewDebugCategory.NAME;
this.type = option_models_1.TransformationOptionType.CATEGORY;
this.debug = true;
}
}
exports.ProxyViewDebugCategory = ProxyViewDebugCategory;
ProxyViewDebugCategory.ID = 'proxy-view-debug-category';
ProxyViewDebugCategory.NAME = 'Proxy-View Debug Options';
ProxyViewDebugCategory.INSTANCE = new ProxyViewDebugCategory();
/** Whether proxies should be interactable. */
class ProxyViewInteractiveProxies {
constructor() {
this.id = ProxyViewInteractiveProxies.ID;
this.name = ProxyViewInteractiveProxies.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewInteractiveProxies.DEFAULT;
this.description = ProxyViewInteractiveProxies.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewInteractiveProxies.DEFAULT;
}
}
exports.ProxyViewInteractiveProxies = ProxyViewInteractiveProxies;
ProxyViewInteractiveProxies.ID = 'proxy-view-interactive-proxies';
ProxyViewInteractiveProxies.NAME = 'Interactive Proxies';
ProxyViewInteractiveProxies.DESCRIPTION = 'Whether proxies should be interactable. Clicking on a proxy hops to its off-screen counterpart.';
ProxyViewInteractiveProxies.DEFAULT = true;
/** Whether to highlight proxies that are connected to the selected node. */
class ProxyViewHighlightSelected {
constructor() {
this.id = ProxyViewHighlightSelected.ID;
this.name = ProxyViewHighlightSelected.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewHighlightSelected.DEFAULT;
this.description = ProxyViewHighlightSelected.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewHighlightSelected.DEFAULT;
}
}
exports.ProxyViewHighlightSelected = ProxyViewHighlightSelected;
ProxyViewHighlightSelected.ID = 'proxy-view-highlight-selected';
ProxyViewHighlightSelected.NAME = 'Highlight Proxies by Selection';
ProxyViewHighlightSelected.DESCRIPTION = 'Whether proxies that are connected to the selected node should be highlighted.';
ProxyViewHighlightSelected.DEFAULT = false;
/** Whether to decrease opacity of proxies that are not connected to the selected node and increase otherwise. */
class ProxyViewOpacityBySelected {
constructor() {
this.id = ProxyViewOpacityBySelected.ID;
this.name = ProxyViewOpacityBySelected.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewOpacityBySelected.DEFAULT;
this.description = ProxyViewOpacityBySelected.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewOpacityBySelected.DEFAULT;
}
}
exports.ProxyViewOpacityBySelected = ProxyViewOpacityBySelected;
ProxyViewOpacityBySelected.ID = 'proxy-view-opacity-by-selected';
ProxyViewOpacityBySelected.NAME = 'Transparent Proxies by Selection';
ProxyViewOpacityBySelected.DESCRIPTION = 'Whether proxies that are not connected to the selected node should be more transparent.';
ProxyViewOpacityBySelected.DEFAULT = true;
/** Whether to use the synthesis specified proxy-rendering. */
class ProxyViewUseSynthesisProxyRendering {
constructor() {
this.id = ProxyViewUseSynthesisProxyRendering.ID;
this.name = ProxyViewUseSynthesisProxyRendering.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewUseSynthesisProxyRendering.DEFAULT;
this.description = ProxyViewUseSynthesisProxyRendering.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewUseSynthesisProxyRendering.DEFAULT;
}
}
exports.ProxyViewUseSynthesisProxyRendering = ProxyViewUseSynthesisProxyRendering;
ProxyViewUseSynthesisProxyRendering.ID = 'proxy-view-use-synthesis-proxy-rendering';
ProxyViewUseSynthesisProxyRendering.NAME = 'Use Synthesis Proxy-Rendering';
ProxyViewUseSynthesisProxyRendering.DESCRIPTION = 'Whether proxies should be rendered as specified by the synthesis (if specified).';
ProxyViewUseSynthesisProxyRendering.DEFAULT = true;
/** Whether to use a simple version of Along-Border-Routing. Can cause strange artifacts if an edge e.g. oscillates. */
class ProxyViewSimpleAlongBorderRouting {
constructor() {
this.id = ProxyViewSimpleAlongBorderRouting.ID;
this.name = ProxyViewSimpleAlongBorderRouting.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewSimpleAlongBorderRouting.DEFAULT;
this.description = ProxyViewSimpleAlongBorderRouting.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewSimpleAlongBorderRouting.DEFAULT;
}
}
exports.ProxyViewSimpleAlongBorderRouting = ProxyViewSimpleAlongBorderRouting;
ProxyViewSimpleAlongBorderRouting.ID = 'proxy-view-simple-along-border-routing';
ProxyViewSimpleAlongBorderRouting.NAME = 'Use Simple Along-Border-Routing';
ProxyViewSimpleAlongBorderRouting.DESCRIPTION = 'Whether to use a simple version of Along-Border-Routing. Can cause strange artifacts if an edge e.g. oscillates.';
ProxyViewSimpleAlongBorderRouting.DEFAULT = false;
/** Whether to cap proxies in their parent node. */
class ProxyViewCapProxyToParent {
constructor() {
this.id = ProxyViewCapProxyToParent.ID;
this.name = ProxyViewCapProxyToParent.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewCapProxyToParent.DEFAULT;
this.description = ProxyViewCapProxyToParent.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewCapProxyToParent.DEFAULT;
}
}
exports.ProxyViewCapProxyToParent = ProxyViewCapProxyToParent;
ProxyViewCapProxyToParent.ID = 'proxy-view-cap-proxy-to-parent';
ProxyViewCapProxyToParent.NAME = 'Cap Proxy to Parent';
ProxyViewCapProxyToParent.DESCRIPTION = 'Whether proxies should be capped inside their parent node.';
ProxyViewCapProxyToParent.DEFAULT = true;
/** Whether to show proxies immediately, e.g. whether proxies should be created once a node is partially off-screen. */
class ProxyViewShowProxiesImmediately {
constructor() {
this.id = ProxyViewShowProxiesImmediately.ID;
this.name = ProxyViewShowProxiesImmediately.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewShowProxiesImmediately.DEFAULT;
this.description = ProxyViewShowProxiesImmediately.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewShowProxiesImmediately.DEFAULT;
}
}
exports.ProxyViewShowProxiesImmediately = ProxyViewShowProxiesImmediately;
ProxyViewShowProxiesImmediately.ID = 'proxy-view-show-proxies-immediately';
ProxyViewShowProxiesImmediately.NAME = 'Show Proxies Immediately';
ProxyViewShowProxiesImmediately.DESCRIPTION = 'Whether proxies should be created once a node is partially off-screen.';
ProxyViewShowProxiesImmediately.DEFAULT = false;
/** Whether to show proxies early, e.g. whether proxies should be created before a node is fully off-screen. */
class ProxyViewShowProxiesEarly {
constructor() {
this.id = ProxyViewShowProxiesEarly.ID;
this.name = ProxyViewShowProxiesEarly.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewShowProxiesEarly.DEFAULT;
this.description = ProxyViewShowProxiesEarly.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewShowProxiesEarly.DEFAULT;
}
}
exports.ProxyViewShowProxiesEarly = ProxyViewShowProxiesEarly;
ProxyViewShowProxiesEarly.ID = 'proxy-view-show-proxies-early';
ProxyViewShowProxiesEarly.NAME = 'Show Proxies Early';
ProxyViewShowProxiesEarly.DESCRIPTION = 'Whether proxies should be created before a node is fully off-screen.';
ProxyViewShowProxiesEarly.DEFAULT = false;
/** The amount by which to show proxies early if enabled. The number indicates a percentage of the minimum of the canvas' dimensions. */
class ProxyViewShowProxiesEarlyNumber {
constructor() {
this.id = ProxyViewShowProxiesEarlyNumber.ID;
this.name = ProxyViewShowProxiesEarlyNumber.NAME;
this.type = option_models_1.TransformationOptionType.RANGE;
this.initialValue = ProxyViewShowProxiesEarlyNumber.DEFAULT;
this.description = ProxyViewShowProxiesEarlyNumber.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.range = ProxyViewShowProxiesEarlyNumber.RANGE;
this.stepSize = ProxyViewShowProxiesEarlyNumber.STEPSIZE;
this.values = [];
this.debug = true;
this.currentValue = ProxyViewShowProxiesEarlyNumber.DEFAULT;
}
}
exports.ProxyViewShowProxiesEarlyNumber = ProxyViewShowProxiesEarlyNumber;
ProxyViewShowProxiesEarlyNumber.ID = 'proxy-view-decrease-canvas-size-number';
ProxyViewShowProxiesEarlyNumber.NAME = 'Show Proxies Early Number';
ProxyViewShowProxiesEarlyNumber.DESCRIPTION = "The amount by which to show proxies early if enabled. The number indicates a percentage of the minimum of the canvas' dimensions.";
ProxyViewShowProxiesEarlyNumber.DEFAULT = 5;
ProxyViewShowProxiesEarlyNumber.RANGE = { first: 1, second: 15 };
ProxyViewShowProxiesEarlyNumber.STEPSIZE = 1;
/** Whether to change stacking order such that close proxies are stacked above distant ones. */
class ProxyViewStackingOrderByDistance {
constructor() {
this.id = ProxyViewStackingOrderByDistance.ID;
this.name = ProxyViewStackingOrderByDistance.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewStackingOrderByDistance.DEFAULT;
this.description = ProxyViewStackingOrderByDistance.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewStackingOrderByDistance.DEFAULT;
}
}
exports.ProxyViewStackingOrderByDistance = ProxyViewStackingOrderByDistance;
ProxyViewStackingOrderByDistance.ID = 'proxy-view-stacking-order-by-distance';
ProxyViewStackingOrderByDistance.NAME = 'Render Close Nodes At Top';
ProxyViewStackingOrderByDistance.DESCRIPTION = 'Whether close proxies should be stacked above distant proxies.';
ProxyViewStackingOrderByDistance.DEFAULT = true;
/** Whether to change stacking order such that fully opaque proxies are stacked above transparent ones. */
class ProxyViewStackingOrderByOpacity {
constructor() {
this.id = ProxyViewStackingOrderByOpacity.ID;
this.name = ProxyViewStackingOrderByOpacity.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewStackingOrderByOpacity.DEFAULT;
this.description = ProxyViewStackingOrderByOpacity.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewStackingOrderByOpacity.DEFAULT;
}
}
exports.ProxyViewStackingOrderByOpacity = ProxyViewStackingOrderByOpacity;
ProxyViewStackingOrderByOpacity.ID = 'proxy-view-stacking-order-by-opacity';
ProxyViewStackingOrderByOpacity.NAME = 'Render Opaque Nodes At Top';
ProxyViewStackingOrderByOpacity.DESCRIPTION = 'Whether fully opaque proxies should be stacked above transparent proxies.';
ProxyViewStackingOrderByOpacity.DEFAULT = true;
/** Whether to change stacking order such that selected proxies are stacked above others. */
class ProxyViewStackingOrderBySelected {
constructor() {
this.id = ProxyViewStackingOrderBySelected.ID;
this.name = ProxyViewStackingOrderBySelected.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewStackingOrderBySelected.DEFAULT;
this.description = ProxyViewStackingOrderBySelected.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewStackingOrderBySelected.DEFAULT;
}
}
exports.ProxyViewStackingOrderBySelected = ProxyViewStackingOrderBySelected;
ProxyViewStackingOrderBySelected.ID = 'proxy-view-stacking-order-by-selected';
ProxyViewStackingOrderBySelected.NAME = 'Render Selected Nodes At Top';
ProxyViewStackingOrderBySelected.DESCRIPTION = 'Whether selected proxies should be stacked above other proxies.';
ProxyViewStackingOrderBySelected.DEFAULT = true;
/** Whether proxies should be shown for nodes that aren't rendered because of the parent's detail level. */
class ProxyViewUseDetailLevel {
constructor() {
this.id = ProxyViewUseDetailLevel.ID;
this.name = ProxyViewUseDetailLevel.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewUseDetailLevel.DEFAULT;
this.description = ProxyViewUseDetailLevel.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewUseDetailLevel.DEFAULT;
}
}
exports.ProxyViewUseDetailLevel = ProxyViewUseDetailLevel;
ProxyViewUseDetailLevel.ID = 'proxy-view-use-detail-level';
ProxyViewUseDetailLevel.NAME = 'Use Detail Level';
ProxyViewUseDetailLevel.DESCRIPTION = "Whether proxies should be shown for nodes that aren't rendered because of the parent's detail level.";
ProxyViewUseDetailLevel.DEFAULT = true;
/** Whether edge proxies should be drawn when the source or target point is off-screen. */
class ProxyViewEdgesToOffScreenPoint {
constructor() {
this.id = ProxyViewEdgesToOffScreenPoint.ID;
this.name = ProxyViewEdgesToOffScreenPoint.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewEdgesToOffScreenPoint.DEFAULT;
this.description = ProxyViewEdgesToOffScreenPoint.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewEdgesToOffScreenPoint.DEFAULT;
}
}
exports.ProxyViewEdgesToOffScreenPoint = ProxyViewEdgesToOffScreenPoint;
ProxyViewEdgesToOffScreenPoint.ID = 'proxy-view-draw-edges-to-off-screen-point';
ProxyViewEdgesToOffScreenPoint.NAME = 'Draw Edges to Off-Screen Point';
ProxyViewEdgesToOffScreenPoint.DESCRIPTION = 'Whether edge proxies should be drawn when the source or target point is off-screen.';
ProxyViewEdgesToOffScreenPoint.DEFAULT = true;
/** Whether edges should become transparent when the corresponding edge proxies are on-screen. This actually modifies the diagram. */
class ProxyViewTransparentEdges {
constructor() {
this.id = ProxyViewTransparentEdges.ID;
this.name = ProxyViewTransparentEdges.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewTransparentEdges.DEFAULT;
this.description = ProxyViewTransparentEdges.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewTransparentEdges.DEFAULT;
}
}
exports.ProxyViewTransparentEdges = ProxyViewTransparentEdges;
ProxyViewTransparentEdges.ID = 'proxy-view-transparent-edges';
ProxyViewTransparentEdges.NAME = 'Fade Out Edges';
ProxyViewTransparentEdges.DESCRIPTION = 'Whether edges should become transparent when the corresponding edge proxies are on-screen. This actually modifies the diagram.';
ProxyViewTransparentEdges.DEFAULT = false;
/** Whether proxies should be as big as their corresponding node. */
class ProxyViewOriginalNodeScale {
constructor() {
this.id = ProxyViewOriginalNodeScale.ID;
this.name = ProxyViewOriginalNodeScale.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewOriginalNodeScale.DEFAULT;
this.description = ProxyViewOriginalNodeScale.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewOriginalNodeScale.DEFAULT;
}
}
exports.ProxyViewOriginalNodeScale = ProxyViewOriginalNodeScale;
ProxyViewOriginalNodeScale.ID = 'proxy-view-original-node-scale';
ProxyViewOriginalNodeScale.NAME = 'Original Node Scale';
ProxyViewOriginalNodeScale.DESCRIPTION = 'Whether proxies should be as big as their corresponding node.';
ProxyViewOriginalNodeScale.DEFAULT = false;
/** Whether to cap scaling of proxies to 1. */
class ProxyViewCapScaleToOne {
constructor() {
this.id = ProxyViewCapScaleToOne.ID;
this.name = ProxyViewCapScaleToOne.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewCapScaleToOne.DEFAULT;
this.description = ProxyViewCapScaleToOne.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewCapScaleToOne.DEFAULT;
}
}
exports.ProxyViewCapScaleToOne = ProxyViewCapScaleToOne;
ProxyViewCapScaleToOne.ID = 'proxy-view-cap-scale-to-one';
ProxyViewCapScaleToOne.NAME = 'Cap Scaling to 1';
ProxyViewCapScaleToOne.DESCRIPTION = 'Whether proxies should be upscaled more than their original size.';
ProxyViewCapScaleToOne.DEFAULT = true;
/** Whether clusters should be transparent according to the average of their contained proxies' opacities. */
class ProxyViewClusterTransparent {
constructor() {
this.id = ProxyViewClusterTransparent.ID;
this.name = ProxyViewClusterTransparent.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewClusterTransparent.DEFAULT;
this.description = ProxyViewClusterTransparent.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewClusterTransparent.DEFAULT;
}
}
exports.ProxyViewClusterTransparent = ProxyViewClusterTransparent;
ProxyViewClusterTransparent.ID = 'proxy-view-cluster-transparent';
ProxyViewClusterTransparent.NAME = 'Allow Transparent Cluster';
ProxyViewClusterTransparent.DESCRIPTION = "Whether clusters should be transparent according to the average of their contained proxies' opacities.";
ProxyViewClusterTransparent.DEFAULT = false;
/** Whether cascading clustering should be used, i.e. take transitive overlap into consideration. */
class ProxyViewClusteringCascading {
constructor() {
this.id = ProxyViewClusteringCascading.ID;
this.name = ProxyViewClusteringCascading.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewClusteringCascading.DEFAULT;
this.description = ProxyViewClusteringCascading.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewClusteringCascading.DEFAULT;
}
}
exports.ProxyViewClusteringCascading = ProxyViewClusteringCascading;
ProxyViewClusteringCascading.ID = 'proxy-view-clustering-cascading';
ProxyViewClusteringCascading.NAME = 'Cascading Clustering';
ProxyViewClusteringCascading.DESCRIPTION = 'Whether clustering should be cascading.';
ProxyViewClusteringCascading.DEFAULT = false;
/** Whether the sweep line algorithm should be used for clustering. Defaults to false since evaluated to be slower in the current implementation as-is. */
class ProxyViewClusteringSweepLine {
constructor() {
this.id = ProxyViewClusteringSweepLine.ID;
this.name = ProxyViewClusteringSweepLine.NAME;
this.type = option_models_1.TransformationOptionType.CHECK;
this.initialValue = ProxyViewClusteringSweepLine.DEFAULT;
this.description = ProxyViewClusteringSweepLine.DESCRIPTION;
this.renderCategory = ProxyViewDebugCategory.ID;
this.debug = true;
this.currentValue = ProxyViewClusteringSweepLine.DEFAULT;
}
}
exports.ProxyViewClusteringSweepLine = ProxyViewClusteringSweepLine;
ProxyViewClusteringSweepLine.ID = 'proxy-view-clustering-sweep-line';
ProxyViewClusteringSweepLine.NAME = 'Sweep Line Clustering';
ProxyViewClusteringSweepLine.DESCRIPTION = 'Whether clustering should be done via sweep line algorithm.';
ProxyViewClusteringSweepLine.DEFAULT = false;
//# sourceMappingURL=proxy-view-options.js.map