UNPKG

@kieler/klighd-core

Version:

Core KLighD diagram visualization with Sprotty

328 lines 11.1 kB
import { ICommand } from 'sprotty'; import { Action } from 'sprotty-protocol'; import { Registry } from '../base/registry'; import { RangeOption, RenderOption, TransformationOptionType } from './option-models'; /** * Whether the sidebar panel is pinned or not. */ export declare class PinSidebarOption implements RenderOption { static readonly ID: string; static readonly NAME: string; static readonly DEFAULT: boolean; readonly id: string; readonly name: string; readonly type: TransformationOptionType; readonly initialValue: boolean; currentValue: boolean; debug: boolean; } /** * Resize the diagram to fit the viewport if it is redrawn after a model update * or a viewport resize. * This has to have the same id as the corresponding FitToScreenAction. */ export declare class ResizeToFit implements RenderOption { static readonly ID: string; static readonly NAME: string; static readonly DEFAULT: boolean; readonly id: string; readonly name: string; readonly type: TransformationOptionType; readonly initialValue: boolean; readonly description = "Always resize to fit after diagram refresh."; currentValue: boolean; debug: boolean; } /** * Uses a light background instead of an applied theme. */ export declare class ForceLightBackground implements RenderOption { static readonly ID: string; static readonly NAME: string; static readonly DEFAULT: boolean; readonly id: string; readonly name: string; readonly type: TransformationOptionType; readonly initialValue: boolean; readonly renderCategory: string; readonly description = "Use light background regardless of the color scheme."; currentValue: boolean; } export declare class ShowConstraintOption implements RenderOption { static readonly ID: string; static readonly NAME: string; readonly id: string; readonly name: string; readonly type: TransformationOptionType; readonly initialValue: boolean; readonly renderCategory: string; readonly description = "Show marker for nodes that have interactive layout constraints set."; currentValue: boolean; } export declare class Appearance implements RenderOption { static readonly ID: string; static readonly NAME: string; readonly id: string; readonly name: string; readonly type: TransformationOptionType; readonly initialValue: boolean; readonly description = "Appearance Category"; currentValue: boolean; } /** * Smart Zoom category. */ export declare class SmartZoom implements RenderOption { static readonly ID: string; static readonly NAME: string; readonly id: string; readonly name: string; readonly type: TransformationOptionType; readonly initialValue: boolean; readonly renderCategory: string; readonly description = "Smart Zoom Category"; currentValue: boolean; debug: boolean; } /** * Boolean option to enable and disable the smart zoom feature. * This corresponds to the automatic detail level of regions and states * as well as limiting visible elements. */ export declare class UseSmartZoom implements RenderOption { static readonly ID: string; static readonly NAME: string; readonly id: string; readonly name: string; readonly type: TransformationOptionType; readonly initialValue: boolean; readonly renderCategory: string; readonly description = "Enables Smart Zoom"; currentValue: boolean; } /** * Threshold for full detail level. * Corresponds to the regions size compared to the current viewport. */ export declare class FullDetailRelativeThreshold implements RangeOption { static readonly ID: string; static readonly NAME: string; static readonly DEFAULT: number; readonly id: string; readonly name: string; readonly type: TransformationOptionType; readonly values: any[]; readonly range: { first: number; second: number; }; readonly stepSize = 0.01; readonly initialValue: number; readonly renderCategory: string; readonly description: string; currentValue: number; debug: boolean; } /** * Threshold for full detail level. * Corresponds to the regions scale using the current viewport. */ export declare class FullDetailScaleThreshold implements RangeOption { static readonly ID: string; static readonly NAME: string; static readonly DEFAULT: number; readonly id: string; readonly name: string; readonly type: TransformationOptionType; readonly values: any[]; readonly range: { first: number; second: number; }; readonly stepSize = 0.01; readonly initialValue: number; readonly renderCategory: string; readonly description: string; currentValue: number; debug: boolean; } /** * Boolean option toggling the use of text element replacement with rectangles. */ export declare class SimplifySmallText implements RenderOption { static readonly ID: string; static readonly NAME: string; readonly id: string; readonly name: string; readonly type: TransformationOptionType; readonly initialValue: boolean; readonly renderCategory: string; readonly description = "Whether illegible text is simplified to colored rectangles."; currentValue: boolean; debug: boolean; } /** * Threshold under which text element simplification occurs in pixels. */ export declare class TextSimplificationThreshold implements RangeOption { static readonly ID: string; static readonly NAME: string; static readonly DEFAULT: number; readonly id: string; readonly name: string; readonly type: TransformationOptionType; readonly values: any[]; readonly range: { first: number; second: number; }; readonly stepSize = 0.1; readonly initialValue: number; readonly renderCategory: string; readonly description = "The threshold font size to simplify text.\nIf set to 3 a text which is 3 or less pixel high is simplified."; currentValue: number; debug: boolean; } /** * The factor by which titles of collapsed regions get scaled by * in relation to their size at native resolution. */ export declare class TitleScalingFactor implements RangeOption { static readonly ID: string; static readonly NAME: string; static readonly DEFAULT: number; readonly id: string; readonly name: string; readonly type: TransformationOptionType; readonly values: any[]; readonly range: { first: number; second: number; }; readonly stepSize = 0.01; readonly initialValue: number; readonly renderCategory: string; readonly description: string; currentValue: number; debug: boolean; } /** * Boolean option to toggle the scaling of lines based on zoom level. */ export declare class UseMinimumLineWidth implements RenderOption { static readonly ID: string; static readonly NAME: string; readonly id: string; readonly name: string; readonly type: TransformationOptionType; readonly initialValue: boolean; readonly renderCategory: string; readonly description = "Whether all borders and lines are at least as wide as set by the corresponding 'Minimum Line Width' option."; currentValue: boolean; debug: boolean; } /** * The size scaled lines should have as a minimum at any zoom level in pixels. */ export declare class MinimumLineWidth implements RangeOption { static readonly ID: string; static readonly NAME: string; static readonly DEFAULT: number; readonly id: string; readonly name: string; readonly type: TransformationOptionType; readonly values: any[]; readonly range: { first: number; second: number; }; readonly stepSize = 0.01; readonly initialValue: number; readonly renderCategory: string; readonly description = "The minium border or line width.\nIf set to 0.5 each edge or border is at least 0.5 pixel wide."; currentValue: number; debug: boolean; } export declare enum ShadowOption { /** A real svg shadow. */ PAPER_MODE = "Paper Mode", /** The shape of the node drawn with different opacity multiple times behind the node. */ KIELER_STYLE = "KIELER Style" } /** * The style shadows should be drawn in, either the paper mode shadows (nice, but slow in * performance) or in default KIELER-style (fast, not as nice looking). */ export declare class Shadows implements RenderOption { static readonly ID: string; static readonly NAME: string; static readonly DEFAULT: ShadowOption; readonly id: string; readonly name: string; readonly type: TransformationOptionType; readonly initialValue: ShadowOption; readonly renderCategory: string; readonly values?: ShadowOption[] | undefined; readonly description: string; currentValue: ShadowOption; } /** * Whether going to a Bookmark should be animated */ export declare class AnimateGoToBookmark implements RenderOption { static readonly ID: string; static readonly NAME: string; static readonly DEFAULT: boolean; readonly id: string; readonly name: string; readonly type: TransformationOptionType; readonly initialValue: boolean; currentValue: boolean; } /** * Boolean option to toggle debug options. */ export declare class DebugOptions implements RenderOption { static readonly ID: string; static readonly NAME: string; readonly id: string; readonly name: string; readonly type: TransformationOptionType; readonly initialValue: boolean; readonly description = "Whether debug options should be shown."; currentValue: boolean; } export interface RenderOptionType { readonly ID: string; readonly NAME: string; new (): RenderOption; } export interface RenderOptionDefault extends RenderOptionType { readonly DEFAULT: any; } /** {@link Registry} that stores and updates different render options. */ export declare class RenderOptionsRegistry extends Registry { private _renderOptions; private storage; constructor(); init(): void; /** * Restores options that where previously persisted in storage. Since render * options are not provided by the server, they have to be retrieved from storage. */ private loadPersistedData; /** Registers a single render option. */ register(Option: RenderOptionType): void; /** Convenience method to register all given options in order. */ registerAll(...Options: RenderOptionType[]): void; /** Unregisters a single render option. */ unregister(Option: RenderOptionType): boolean; /** Convenience method to unregister all given options in order. */ unregisterAll(...Options: RenderOptionType[]): boolean; /** Handles the render options actions. */ handle(action: Action): void | Action | ICommand; get allRenderOptions(): RenderOption[]; getValue(Option: RenderOptionType): any | undefined; getValueOrDefault(Option: RenderOptionDefault): any; } //# sourceMappingURL=render-options-registry.d.ts.map