import { defineStore } from 'pinia'; import { useMcadSelectTool } from '@/tools/mcad-select-tool'; import { useAnnotationCreateTool } from '@/tools/annotation-create.tool'; import { useAnnotationMoveTool } from '@/tools/annotation-move.tool'; import { useDataOverlayTool } from '@/tools/data-overlay.tool'; import { useMeasurementAngleTool } from '@/tools/measurement-angle.tool'; import { useMeasurementLengthTool } from '@/tools/measurement-length.tool'; import { useMeasurementPolygonTool } from '@/tools/measurement-polygon.tool'; import { useMcadMoveTool } from '@/tools/mcad-move.tool'; import { useMcadRotateTool } from '@/tools/mcad-rotate.tool'; import { useMcadScaleTool } from '@/tools/mcad-scale-tool'; import { shallowRef } from 'vue'; /** * Store for singleton tool instances. */ export const useToolStore = defineStore('tool', () => { const annotationCreateTool = shallowRef(useAnnotationCreateTool()); const annotationMoveTool = shallowRef(useAnnotationMoveTool()); const dataOverlayTool = shallowRef(useDataOverlayTool()); const measurementAngleTool = shallowRef(useMeasurementAngleTool()); const measurementLengthTool = shallowRef(useMeasurementLengthTool()); const measurementPolygonTool = shallowRef(useMeasurementPolygonTool()); const mcadMoveTool = shallowRef(useMcadMoveTool()); const mcadRotateTool = shallowRef(useMcadRotateTool()); const mcadScaleTool = shallowRef(useMcadScaleTool()); const mcadSelectTool = shallowRef(useMcadSelectTool()); return { annotationCreateTool, annotationMoveTool, dataOverlayTool, measurementAngleTool, measurementLengthTool, measurementPolygonTool, mcadMoveTool, mcadRotateTool, mcadScaleTool, mcadSelectTool, }; });