@kieler/klighd-core
Version:
Core KLighD diagram visualization with Sprotty
328 lines • 11.1 kB
TypeScript
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