@itwin/measure-tools-react
Version:
Frontend framework and tools for measurements
36 lines • 2.05 kB
TypeScript
import type { ToolbarItem, ToolItemDef, UiItemsProvider, Widget } from "@itwin/appui-react";
import { StagePanelLocation, StagePanelSection, ToolbarOrientation, ToolbarUsage } from "@itwin/appui-react";
import type { ScreenViewport } from "@itwin/core-frontend";
import type { DistanceMeasurementFormattingProps } from "../measurements/DistanceMeasurement.js";
import type { AreaMeasurementFormattingProps } from "../measurements/AreaMeasurement.js";
import type { LocationMeasurementFormattingProps } from "../measurements/LocationMeasurement.js";
import type { AngleMeasurementFormattingProps } from "../measurements/AngleMeasurement.js";
import type { RadiusMeasurementFormattingProps } from "../measurements/RadiusMeasurement.js";
export interface MeasureToolsUiProviderOptions {
itemPriority?: number;
groupPriority?: number;
widgetPlacement?: {
location: StagePanelLocation;
section?: StagePanelSection;
};
enableSheetMeasurement?: boolean;
stageUsageList?: string[];
measurementFormattingProps?: {
distance?: DistanceMeasurementFormattingProps;
angle?: AngleMeasurementFormattingProps;
area?: AreaMeasurementFormattingProps;
location?: LocationMeasurementFormattingProps;
radius?: RadiusMeasurementFormattingProps;
};
allowedViewportCallback?: (vp: ScreenViewport) => boolean;
additionalToolbarItems?: ToolItemDef[];
isHiddenCallback?: (activeViewport?: ScreenViewport) => boolean;
}
export declare class MeasureToolsUiItemsProvider implements UiItemsProvider {
readonly id = "MeasureToolsUiItemsProvider";
private _props;
constructor(props?: MeasureToolsUiProviderOptions);
provideToolbarItems(_stageId: string, stageUsage: string, toolbarUsage: ToolbarUsage, toolbarOrientation: ToolbarOrientation): ToolbarItem[];
provideWidgets(_stageId: string, stageUsage: string, location: StagePanelLocation, section?: StagePanelSection | undefined): ReadonlyArray<Widget>;
}
//# sourceMappingURL=MeasureToolsUiProvider.d.ts.map