@itwin/appui-react 3.4.0-dev.28 → 3.4.0-dev.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js +14 -4
- package/lib/cjs/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.d.ts.map +1 -1
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js +15 -5
- package/lib/esm/appui-react/tools/CoreToolDefinitions.js.map +1 -1
- package/lib/public/locales/en/UiFramework.json +3 -1
- package/package.json +33 -32
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreToolDefinitions.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/tools/CoreToolDefinitions.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAeH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"CoreToolDefinitions.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/tools/CoreToolDefinitions.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAeH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAQpD;;GAEG;AAEH,qBAAa,SAAS;IACpB;;OAEG;IACH,WAAkB,yBAAyB,kBAiB1C;IAGD,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAIhC;IAEF,WAAkB,yBAAyB,gBAO1C;IAED,WAAkB,cAAc,gBAQ/B;IAED,WAAkB,iBAAiB,gBAQlC;IAED,WAAkB,eAAe,gBAQhC;IAED,WAAkB,cAAc,gBAQ/B;IAED,WAAkB,iBAAiB,gBAalC;IAED,WAAkB,eAAe,gBAYhC;IAED,WAAkB,oBAAoB,gBAQrC;IAED,WAAkB,uBAAuB,gBAwBxC;IAED,WAAkB,cAAc,gBAQ/B;IAID,WAAkB,eAAe,gBAwBhC;IAED,WAAkB,eAAe,gBAsBhC;IAED,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAU/B,WAAkB,4BAA4B,gBAW7C;IAGD,WAAkB,8BAA8B,gBAW/C;IAGD,WAAkB,4BAA4B,gBAW7C;IAGD,WAAkB,4BAA4B,gBAW7C;IAED,WAAkB,gBAAgB,iBAiBjC;IAED,WAAkB,yBAAyB,iBAoC1C;IAGD,WAAkB,0BAA0B,gBAU3C;IAGD,WAAkB,0BAA0B,gBAU3C;IAED,WAAkB,gBAAgB,iBAWjC;IAED,WAAkB,qBAAqB,mBAoBtC;IAED,WAAkB,qCAAqC,gBAUtD;CACF"}
|
|
@@ -24,6 +24,8 @@ const SyncUiEventDispatcher_1 = require("../syncui/SyncUiEventDispatcher");
|
|
|
24
24
|
const GroupItem_1 = require("../toolbar/GroupItem");
|
|
25
25
|
const RestoreLayoutTool_1 = require("./RestoreLayoutTool");
|
|
26
26
|
const UiFramework_1 = require("../UiFramework");
|
|
27
|
+
const camera_animation_svg_1 = require("@itwin/itwinui-icons/icons/camera-animation.svg");
|
|
28
|
+
const camera_animation_disabled_svg_1 = require("@itwin/itwinui-icons/icons/camera-animation-disabled.svg");
|
|
27
29
|
/* eslint-disable deprecation/deprecation */
|
|
28
30
|
/** Utility Class that provides definitions of tools provided by the ($core-frontend) core. These definitions can be used to populate the UI.
|
|
29
31
|
* @public
|
|
@@ -131,11 +133,19 @@ class CoreTools {
|
|
|
131
133
|
iconSpec: new appui_abstract_1.ConditionalStringValue(() => {
|
|
132
134
|
var _a, _b;
|
|
133
135
|
const activeContentControl = ContentViewManager_1.ContentViewManager.getActiveContentControl();
|
|
134
|
-
if (((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is3d()) && ((_b = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _b === void 0 ? void 0 : _b.isCameraOn))
|
|
135
|
-
return
|
|
136
|
-
|
|
136
|
+
if (((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is3d()) && ((_b = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _b === void 0 ? void 0 : _b.isCameraOn)) {
|
|
137
|
+
return appui_abstract_1.IconSpecUtilities.createWebComponentIconSpec(camera_animation_svg_1.default);
|
|
138
|
+
}
|
|
139
|
+
return appui_abstract_1.IconSpecUtilities.createWebComponentIconSpec(camera_animation_disabled_svg_1.default);
|
|
140
|
+
}, [SyncUiEventDispatcher_1.SyncUiEventId.ActiveContentChanged, SyncUiEventDispatcher_1.SyncUiEventId.ActiveViewportChanged, SyncUiEventDispatcher_1.SyncUiEventId.ViewStateChanged]),
|
|
141
|
+
label: new appui_abstract_1.ConditionalStringValue(() => {
|
|
142
|
+
var _a, _b;
|
|
143
|
+
const activeContentControl = ContentViewManager_1.ContentViewManager.getActiveContentControl();
|
|
144
|
+
if (((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is3d()) && ((_b = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _b === void 0 ? void 0 : _b.isCameraOn)) {
|
|
145
|
+
return UiFramework_1.UiFramework.translate("tools.View.ToggleCamera.turnOffFlyover");
|
|
146
|
+
}
|
|
147
|
+
return UiFramework_1.UiFramework.translate("tools.View.ToggleCamera.turnOnFlyover");
|
|
137
148
|
}, [SyncUiEventDispatcher_1.SyncUiEventId.ActiveContentChanged, SyncUiEventDispatcher_1.SyncUiEventId.ActiveViewportChanged, SyncUiEventDispatcher_1.SyncUiEventId.ViewStateChanged]),
|
|
138
|
-
label: core_frontend_1.ViewToggleCameraTool.flyover,
|
|
139
149
|
description: core_frontend_1.ViewToggleCameraTool.description,
|
|
140
150
|
isHidden: new appui_abstract_1.ConditionalBooleanValue(() => {
|
|
141
151
|
var _a, _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreToolDefinitions.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/CoreToolDefinitions.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\n\r\nimport * as React from \"react\";\r\n// cSpell:ignore configurableui keyinbrowser\r\nimport {\r\n FitViewTool, FlyViewTool, IModelApp, MeasureDistanceTool, MeasureLocationTool, PanViewTool, RotateViewTool, SelectionTool, ViewClipByElementTool,\r\n ViewClipByPlaneTool, ViewClipByRangeTool, ViewClipByShapeTool, ViewClipDecorationProvider, ViewRedoTool, ViewToggleCameraTool, ViewUndoTool,\r\n WalkViewTool, WindowAreaTool, ZoomViewTool,\r\n} from \"@itwin/core-frontend\";\r\nimport { ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\r\nimport { ToolbarPopupContext } from \"@itwin/components-react\";\r\nimport { PopupButton, PopupButtonChildrenRenderPropArgs } from \"../toolbar/PopupButton\";\r\nimport { ContentViewManager } from \"../content/ContentViewManager\";\r\nimport { KeyinBrowser } from \"../keyinbrowser/KeyinBrowser\";\r\nimport { getIsHiddenIfSelectionNotActive, getSelectionContextSyncEventIds, selectionContextStateFunc } from \"../selection/SelectionContextItemDef\";\r\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\r\nimport { CustomItemDef } from \"../shared/CustomItemDef\";\r\nimport { BaseItemState } from \"../shared/ItemDefBase\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\nimport { SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { GroupItemDef } from \"../toolbar/GroupItem\";\r\nimport { RestoreFrontstageLayoutTool } from \"./RestoreLayoutTool\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** Utility Class that provides definitions of tools provided by the ($core-frontend) core. These definitions can be used to populate the UI.\r\n * @public\r\n */\r\n// istanbul ignore next\r\nexport class CoreTools {\r\n /** Get the CustomItemDef for PopupButton\r\n * @public\r\n */\r\n public static get keyinBrowserButtonItemDef() {\r\n return new CustomItemDef({\r\n customId: \"uif:keyinbrowser\",\r\n iconSpec: \"icon-process\",\r\n labelKey: \"UiFramework:keyinbrowser.label\",\r\n popupPanelNode: <ToolbarPopupContext.Consumer>\r\n {({ closePanel }) => (\r\n <KeyinBrowser onExecute={closePanel} onCancel={closePanel} />\r\n )}\r\n </ToolbarPopupContext.Consumer>,\r\n // DEPRECATED way\r\n reactElement: (\r\n <PopupButton iconSpec=\"icon-process\" labelKey=\"UiFramework:keyinbrowser.label\">\r\n {this._renderKeyInBrowser}\r\n </PopupButton>\r\n ),\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n private static _renderKeyInBrowser = ({ closePanel }: PopupButtonChildrenRenderPropArgs) => {\r\n return (\r\n <KeyinBrowser onExecute={closePanel} onCancel={closePanel} />\r\n );\r\n };\r\n\r\n public static get keyinPaletteButtonItemDef() {\r\n return new ToolItemDef({\r\n toolId: \"uif:keyinpalette\",\r\n iconSpec: \"icon-process\",\r\n labelKey: \"UiFramework:keyinbrowser.label\",\r\n execute: () => { IModelApp.uiAdmin.showKeyinPalette(); },\r\n });\r\n }\r\n\r\n public static get fitViewCommand() {\r\n return new ToolItemDef({\r\n toolId: FitViewTool.toolId,\r\n iconSpec: FitViewTool.iconSpec,\r\n label: FitViewTool.flyover,\r\n description: FitViewTool.description,\r\n execute: async () => IModelApp.tools.run(FitViewTool.toolId, IModelApp.viewManager.selectedView, true),\r\n });\r\n }\r\n\r\n public static get windowAreaCommand() {\r\n return new ToolItemDef({\r\n toolId: WindowAreaTool.toolId,\r\n iconSpec: WindowAreaTool.iconSpec,\r\n label: WindowAreaTool.flyover,\r\n description: WindowAreaTool.description,\r\n execute: async () => IModelApp.tools.run(WindowAreaTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get zoomViewCommand() {\r\n return new ToolItemDef({\r\n toolId: ZoomViewTool.toolId,\r\n iconSpec: ZoomViewTool.iconSpec,\r\n label: ZoomViewTool.flyover,\r\n description: ZoomViewTool.description,\r\n execute: async () => IModelApp.tools.run(ZoomViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get panViewCommand() {\r\n return new ToolItemDef({\r\n toolId: PanViewTool.toolId,\r\n iconSpec: PanViewTool.iconSpec,\r\n label: PanViewTool.flyover,\r\n description: PanViewTool.description,\r\n execute: async () => IModelApp.tools.run(PanViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get rotateViewCommand() {\r\n return new ToolItemDef({\r\n toolId: RotateViewTool.toolId,\r\n iconSpec: new ConditionalStringValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is2d())\r\n return \"icon-rotate-left\";\r\n return \"icon-gyroscope\";\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n label: RotateViewTool.flyover,\r\n description: RotateViewTool.description,\r\n execute: async () => IModelApp.tools.run(RotateViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get walkViewCommand() {\r\n return new ToolItemDef({\r\n toolId: WalkViewTool.toolId,\r\n iconSpec: WalkViewTool.iconSpec,\r\n label: WalkViewTool.flyover,\r\n description: WalkViewTool.description,\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n execute: async () => IModelApp.tools.run(WalkViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get selectElementCommand() {\r\n return new ToolItemDef({\r\n toolId: SelectionTool.toolId,\r\n iconSpec: SelectionTool.iconSpec,\r\n label: SelectionTool.flyover,\r\n description: SelectionTool.description,\r\n execute: async () => IModelApp.tools.run(SelectionTool.toolId),\r\n });\r\n }\r\n\r\n public static get toggleCameraViewCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewToggleCameraTool.toolId,\r\n iconSpec: new ConditionalStringValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.isCameraOn)\r\n return \"icon-camera-animation\";\r\n return \"icon-camera-animation-disabled\";\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n label: ViewToggleCameraTool.flyover,\r\n description: ViewToggleCameraTool.description,\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !(activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.view.supportsCamera());\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n execute: async () => IModelApp.tools.run(ViewToggleCameraTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get flyViewCommand() {\r\n return new ToolItemDef({\r\n toolId: FlyViewTool.toolId,\r\n iconSpec: FlyViewTool.iconSpec,\r\n label: FlyViewTool.flyover,\r\n description: FlyViewTool.description,\r\n execute: async () => IModelApp.tools.run(FlyViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n // TODO - Need to provide a sync message that is fired when the Undo/Redo button needs to be refreshed in the\r\n // active view.\r\n public static get viewUndoCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewUndoTool.toolId,\r\n isDisabled: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n return !activeContentControl.viewport.isUndoPossible;\r\n return false;\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n iconSpec: ViewUndoTool.iconSpec,\r\n label: ViewUndoTool.flyover,\r\n description: ViewUndoTool.description,\r\n execute: async () =>\r\n IModelApp.tools.run(ViewUndoTool.toolId, IModelApp.viewManager.selectedView)\r\n ,\r\n stateSyncIds: [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged],\r\n stateFunc: (currentState: Readonly<BaseItemState>): BaseItemState => {\r\n const returnState: BaseItemState = { ...currentState };\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n returnState.isEnabled = activeContentControl.viewport.isUndoPossible;\r\n return returnState;\r\n },\r\n });\r\n }\r\n\r\n public static get viewRedoCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewRedoTool.toolId,\r\n iconSpec: ViewRedoTool.iconSpec,\r\n label: ViewRedoTool.flyover,\r\n description: ViewRedoTool.description,\r\n execute: async () => IModelApp.tools.run(ViewRedoTool.toolId, IModelApp.viewManager.selectedView),\r\n isDisabled: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n return !activeContentControl.viewport.isRedoPossible;\r\n return false;\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n stateSyncIds: [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged],\r\n stateFunc: (currentState: Readonly<BaseItemState>): BaseItemState => {\r\n const returnState: BaseItemState = { ...currentState };\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n returnState.isEnabled = activeContentControl.viewport.isRedoPossible;\r\n return returnState;\r\n },\r\n });\r\n }\r\n\r\n private static turnOnClipVolume() {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp || !vp.view.is3d())\r\n return;\r\n\r\n // Turn on clip volume flag for section tools\r\n vp.viewFlags = vp.viewFlags.with(\"clipVolume\", true);\r\n }\r\n\r\n // note current ViewClipByPlaneTool is not automatically registered so the app must call ViewClipByPlaneTool.register();\r\n public static get sectionByPlaneCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByPlaneTool.toolId,\r\n iconSpec: ViewClipByPlaneTool.iconSpec,\r\n label: ViewClipByPlaneTool.flyover,\r\n description: ViewClipByPlaneTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByPlaneTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByElementTool is not automatically registered so the app must call ViewClipByElementTool.register();\r\n public static get sectionByElementCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByElementTool.toolId,\r\n iconSpec: ViewClipByElementTool.iconSpec,\r\n label: ViewClipByElementTool.flyover,\r\n description: ViewClipByElementTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByElementTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByRangeTool is not automatically registered so the app must call ViewClipByRangeTool.register();\r\n public static get sectionByRangeCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByRangeTool.toolId,\r\n iconSpec: ViewClipByRangeTool.iconSpec,\r\n label: ViewClipByRangeTool.flyover,\r\n description: ViewClipByRangeTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByRangeTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByShapeTool is not automatically registered so the app must call ViewClipByShapeTool.register();\r\n public static get sectionByShapeCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByShapeTool.toolId,\r\n iconSpec: ViewClipByShapeTool.iconSpec,\r\n label: ViewClipByShapeTool.flyover,\r\n description: ViewClipByShapeTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByShapeTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n public static get sectionToolGroup() {\r\n ViewClipByElementTool.register();\r\n ViewClipByPlaneTool.register();\r\n ViewClipByRangeTool.register();\r\n ViewClipByShapeTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"sectionTools-group\",\r\n labelKey: \"UiFramework:tools.sectionTools\",\r\n iconSpec: \"icon-section-tool\",\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n items: [this.sectionByPlaneCommandItemDef, this.sectionByElementCommandItemDef, this.sectionByRangeCommandItemDef, this.sectionByShapeCommandItemDef],\r\n itemsInColumn: 4,\r\n });\r\n }\r\n\r\n public static get sectionToolGroupWithPanel() {\r\n ViewClipByElementTool.register();\r\n ViewClipByPlaneTool.register();\r\n ViewClipByRangeTool.register();\r\n ViewClipByShapeTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"sectionTools-group-with-panel\",\r\n labelKey: \"UiFramework:tools.sectionTools\",\r\n panelLabelKey: \"UiFramework:tools.sectionPanelLabel\",\r\n iconSpec: \"icon-section-tool\",\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n items: [\r\n new ToolItemDef({\r\n ...this.sectionByPlaneCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByPlane\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByElementCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByElement\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByRangeCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByRange\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByShapeCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByShape\",\r\n }),\r\n ],\r\n itemsInColumn: 4,\r\n });\r\n\r\n }\r\n\r\n // note current MeasureDistanceTool is not automatically registered so the app must call MeasureDistanceTool.register();\r\n public static get measureDistanceToolItemDef() {\r\n return new ToolItemDef({\r\n toolId: MeasureDistanceTool.toolId,\r\n iconSpec: MeasureDistanceTool.iconSpec,\r\n label: MeasureDistanceTool.flyover,\r\n description: MeasureDistanceTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(MeasureDistanceTool.toolId);\r\n },\r\n });\r\n }\r\n\r\n // note current MeasureLocationTool is not automatically registered so the app must call MeasureLocationTool.register();\r\n public static get measureLocationToolItemDef() {\r\n return new ToolItemDef({\r\n toolId: MeasureLocationTool.toolId,\r\n iconSpec: MeasureLocationTool.iconSpec,\r\n label: MeasureLocationTool.flyover,\r\n description: MeasureLocationTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(MeasureLocationTool.toolId);\r\n },\r\n });\r\n }\r\n\r\n public static get measureToolGroup() {\r\n MeasureDistanceTool.register();\r\n MeasureLocationTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"measureTools-group\",\r\n labelKey: \"UiFramework:tools.measureTools\",\r\n iconSpec: \"icon-measure\",\r\n items: [this.measureDistanceToolItemDef, this.measureLocationToolItemDef],\r\n itemsInColumn: 2,\r\n });\r\n }\r\n\r\n public static get clearSelectionItemDef() {\r\n return new CommandItemDef({\r\n commandId: \"UiFramework.ClearSelection\",\r\n iconSpec: \"icon-selection-clear\",\r\n labelKey: \"UiFramework:buttons.clearSelection\",\r\n stateSyncIds: getSelectionContextSyncEventIds(),\r\n stateFunc: selectionContextStateFunc,\r\n isHidden: getIsHiddenIfSelectionNotActive(),\r\n execute: async () => {\r\n const iModelConnection = UiFramework.getIModelConnection();\r\n if (iModelConnection) {\r\n iModelConnection.selectionSet.emptyAll();\r\n }\r\n const tool = IModelApp.toolAdmin.primitiveTool;\r\n if (tool)\r\n await tool.onRestartTool();\r\n else\r\n await IModelApp.toolAdmin.startDefaultTool();\r\n },\r\n });\r\n }\r\n\r\n public static get restoreFrontstageLayoutCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: RestoreFrontstageLayoutTool.toolId,\r\n iconSpec: RestoreFrontstageLayoutTool.iconSpec,\r\n label: RestoreFrontstageLayoutTool.flyover,\r\n description: RestoreFrontstageLayoutTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(RestoreFrontstageLayoutTool.toolId);\r\n },\r\n });\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"CoreToolDefinitions.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/CoreToolDefinitions.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\n\r\nimport * as React from \"react\";\r\n// cSpell:ignore configurableui keyinbrowser\r\nimport {\r\n FitViewTool, FlyViewTool, IModelApp, MeasureDistanceTool, MeasureLocationTool, PanViewTool, RotateViewTool, SelectionTool, ViewClipByElementTool,\r\n ViewClipByPlaneTool, ViewClipByRangeTool, ViewClipByShapeTool, ViewClipDecorationProvider, ViewRedoTool, ViewToggleCameraTool, ViewUndoTool,\r\n WalkViewTool, WindowAreaTool, ZoomViewTool,\r\n} from \"@itwin/core-frontend\";\r\nimport { ConditionalBooleanValue, ConditionalStringValue, IconSpecUtilities } from \"@itwin/appui-abstract\";\r\nimport { ToolbarPopupContext } from \"@itwin/components-react\";\r\nimport { PopupButton, PopupButtonChildrenRenderPropArgs } from \"../toolbar/PopupButton\";\r\nimport { ContentViewManager } from \"../content/ContentViewManager\";\r\nimport { KeyinBrowser } from \"../keyinbrowser/KeyinBrowser\";\r\nimport { getIsHiddenIfSelectionNotActive, getSelectionContextSyncEventIds, selectionContextStateFunc } from \"../selection/SelectionContextItemDef\";\r\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\r\nimport { CustomItemDef } from \"../shared/CustomItemDef\";\r\nimport { BaseItemState } from \"../shared/ItemDefBase\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\nimport { SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { GroupItemDef } from \"../toolbar/GroupItem\";\r\nimport { RestoreFrontstageLayoutTool } from \"./RestoreLayoutTool\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport cameraAnimationIcon from \"@itwin/itwinui-icons/icons/camera-animation.svg\";\r\nimport cameraAnimationDisabledIcon from \"@itwin/itwinui-icons/icons/camera-animation-disabled.svg\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** Utility Class that provides definitions of tools provided by the ($core-frontend) core. These definitions can be used to populate the UI.\r\n * @public\r\n */\r\n// istanbul ignore next\r\nexport class CoreTools {\r\n /** Get the CustomItemDef for PopupButton\r\n * @public\r\n */\r\n public static get keyinBrowserButtonItemDef() {\r\n return new CustomItemDef({\r\n customId: \"uif:keyinbrowser\",\r\n iconSpec: \"icon-process\",\r\n labelKey: \"UiFramework:keyinbrowser.label\",\r\n popupPanelNode: <ToolbarPopupContext.Consumer>\r\n {({ closePanel }) => (\r\n <KeyinBrowser onExecute={closePanel} onCancel={closePanel} />\r\n )}\r\n </ToolbarPopupContext.Consumer>,\r\n // DEPRECATED way\r\n reactElement: (\r\n <PopupButton iconSpec=\"icon-process\" labelKey=\"UiFramework:keyinbrowser.label\">\r\n {this._renderKeyInBrowser}\r\n </PopupButton>\r\n ),\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n private static _renderKeyInBrowser = ({ closePanel }: PopupButtonChildrenRenderPropArgs) => {\r\n return (\r\n <KeyinBrowser onExecute={closePanel} onCancel={closePanel} />\r\n );\r\n };\r\n\r\n public static get keyinPaletteButtonItemDef() {\r\n return new ToolItemDef({\r\n toolId: \"uif:keyinpalette\",\r\n iconSpec: \"icon-process\",\r\n labelKey: \"UiFramework:keyinbrowser.label\",\r\n execute: () => { IModelApp.uiAdmin.showKeyinPalette(); },\r\n });\r\n }\r\n\r\n public static get fitViewCommand() {\r\n return new ToolItemDef({\r\n toolId: FitViewTool.toolId,\r\n iconSpec: FitViewTool.iconSpec,\r\n label: FitViewTool.flyover,\r\n description: FitViewTool.description,\r\n execute: async () => IModelApp.tools.run(FitViewTool.toolId, IModelApp.viewManager.selectedView, true),\r\n });\r\n }\r\n\r\n public static get windowAreaCommand() {\r\n return new ToolItemDef({\r\n toolId: WindowAreaTool.toolId,\r\n iconSpec: WindowAreaTool.iconSpec,\r\n label: WindowAreaTool.flyover,\r\n description: WindowAreaTool.description,\r\n execute: async () => IModelApp.tools.run(WindowAreaTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get zoomViewCommand() {\r\n return new ToolItemDef({\r\n toolId: ZoomViewTool.toolId,\r\n iconSpec: ZoomViewTool.iconSpec,\r\n label: ZoomViewTool.flyover,\r\n description: ZoomViewTool.description,\r\n execute: async () => IModelApp.tools.run(ZoomViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get panViewCommand() {\r\n return new ToolItemDef({\r\n toolId: PanViewTool.toolId,\r\n iconSpec: PanViewTool.iconSpec,\r\n label: PanViewTool.flyover,\r\n description: PanViewTool.description,\r\n execute: async () => IModelApp.tools.run(PanViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get rotateViewCommand() {\r\n return new ToolItemDef({\r\n toolId: RotateViewTool.toolId,\r\n iconSpec: new ConditionalStringValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is2d())\r\n return \"icon-rotate-left\";\r\n return \"icon-gyroscope\";\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n label: RotateViewTool.flyover,\r\n description: RotateViewTool.description,\r\n execute: async () => IModelApp.tools.run(RotateViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get walkViewCommand() {\r\n return new ToolItemDef({\r\n toolId: WalkViewTool.toolId,\r\n iconSpec: WalkViewTool.iconSpec,\r\n label: WalkViewTool.flyover,\r\n description: WalkViewTool.description,\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n execute: async () => IModelApp.tools.run(WalkViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get selectElementCommand() {\r\n return new ToolItemDef({\r\n toolId: SelectionTool.toolId,\r\n iconSpec: SelectionTool.iconSpec,\r\n label: SelectionTool.flyover,\r\n description: SelectionTool.description,\r\n execute: async () => IModelApp.tools.run(SelectionTool.toolId),\r\n });\r\n }\r\n\r\n public static get toggleCameraViewCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewToggleCameraTool.toolId,\r\n iconSpec: new ConditionalStringValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.isCameraOn) {\r\n return IconSpecUtilities.createWebComponentIconSpec(cameraAnimationIcon);\r\n }\r\n return IconSpecUtilities.createWebComponentIconSpec(cameraAnimationDisabledIcon);\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n label: new ConditionalStringValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.isCameraOn) {\r\n return UiFramework.translate(\"tools.View.ToggleCamera.turnOffFlyover\");\r\n }\r\n return UiFramework.translate(\"tools.View.ToggleCamera.turnOnFlyover\");\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n description: ViewToggleCameraTool.description,\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !(activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.view.supportsCamera());\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n execute: async () => IModelApp.tools.run(ViewToggleCameraTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get flyViewCommand() {\r\n return new ToolItemDef({\r\n toolId: FlyViewTool.toolId,\r\n iconSpec: FlyViewTool.iconSpec,\r\n label: FlyViewTool.flyover,\r\n description: FlyViewTool.description,\r\n execute: async () => IModelApp.tools.run(FlyViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n // TODO - Need to provide a sync message that is fired when the Undo/Redo button needs to be refreshed in the\r\n // active view.\r\n public static get viewUndoCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewUndoTool.toolId,\r\n isDisabled: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n return !activeContentControl.viewport.isUndoPossible;\r\n return false;\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n iconSpec: ViewUndoTool.iconSpec,\r\n label: ViewUndoTool.flyover,\r\n description: ViewUndoTool.description,\r\n execute: async () =>\r\n IModelApp.tools.run(ViewUndoTool.toolId, IModelApp.viewManager.selectedView)\r\n ,\r\n stateSyncIds: [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged],\r\n stateFunc: (currentState: Readonly<BaseItemState>): BaseItemState => {\r\n const returnState: BaseItemState = { ...currentState };\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n returnState.isEnabled = activeContentControl.viewport.isUndoPossible;\r\n return returnState;\r\n },\r\n });\r\n }\r\n\r\n public static get viewRedoCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewRedoTool.toolId,\r\n iconSpec: ViewRedoTool.iconSpec,\r\n label: ViewRedoTool.flyover,\r\n description: ViewRedoTool.description,\r\n execute: async () => IModelApp.tools.run(ViewRedoTool.toolId, IModelApp.viewManager.selectedView),\r\n isDisabled: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n return !activeContentControl.viewport.isRedoPossible;\r\n return false;\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n stateSyncIds: [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged],\r\n stateFunc: (currentState: Readonly<BaseItemState>): BaseItemState => {\r\n const returnState: BaseItemState = { ...currentState };\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n returnState.isEnabled = activeContentControl.viewport.isRedoPossible;\r\n return returnState;\r\n },\r\n });\r\n }\r\n\r\n private static turnOnClipVolume() {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp || !vp.view.is3d())\r\n return;\r\n\r\n // Turn on clip volume flag for section tools\r\n vp.viewFlags = vp.viewFlags.with(\"clipVolume\", true);\r\n }\r\n\r\n // note current ViewClipByPlaneTool is not automatically registered so the app must call ViewClipByPlaneTool.register();\r\n public static get sectionByPlaneCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByPlaneTool.toolId,\r\n iconSpec: ViewClipByPlaneTool.iconSpec,\r\n label: ViewClipByPlaneTool.flyover,\r\n description: ViewClipByPlaneTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByPlaneTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByElementTool is not automatically registered so the app must call ViewClipByElementTool.register();\r\n public static get sectionByElementCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByElementTool.toolId,\r\n iconSpec: ViewClipByElementTool.iconSpec,\r\n label: ViewClipByElementTool.flyover,\r\n description: ViewClipByElementTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByElementTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByRangeTool is not automatically registered so the app must call ViewClipByRangeTool.register();\r\n public static get sectionByRangeCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByRangeTool.toolId,\r\n iconSpec: ViewClipByRangeTool.iconSpec,\r\n label: ViewClipByRangeTool.flyover,\r\n description: ViewClipByRangeTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByRangeTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByShapeTool is not automatically registered so the app must call ViewClipByShapeTool.register();\r\n public static get sectionByShapeCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByShapeTool.toolId,\r\n iconSpec: ViewClipByShapeTool.iconSpec,\r\n label: ViewClipByShapeTool.flyover,\r\n description: ViewClipByShapeTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByShapeTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n public static get sectionToolGroup() {\r\n ViewClipByElementTool.register();\r\n ViewClipByPlaneTool.register();\r\n ViewClipByRangeTool.register();\r\n ViewClipByShapeTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"sectionTools-group\",\r\n labelKey: \"UiFramework:tools.sectionTools\",\r\n iconSpec: \"icon-section-tool\",\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n items: [this.sectionByPlaneCommandItemDef, this.sectionByElementCommandItemDef, this.sectionByRangeCommandItemDef, this.sectionByShapeCommandItemDef],\r\n itemsInColumn: 4,\r\n });\r\n }\r\n\r\n public static get sectionToolGroupWithPanel() {\r\n ViewClipByElementTool.register();\r\n ViewClipByPlaneTool.register();\r\n ViewClipByRangeTool.register();\r\n ViewClipByShapeTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"sectionTools-group-with-panel\",\r\n labelKey: \"UiFramework:tools.sectionTools\",\r\n panelLabelKey: \"UiFramework:tools.sectionPanelLabel\",\r\n iconSpec: \"icon-section-tool\",\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n items: [\r\n new ToolItemDef({\r\n ...this.sectionByPlaneCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByPlane\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByElementCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByElement\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByRangeCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByRange\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByShapeCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByShape\",\r\n }),\r\n ],\r\n itemsInColumn: 4,\r\n });\r\n\r\n }\r\n\r\n // note current MeasureDistanceTool is not automatically registered so the app must call MeasureDistanceTool.register();\r\n public static get measureDistanceToolItemDef() {\r\n return new ToolItemDef({\r\n toolId: MeasureDistanceTool.toolId,\r\n iconSpec: MeasureDistanceTool.iconSpec,\r\n label: MeasureDistanceTool.flyover,\r\n description: MeasureDistanceTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(MeasureDistanceTool.toolId);\r\n },\r\n });\r\n }\r\n\r\n // note current MeasureLocationTool is not automatically registered so the app must call MeasureLocationTool.register();\r\n public static get measureLocationToolItemDef() {\r\n return new ToolItemDef({\r\n toolId: MeasureLocationTool.toolId,\r\n iconSpec: MeasureLocationTool.iconSpec,\r\n label: MeasureLocationTool.flyover,\r\n description: MeasureLocationTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(MeasureLocationTool.toolId);\r\n },\r\n });\r\n }\r\n\r\n public static get measureToolGroup() {\r\n MeasureDistanceTool.register();\r\n MeasureLocationTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"measureTools-group\",\r\n labelKey: \"UiFramework:tools.measureTools\",\r\n iconSpec: \"icon-measure\",\r\n items: [this.measureDistanceToolItemDef, this.measureLocationToolItemDef],\r\n itemsInColumn: 2,\r\n });\r\n }\r\n\r\n public static get clearSelectionItemDef() {\r\n return new CommandItemDef({\r\n commandId: \"UiFramework.ClearSelection\",\r\n iconSpec: \"icon-selection-clear\",\r\n labelKey: \"UiFramework:buttons.clearSelection\",\r\n stateSyncIds: getSelectionContextSyncEventIds(),\r\n stateFunc: selectionContextStateFunc,\r\n isHidden: getIsHiddenIfSelectionNotActive(),\r\n execute: async () => {\r\n const iModelConnection = UiFramework.getIModelConnection();\r\n if (iModelConnection) {\r\n iModelConnection.selectionSet.emptyAll();\r\n }\r\n const tool = IModelApp.toolAdmin.primitiveTool;\r\n if (tool)\r\n await tool.onRestartTool();\r\n else\r\n await IModelApp.toolAdmin.startDefaultTool();\r\n },\r\n });\r\n }\r\n\r\n public static get restoreFrontstageLayoutCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: RestoreFrontstageLayoutTool.toolId,\r\n iconSpec: RestoreFrontstageLayoutTool.iconSpec,\r\n label: RestoreFrontstageLayoutTool.flyover,\r\n description: RestoreFrontstageLayoutTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(RestoreFrontstageLayoutTool.toolId);\r\n },\r\n });\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreToolDefinitions.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/tools/CoreToolDefinitions.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAeH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"CoreToolDefinitions.d.ts","sourceRoot":"","sources":["../../../../src/appui-react/tools/CoreToolDefinitions.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAeH,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAQpD;;GAEG;AAEH,qBAAa,SAAS;IACpB;;OAEG;IACH,WAAkB,yBAAyB,kBAiB1C;IAGD,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAIhC;IAEF,WAAkB,yBAAyB,gBAO1C;IAED,WAAkB,cAAc,gBAQ/B;IAED,WAAkB,iBAAiB,gBAQlC;IAED,WAAkB,eAAe,gBAQhC;IAED,WAAkB,cAAc,gBAQ/B;IAED,WAAkB,iBAAiB,gBAalC;IAED,WAAkB,eAAe,gBAYhC;IAED,WAAkB,oBAAoB,gBAQrC;IAED,WAAkB,uBAAuB,gBAwBxC;IAED,WAAkB,cAAc,gBAQ/B;IAID,WAAkB,eAAe,gBAwBhC;IAED,WAAkB,eAAe,gBAsBhC;IAED,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAU/B,WAAkB,4BAA4B,gBAW7C;IAGD,WAAkB,8BAA8B,gBAW/C;IAGD,WAAkB,4BAA4B,gBAW7C;IAGD,WAAkB,4BAA4B,gBAW7C;IAED,WAAkB,gBAAgB,iBAiBjC;IAED,WAAkB,yBAAyB,iBAoC1C;IAGD,WAAkB,0BAA0B,gBAU3C;IAGD,WAAkB,0BAA0B,gBAU3C;IAED,WAAkB,gBAAgB,iBAWjC;IAED,WAAkB,qBAAqB,mBAoBtC;IAED,WAAkB,qCAAqC,gBAUtD;CACF"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import * as React from "react";
|
|
9
9
|
// cSpell:ignore configurableui keyinbrowser
|
|
10
10
|
import { FitViewTool, FlyViewTool, IModelApp, MeasureDistanceTool, MeasureLocationTool, PanViewTool, RotateViewTool, SelectionTool, ViewClipByElementTool, ViewClipByPlaneTool, ViewClipByRangeTool, ViewClipByShapeTool, ViewClipDecorationProvider, ViewRedoTool, ViewToggleCameraTool, ViewUndoTool, WalkViewTool, WindowAreaTool, ZoomViewTool, } from "@itwin/core-frontend";
|
|
11
|
-
import { ConditionalBooleanValue, ConditionalStringValue } from "@itwin/appui-abstract";
|
|
11
|
+
import { ConditionalBooleanValue, ConditionalStringValue, IconSpecUtilities } from "@itwin/appui-abstract";
|
|
12
12
|
import { ToolbarPopupContext } from "@itwin/components-react";
|
|
13
13
|
import { PopupButton } from "../toolbar/PopupButton";
|
|
14
14
|
import { ContentViewManager } from "../content/ContentViewManager";
|
|
@@ -21,6 +21,8 @@ import { SyncUiEventId } from "../syncui/SyncUiEventDispatcher";
|
|
|
21
21
|
import { GroupItemDef } from "../toolbar/GroupItem";
|
|
22
22
|
import { RestoreFrontstageLayoutTool } from "./RestoreLayoutTool";
|
|
23
23
|
import { UiFramework } from "../UiFramework";
|
|
24
|
+
import cameraAnimationIcon from "@itwin/itwinui-icons/icons/camera-animation.svg";
|
|
25
|
+
import cameraAnimationDisabledIcon from "@itwin/itwinui-icons/icons/camera-animation-disabled.svg";
|
|
24
26
|
/* eslint-disable deprecation/deprecation */
|
|
25
27
|
/** Utility Class that provides definitions of tools provided by the ($core-frontend) core. These definitions can be used to populate the UI.
|
|
26
28
|
* @public
|
|
@@ -128,11 +130,19 @@ export class CoreTools {
|
|
|
128
130
|
iconSpec: new ConditionalStringValue(() => {
|
|
129
131
|
var _a, _b;
|
|
130
132
|
const activeContentControl = ContentViewManager.getActiveContentControl();
|
|
131
|
-
if (((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is3d()) && ((_b = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _b === void 0 ? void 0 : _b.isCameraOn))
|
|
132
|
-
return
|
|
133
|
-
|
|
133
|
+
if (((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is3d()) && ((_b = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _b === void 0 ? void 0 : _b.isCameraOn)) {
|
|
134
|
+
return IconSpecUtilities.createWebComponentIconSpec(cameraAnimationIcon);
|
|
135
|
+
}
|
|
136
|
+
return IconSpecUtilities.createWebComponentIconSpec(cameraAnimationDisabledIcon);
|
|
137
|
+
}, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),
|
|
138
|
+
label: new ConditionalStringValue(() => {
|
|
139
|
+
var _a, _b;
|
|
140
|
+
const activeContentControl = ContentViewManager.getActiveContentControl();
|
|
141
|
+
if (((_a = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _a === void 0 ? void 0 : _a.view.is3d()) && ((_b = activeContentControl === null || activeContentControl === void 0 ? void 0 : activeContentControl.viewport) === null || _b === void 0 ? void 0 : _b.isCameraOn)) {
|
|
142
|
+
return UiFramework.translate("tools.View.ToggleCamera.turnOffFlyover");
|
|
143
|
+
}
|
|
144
|
+
return UiFramework.translate("tools.View.ToggleCamera.turnOnFlyover");
|
|
134
145
|
}, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),
|
|
135
|
-
label: ViewToggleCameraTool.flyover,
|
|
136
146
|
description: ViewToggleCameraTool.description,
|
|
137
147
|
isHidden: new ConditionalBooleanValue(() => {
|
|
138
148
|
var _a, _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreToolDefinitions.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/CoreToolDefinitions.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\n\r\nimport * as React from \"react\";\r\n// cSpell:ignore configurableui keyinbrowser\r\nimport {\r\n FitViewTool, FlyViewTool, IModelApp, MeasureDistanceTool, MeasureLocationTool, PanViewTool, RotateViewTool, SelectionTool, ViewClipByElementTool,\r\n ViewClipByPlaneTool, ViewClipByRangeTool, ViewClipByShapeTool, ViewClipDecorationProvider, ViewRedoTool, ViewToggleCameraTool, ViewUndoTool,\r\n WalkViewTool, WindowAreaTool, ZoomViewTool,\r\n} from \"@itwin/core-frontend\";\r\nimport { ConditionalBooleanValue, ConditionalStringValue } from \"@itwin/appui-abstract\";\r\nimport { ToolbarPopupContext } from \"@itwin/components-react\";\r\nimport { PopupButton, PopupButtonChildrenRenderPropArgs } from \"../toolbar/PopupButton\";\r\nimport { ContentViewManager } from \"../content/ContentViewManager\";\r\nimport { KeyinBrowser } from \"../keyinbrowser/KeyinBrowser\";\r\nimport { getIsHiddenIfSelectionNotActive, getSelectionContextSyncEventIds, selectionContextStateFunc } from \"../selection/SelectionContextItemDef\";\r\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\r\nimport { CustomItemDef } from \"../shared/CustomItemDef\";\r\nimport { BaseItemState } from \"../shared/ItemDefBase\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\nimport { SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { GroupItemDef } from \"../toolbar/GroupItem\";\r\nimport { RestoreFrontstageLayoutTool } from \"./RestoreLayoutTool\";\r\nimport { UiFramework } from \"../UiFramework\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** Utility Class that provides definitions of tools provided by the ($core-frontend) core. These definitions can be used to populate the UI.\r\n * @public\r\n */\r\n// istanbul ignore next\r\nexport class CoreTools {\r\n /** Get the CustomItemDef for PopupButton\r\n * @public\r\n */\r\n public static get keyinBrowserButtonItemDef() {\r\n return new CustomItemDef({\r\n customId: \"uif:keyinbrowser\",\r\n iconSpec: \"icon-process\",\r\n labelKey: \"UiFramework:keyinbrowser.label\",\r\n popupPanelNode: <ToolbarPopupContext.Consumer>\r\n {({ closePanel }) => (\r\n <KeyinBrowser onExecute={closePanel} onCancel={closePanel} />\r\n )}\r\n </ToolbarPopupContext.Consumer>,\r\n // DEPRECATED way\r\n reactElement: (\r\n <PopupButton iconSpec=\"icon-process\" labelKey=\"UiFramework:keyinbrowser.label\">\r\n {this._renderKeyInBrowser}\r\n </PopupButton>\r\n ),\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n private static _renderKeyInBrowser = ({ closePanel }: PopupButtonChildrenRenderPropArgs) => {\r\n return (\r\n <KeyinBrowser onExecute={closePanel} onCancel={closePanel} />\r\n );\r\n };\r\n\r\n public static get keyinPaletteButtonItemDef() {\r\n return new ToolItemDef({\r\n toolId: \"uif:keyinpalette\",\r\n iconSpec: \"icon-process\",\r\n labelKey: \"UiFramework:keyinbrowser.label\",\r\n execute: () => { IModelApp.uiAdmin.showKeyinPalette(); },\r\n });\r\n }\r\n\r\n public static get fitViewCommand() {\r\n return new ToolItemDef({\r\n toolId: FitViewTool.toolId,\r\n iconSpec: FitViewTool.iconSpec,\r\n label: FitViewTool.flyover,\r\n description: FitViewTool.description,\r\n execute: async () => IModelApp.tools.run(FitViewTool.toolId, IModelApp.viewManager.selectedView, true),\r\n });\r\n }\r\n\r\n public static get windowAreaCommand() {\r\n return new ToolItemDef({\r\n toolId: WindowAreaTool.toolId,\r\n iconSpec: WindowAreaTool.iconSpec,\r\n label: WindowAreaTool.flyover,\r\n description: WindowAreaTool.description,\r\n execute: async () => IModelApp.tools.run(WindowAreaTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get zoomViewCommand() {\r\n return new ToolItemDef({\r\n toolId: ZoomViewTool.toolId,\r\n iconSpec: ZoomViewTool.iconSpec,\r\n label: ZoomViewTool.flyover,\r\n description: ZoomViewTool.description,\r\n execute: async () => IModelApp.tools.run(ZoomViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get panViewCommand() {\r\n return new ToolItemDef({\r\n toolId: PanViewTool.toolId,\r\n iconSpec: PanViewTool.iconSpec,\r\n label: PanViewTool.flyover,\r\n description: PanViewTool.description,\r\n execute: async () => IModelApp.tools.run(PanViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get rotateViewCommand() {\r\n return new ToolItemDef({\r\n toolId: RotateViewTool.toolId,\r\n iconSpec: new ConditionalStringValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is2d())\r\n return \"icon-rotate-left\";\r\n return \"icon-gyroscope\";\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n label: RotateViewTool.flyover,\r\n description: RotateViewTool.description,\r\n execute: async () => IModelApp.tools.run(RotateViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get walkViewCommand() {\r\n return new ToolItemDef({\r\n toolId: WalkViewTool.toolId,\r\n iconSpec: WalkViewTool.iconSpec,\r\n label: WalkViewTool.flyover,\r\n description: WalkViewTool.description,\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n execute: async () => IModelApp.tools.run(WalkViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get selectElementCommand() {\r\n return new ToolItemDef({\r\n toolId: SelectionTool.toolId,\r\n iconSpec: SelectionTool.iconSpec,\r\n label: SelectionTool.flyover,\r\n description: SelectionTool.description,\r\n execute: async () => IModelApp.tools.run(SelectionTool.toolId),\r\n });\r\n }\r\n\r\n public static get toggleCameraViewCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewToggleCameraTool.toolId,\r\n iconSpec: new ConditionalStringValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.isCameraOn)\r\n return \"icon-camera-animation\";\r\n return \"icon-camera-animation-disabled\";\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n label: ViewToggleCameraTool.flyover,\r\n description: ViewToggleCameraTool.description,\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !(activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.view.supportsCamera());\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n execute: async () => IModelApp.tools.run(ViewToggleCameraTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get flyViewCommand() {\r\n return new ToolItemDef({\r\n toolId: FlyViewTool.toolId,\r\n iconSpec: FlyViewTool.iconSpec,\r\n label: FlyViewTool.flyover,\r\n description: FlyViewTool.description,\r\n execute: async () => IModelApp.tools.run(FlyViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n // TODO - Need to provide a sync message that is fired when the Undo/Redo button needs to be refreshed in the\r\n // active view.\r\n public static get viewUndoCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewUndoTool.toolId,\r\n isDisabled: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n return !activeContentControl.viewport.isUndoPossible;\r\n return false;\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n iconSpec: ViewUndoTool.iconSpec,\r\n label: ViewUndoTool.flyover,\r\n description: ViewUndoTool.description,\r\n execute: async () =>\r\n IModelApp.tools.run(ViewUndoTool.toolId, IModelApp.viewManager.selectedView)\r\n ,\r\n stateSyncIds: [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged],\r\n stateFunc: (currentState: Readonly<BaseItemState>): BaseItemState => {\r\n const returnState: BaseItemState = { ...currentState };\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n returnState.isEnabled = activeContentControl.viewport.isUndoPossible;\r\n return returnState;\r\n },\r\n });\r\n }\r\n\r\n public static get viewRedoCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewRedoTool.toolId,\r\n iconSpec: ViewRedoTool.iconSpec,\r\n label: ViewRedoTool.flyover,\r\n description: ViewRedoTool.description,\r\n execute: async () => IModelApp.tools.run(ViewRedoTool.toolId, IModelApp.viewManager.selectedView),\r\n isDisabled: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n return !activeContentControl.viewport.isRedoPossible;\r\n return false;\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n stateSyncIds: [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged],\r\n stateFunc: (currentState: Readonly<BaseItemState>): BaseItemState => {\r\n const returnState: BaseItemState = { ...currentState };\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n returnState.isEnabled = activeContentControl.viewport.isRedoPossible;\r\n return returnState;\r\n },\r\n });\r\n }\r\n\r\n private static turnOnClipVolume() {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp || !vp.view.is3d())\r\n return;\r\n\r\n // Turn on clip volume flag for section tools\r\n vp.viewFlags = vp.viewFlags.with(\"clipVolume\", true);\r\n }\r\n\r\n // note current ViewClipByPlaneTool is not automatically registered so the app must call ViewClipByPlaneTool.register();\r\n public static get sectionByPlaneCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByPlaneTool.toolId,\r\n iconSpec: ViewClipByPlaneTool.iconSpec,\r\n label: ViewClipByPlaneTool.flyover,\r\n description: ViewClipByPlaneTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByPlaneTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByElementTool is not automatically registered so the app must call ViewClipByElementTool.register();\r\n public static get sectionByElementCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByElementTool.toolId,\r\n iconSpec: ViewClipByElementTool.iconSpec,\r\n label: ViewClipByElementTool.flyover,\r\n description: ViewClipByElementTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByElementTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByRangeTool is not automatically registered so the app must call ViewClipByRangeTool.register();\r\n public static get sectionByRangeCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByRangeTool.toolId,\r\n iconSpec: ViewClipByRangeTool.iconSpec,\r\n label: ViewClipByRangeTool.flyover,\r\n description: ViewClipByRangeTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByRangeTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByShapeTool is not automatically registered so the app must call ViewClipByShapeTool.register();\r\n public static get sectionByShapeCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByShapeTool.toolId,\r\n iconSpec: ViewClipByShapeTool.iconSpec,\r\n label: ViewClipByShapeTool.flyover,\r\n description: ViewClipByShapeTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByShapeTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n public static get sectionToolGroup() {\r\n ViewClipByElementTool.register();\r\n ViewClipByPlaneTool.register();\r\n ViewClipByRangeTool.register();\r\n ViewClipByShapeTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"sectionTools-group\",\r\n labelKey: \"UiFramework:tools.sectionTools\",\r\n iconSpec: \"icon-section-tool\",\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n items: [this.sectionByPlaneCommandItemDef, this.sectionByElementCommandItemDef, this.sectionByRangeCommandItemDef, this.sectionByShapeCommandItemDef],\r\n itemsInColumn: 4,\r\n });\r\n }\r\n\r\n public static get sectionToolGroupWithPanel() {\r\n ViewClipByElementTool.register();\r\n ViewClipByPlaneTool.register();\r\n ViewClipByRangeTool.register();\r\n ViewClipByShapeTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"sectionTools-group-with-panel\",\r\n labelKey: \"UiFramework:tools.sectionTools\",\r\n panelLabelKey: \"UiFramework:tools.sectionPanelLabel\",\r\n iconSpec: \"icon-section-tool\",\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n items: [\r\n new ToolItemDef({\r\n ...this.sectionByPlaneCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByPlane\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByElementCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByElement\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByRangeCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByRange\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByShapeCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByShape\",\r\n }),\r\n ],\r\n itemsInColumn: 4,\r\n });\r\n\r\n }\r\n\r\n // note current MeasureDistanceTool is not automatically registered so the app must call MeasureDistanceTool.register();\r\n public static get measureDistanceToolItemDef() {\r\n return new ToolItemDef({\r\n toolId: MeasureDistanceTool.toolId,\r\n iconSpec: MeasureDistanceTool.iconSpec,\r\n label: MeasureDistanceTool.flyover,\r\n description: MeasureDistanceTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(MeasureDistanceTool.toolId);\r\n },\r\n });\r\n }\r\n\r\n // note current MeasureLocationTool is not automatically registered so the app must call MeasureLocationTool.register();\r\n public static get measureLocationToolItemDef() {\r\n return new ToolItemDef({\r\n toolId: MeasureLocationTool.toolId,\r\n iconSpec: MeasureLocationTool.iconSpec,\r\n label: MeasureLocationTool.flyover,\r\n description: MeasureLocationTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(MeasureLocationTool.toolId);\r\n },\r\n });\r\n }\r\n\r\n public static get measureToolGroup() {\r\n MeasureDistanceTool.register();\r\n MeasureLocationTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"measureTools-group\",\r\n labelKey: \"UiFramework:tools.measureTools\",\r\n iconSpec: \"icon-measure\",\r\n items: [this.measureDistanceToolItemDef, this.measureLocationToolItemDef],\r\n itemsInColumn: 2,\r\n });\r\n }\r\n\r\n public static get clearSelectionItemDef() {\r\n return new CommandItemDef({\r\n commandId: \"UiFramework.ClearSelection\",\r\n iconSpec: \"icon-selection-clear\",\r\n labelKey: \"UiFramework:buttons.clearSelection\",\r\n stateSyncIds: getSelectionContextSyncEventIds(),\r\n stateFunc: selectionContextStateFunc,\r\n isHidden: getIsHiddenIfSelectionNotActive(),\r\n execute: async () => {\r\n const iModelConnection = UiFramework.getIModelConnection();\r\n if (iModelConnection) {\r\n iModelConnection.selectionSet.emptyAll();\r\n }\r\n const tool = IModelApp.toolAdmin.primitiveTool;\r\n if (tool)\r\n await tool.onRestartTool();\r\n else\r\n await IModelApp.toolAdmin.startDefaultTool();\r\n },\r\n });\r\n }\r\n\r\n public static get restoreFrontstageLayoutCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: RestoreFrontstageLayoutTool.toolId,\r\n iconSpec: RestoreFrontstageLayoutTool.iconSpec,\r\n label: RestoreFrontstageLayoutTool.flyover,\r\n description: RestoreFrontstageLayoutTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(RestoreFrontstageLayoutTool.toolId);\r\n },\r\n });\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"CoreToolDefinitions.js","sourceRoot":"","sources":["../../../../src/appui-react/tools/CoreToolDefinitions.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Tools\r\n */\r\n\r\nimport * as React from \"react\";\r\n// cSpell:ignore configurableui keyinbrowser\r\nimport {\r\n FitViewTool, FlyViewTool, IModelApp, MeasureDistanceTool, MeasureLocationTool, PanViewTool, RotateViewTool, SelectionTool, ViewClipByElementTool,\r\n ViewClipByPlaneTool, ViewClipByRangeTool, ViewClipByShapeTool, ViewClipDecorationProvider, ViewRedoTool, ViewToggleCameraTool, ViewUndoTool,\r\n WalkViewTool, WindowAreaTool, ZoomViewTool,\r\n} from \"@itwin/core-frontend\";\r\nimport { ConditionalBooleanValue, ConditionalStringValue, IconSpecUtilities } from \"@itwin/appui-abstract\";\r\nimport { ToolbarPopupContext } from \"@itwin/components-react\";\r\nimport { PopupButton, PopupButtonChildrenRenderPropArgs } from \"../toolbar/PopupButton\";\r\nimport { ContentViewManager } from \"../content/ContentViewManager\";\r\nimport { KeyinBrowser } from \"../keyinbrowser/KeyinBrowser\";\r\nimport { getIsHiddenIfSelectionNotActive, getSelectionContextSyncEventIds, selectionContextStateFunc } from \"../selection/SelectionContextItemDef\";\r\nimport { CommandItemDef } from \"../shared/CommandItemDef\";\r\nimport { CustomItemDef } from \"../shared/CustomItemDef\";\r\nimport { BaseItemState } from \"../shared/ItemDefBase\";\r\nimport { ToolItemDef } from \"../shared/ToolItemDef\";\r\nimport { SyncUiEventId } from \"../syncui/SyncUiEventDispatcher\";\r\nimport { GroupItemDef } from \"../toolbar/GroupItem\";\r\nimport { RestoreFrontstageLayoutTool } from \"./RestoreLayoutTool\";\r\nimport { UiFramework } from \"../UiFramework\";\r\nimport cameraAnimationIcon from \"@itwin/itwinui-icons/icons/camera-animation.svg\";\r\nimport cameraAnimationDisabledIcon from \"@itwin/itwinui-icons/icons/camera-animation-disabled.svg\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n\r\n/** Utility Class that provides definitions of tools provided by the ($core-frontend) core. These definitions can be used to populate the UI.\r\n * @public\r\n */\r\n// istanbul ignore next\r\nexport class CoreTools {\r\n /** Get the CustomItemDef for PopupButton\r\n * @public\r\n */\r\n public static get keyinBrowserButtonItemDef() {\r\n return new CustomItemDef({\r\n customId: \"uif:keyinbrowser\",\r\n iconSpec: \"icon-process\",\r\n labelKey: \"UiFramework:keyinbrowser.label\",\r\n popupPanelNode: <ToolbarPopupContext.Consumer>\r\n {({ closePanel }) => (\r\n <KeyinBrowser onExecute={closePanel} onCancel={closePanel} />\r\n )}\r\n </ToolbarPopupContext.Consumer>,\r\n // DEPRECATED way\r\n reactElement: (\r\n <PopupButton iconSpec=\"icon-process\" labelKey=\"UiFramework:keyinbrowser.label\">\r\n {this._renderKeyInBrowser}\r\n </PopupButton>\r\n ),\r\n });\r\n }\r\n\r\n // istanbul ignore next\r\n private static _renderKeyInBrowser = ({ closePanel }: PopupButtonChildrenRenderPropArgs) => {\r\n return (\r\n <KeyinBrowser onExecute={closePanel} onCancel={closePanel} />\r\n );\r\n };\r\n\r\n public static get keyinPaletteButtonItemDef() {\r\n return new ToolItemDef({\r\n toolId: \"uif:keyinpalette\",\r\n iconSpec: \"icon-process\",\r\n labelKey: \"UiFramework:keyinbrowser.label\",\r\n execute: () => { IModelApp.uiAdmin.showKeyinPalette(); },\r\n });\r\n }\r\n\r\n public static get fitViewCommand() {\r\n return new ToolItemDef({\r\n toolId: FitViewTool.toolId,\r\n iconSpec: FitViewTool.iconSpec,\r\n label: FitViewTool.flyover,\r\n description: FitViewTool.description,\r\n execute: async () => IModelApp.tools.run(FitViewTool.toolId, IModelApp.viewManager.selectedView, true),\r\n });\r\n }\r\n\r\n public static get windowAreaCommand() {\r\n return new ToolItemDef({\r\n toolId: WindowAreaTool.toolId,\r\n iconSpec: WindowAreaTool.iconSpec,\r\n label: WindowAreaTool.flyover,\r\n description: WindowAreaTool.description,\r\n execute: async () => IModelApp.tools.run(WindowAreaTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get zoomViewCommand() {\r\n return new ToolItemDef({\r\n toolId: ZoomViewTool.toolId,\r\n iconSpec: ZoomViewTool.iconSpec,\r\n label: ZoomViewTool.flyover,\r\n description: ZoomViewTool.description,\r\n execute: async () => IModelApp.tools.run(ZoomViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get panViewCommand() {\r\n return new ToolItemDef({\r\n toolId: PanViewTool.toolId,\r\n iconSpec: PanViewTool.iconSpec,\r\n label: PanViewTool.flyover,\r\n description: PanViewTool.description,\r\n execute: async () => IModelApp.tools.run(PanViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get rotateViewCommand() {\r\n return new ToolItemDef({\r\n toolId: RotateViewTool.toolId,\r\n iconSpec: new ConditionalStringValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is2d())\r\n return \"icon-rotate-left\";\r\n return \"icon-gyroscope\";\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n label: RotateViewTool.flyover,\r\n description: RotateViewTool.description,\r\n execute: async () => IModelApp.tools.run(RotateViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get walkViewCommand() {\r\n return new ToolItemDef({\r\n toolId: WalkViewTool.toolId,\r\n iconSpec: WalkViewTool.iconSpec,\r\n label: WalkViewTool.flyover,\r\n description: WalkViewTool.description,\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n execute: async () => IModelApp.tools.run(WalkViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get selectElementCommand() {\r\n return new ToolItemDef({\r\n toolId: SelectionTool.toolId,\r\n iconSpec: SelectionTool.iconSpec,\r\n label: SelectionTool.flyover,\r\n description: SelectionTool.description,\r\n execute: async () => IModelApp.tools.run(SelectionTool.toolId),\r\n });\r\n }\r\n\r\n public static get toggleCameraViewCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewToggleCameraTool.toolId,\r\n iconSpec: new ConditionalStringValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.isCameraOn) {\r\n return IconSpecUtilities.createWebComponentIconSpec(cameraAnimationIcon);\r\n }\r\n return IconSpecUtilities.createWebComponentIconSpec(cameraAnimationDisabledIcon);\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n label: new ConditionalStringValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.isCameraOn) {\r\n return UiFramework.translate(\"tools.View.ToggleCamera.turnOffFlyover\");\r\n }\r\n return UiFramework.translate(\"tools.View.ToggleCamera.turnOnFlyover\");\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n description: ViewToggleCameraTool.description,\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !(activeContentControl?.viewport?.view.is3d() && activeContentControl?.viewport?.view.supportsCamera());\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n execute: async () => IModelApp.tools.run(ViewToggleCameraTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n public static get flyViewCommand() {\r\n return new ToolItemDef({\r\n toolId: FlyViewTool.toolId,\r\n iconSpec: FlyViewTool.iconSpec,\r\n label: FlyViewTool.flyover,\r\n description: FlyViewTool.description,\r\n execute: async () => IModelApp.tools.run(FlyViewTool.toolId, IModelApp.viewManager.selectedView),\r\n });\r\n }\r\n\r\n // TODO - Need to provide a sync message that is fired when the Undo/Redo button needs to be refreshed in the\r\n // active view.\r\n public static get viewUndoCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewUndoTool.toolId,\r\n isDisabled: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n return !activeContentControl.viewport.isUndoPossible;\r\n return false;\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n iconSpec: ViewUndoTool.iconSpec,\r\n label: ViewUndoTool.flyover,\r\n description: ViewUndoTool.description,\r\n execute: async () =>\r\n IModelApp.tools.run(ViewUndoTool.toolId, IModelApp.viewManager.selectedView)\r\n ,\r\n stateSyncIds: [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged],\r\n stateFunc: (currentState: Readonly<BaseItemState>): BaseItemState => {\r\n const returnState: BaseItemState = { ...currentState };\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n returnState.isEnabled = activeContentControl.viewport.isUndoPossible;\r\n return returnState;\r\n },\r\n });\r\n }\r\n\r\n public static get viewRedoCommand() {\r\n return new ToolItemDef({\r\n toolId: ViewRedoTool.toolId,\r\n iconSpec: ViewRedoTool.iconSpec,\r\n label: ViewRedoTool.flyover,\r\n description: ViewRedoTool.description,\r\n execute: async () => IModelApp.tools.run(ViewRedoTool.toolId, IModelApp.viewManager.selectedView),\r\n isDisabled: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n return !activeContentControl.viewport.isRedoPossible;\r\n return false;\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n stateSyncIds: [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged],\r\n stateFunc: (currentState: Readonly<BaseItemState>): BaseItemState => {\r\n const returnState: BaseItemState = { ...currentState };\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n if (activeContentControl && activeContentControl.viewport)\r\n returnState.isEnabled = activeContentControl.viewport.isRedoPossible;\r\n return returnState;\r\n },\r\n });\r\n }\r\n\r\n private static turnOnClipVolume() {\r\n const vp = IModelApp.viewManager.selectedView;\r\n if (!vp || !vp.view.is3d())\r\n return;\r\n\r\n // Turn on clip volume flag for section tools\r\n vp.viewFlags = vp.viewFlags.with(\"clipVolume\", true);\r\n }\r\n\r\n // note current ViewClipByPlaneTool is not automatically registered so the app must call ViewClipByPlaneTool.register();\r\n public static get sectionByPlaneCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByPlaneTool.toolId,\r\n iconSpec: ViewClipByPlaneTool.iconSpec,\r\n label: ViewClipByPlaneTool.flyover,\r\n description: ViewClipByPlaneTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByPlaneTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByElementTool is not automatically registered so the app must call ViewClipByElementTool.register();\r\n public static get sectionByElementCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByElementTool.toolId,\r\n iconSpec: ViewClipByElementTool.iconSpec,\r\n label: ViewClipByElementTool.flyover,\r\n description: ViewClipByElementTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByElementTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByRangeTool is not automatically registered so the app must call ViewClipByRangeTool.register();\r\n public static get sectionByRangeCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByRangeTool.toolId,\r\n iconSpec: ViewClipByRangeTool.iconSpec,\r\n label: ViewClipByRangeTool.flyover,\r\n description: ViewClipByRangeTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByRangeTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n // note current ViewClipByShapeTool is not automatically registered so the app must call ViewClipByShapeTool.register();\r\n public static get sectionByShapeCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: ViewClipByShapeTool.toolId,\r\n iconSpec: ViewClipByShapeTool.iconSpec,\r\n label: ViewClipByShapeTool.flyover,\r\n description: ViewClipByShapeTool.description,\r\n execute: async () => {\r\n this.turnOnClipVolume();\r\n return IModelApp.tools.run(ViewClipByShapeTool.toolId, ViewClipDecorationProvider.create());\r\n },\r\n });\r\n }\r\n\r\n public static get sectionToolGroup() {\r\n ViewClipByElementTool.register();\r\n ViewClipByPlaneTool.register();\r\n ViewClipByRangeTool.register();\r\n ViewClipByShapeTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"sectionTools-group\",\r\n labelKey: \"UiFramework:tools.sectionTools\",\r\n iconSpec: \"icon-section-tool\",\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n items: [this.sectionByPlaneCommandItemDef, this.sectionByElementCommandItemDef, this.sectionByRangeCommandItemDef, this.sectionByShapeCommandItemDef],\r\n itemsInColumn: 4,\r\n });\r\n }\r\n\r\n public static get sectionToolGroupWithPanel() {\r\n ViewClipByElementTool.register();\r\n ViewClipByPlaneTool.register();\r\n ViewClipByRangeTool.register();\r\n ViewClipByShapeTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"sectionTools-group-with-panel\",\r\n labelKey: \"UiFramework:tools.sectionTools\",\r\n panelLabelKey: \"UiFramework:tools.sectionPanelLabel\",\r\n iconSpec: \"icon-section-tool\",\r\n isHidden: new ConditionalBooleanValue(() => {\r\n const activeContentControl = ContentViewManager.getActiveContentControl();\r\n return !!activeContentControl?.viewport?.view.is2d();\r\n }, [SyncUiEventId.ActiveContentChanged, SyncUiEventId.ActiveViewportChanged, SyncUiEventId.ViewStateChanged]),\r\n items: [\r\n new ToolItemDef({\r\n ...this.sectionByPlaneCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByPlane\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByElementCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByElement\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByRangeCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByRange\",\r\n }),\r\n new ToolItemDef({\r\n ...this.sectionByShapeCommandItemDef,\r\n labelKey: \"UiFramework:tools.sectionByShape\",\r\n }),\r\n ],\r\n itemsInColumn: 4,\r\n });\r\n\r\n }\r\n\r\n // note current MeasureDistanceTool is not automatically registered so the app must call MeasureDistanceTool.register();\r\n public static get measureDistanceToolItemDef() {\r\n return new ToolItemDef({\r\n toolId: MeasureDistanceTool.toolId,\r\n iconSpec: MeasureDistanceTool.iconSpec,\r\n label: MeasureDistanceTool.flyover,\r\n description: MeasureDistanceTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(MeasureDistanceTool.toolId);\r\n },\r\n });\r\n }\r\n\r\n // note current MeasureLocationTool is not automatically registered so the app must call MeasureLocationTool.register();\r\n public static get measureLocationToolItemDef() {\r\n return new ToolItemDef({\r\n toolId: MeasureLocationTool.toolId,\r\n iconSpec: MeasureLocationTool.iconSpec,\r\n label: MeasureLocationTool.flyover,\r\n description: MeasureLocationTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(MeasureLocationTool.toolId);\r\n },\r\n });\r\n }\r\n\r\n public static get measureToolGroup() {\r\n MeasureDistanceTool.register();\r\n MeasureLocationTool.register();\r\n\r\n return new GroupItemDef({\r\n groupId: \"measureTools-group\",\r\n labelKey: \"UiFramework:tools.measureTools\",\r\n iconSpec: \"icon-measure\",\r\n items: [this.measureDistanceToolItemDef, this.measureLocationToolItemDef],\r\n itemsInColumn: 2,\r\n });\r\n }\r\n\r\n public static get clearSelectionItemDef() {\r\n return new CommandItemDef({\r\n commandId: \"UiFramework.ClearSelection\",\r\n iconSpec: \"icon-selection-clear\",\r\n labelKey: \"UiFramework:buttons.clearSelection\",\r\n stateSyncIds: getSelectionContextSyncEventIds(),\r\n stateFunc: selectionContextStateFunc,\r\n isHidden: getIsHiddenIfSelectionNotActive(),\r\n execute: async () => {\r\n const iModelConnection = UiFramework.getIModelConnection();\r\n if (iModelConnection) {\r\n iModelConnection.selectionSet.emptyAll();\r\n }\r\n const tool = IModelApp.toolAdmin.primitiveTool;\r\n if (tool)\r\n await tool.onRestartTool();\r\n else\r\n await IModelApp.toolAdmin.startDefaultTool();\r\n },\r\n });\r\n }\r\n\r\n public static get restoreFrontstageLayoutCommandItemDef() {\r\n return new ToolItemDef({\r\n toolId: RestoreFrontstageLayoutTool.toolId,\r\n iconSpec: RestoreFrontstageLayoutTool.iconSpec,\r\n label: RestoreFrontstageLayoutTool.flyover,\r\n description: RestoreFrontstageLayoutTool.description,\r\n execute: async () => {\r\n return IModelApp.tools.run(RestoreFrontstageLayoutTool.toolId);\r\n },\r\n });\r\n }\r\n}\r\n"]}
|
|
@@ -203,7 +203,9 @@
|
|
|
203
203
|
},
|
|
204
204
|
"ToggleCamera": {
|
|
205
205
|
"description": "Turn on/off use of camera in active view",
|
|
206
|
-
"flyover": "Toggle Camera"
|
|
206
|
+
"flyover": "Toggle Camera",
|
|
207
|
+
"turnOnFlyover": "Turn Camera On",
|
|
208
|
+
"turnOffFlyover":"Turn Camera Off"
|
|
207
209
|
}
|
|
208
210
|
},
|
|
209
211
|
"OpenSettings": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itwin/appui-react",
|
|
3
|
-
"version": "3.4.0-dev.
|
|
3
|
+
"version": "3.4.0-dev.30",
|
|
4
4
|
"description": "UI framework",
|
|
5
5
|
"main": "lib/cjs/appui-react.js",
|
|
6
6
|
"module": "lib/esm/appui-react.js",
|
|
@@ -20,19 +20,19 @@
|
|
|
20
20
|
"url": "http://www.bentley.com"
|
|
21
21
|
},
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"@itwin/appui-abstract": "^3.4.0-dev.
|
|
24
|
-
"@itwin/appui-layout-react": "^3.4.0-dev.
|
|
25
|
-
"@itwin/components-react": "^3.4.0-dev.
|
|
26
|
-
"@itwin/core-bentley": "^3.4.0-dev.
|
|
27
|
-
"@itwin/core-common": "^3.4.0-dev.
|
|
28
|
-
"@itwin/core-frontend": "^3.4.0-dev.
|
|
29
|
-
"@itwin/core-geometry": "^3.4.0-dev.
|
|
30
|
-
"@itwin/core-markup": "^3.4.0-dev.
|
|
31
|
-
"@itwin/core-quantity": "^3.4.0-dev.
|
|
32
|
-
"@itwin/core-react": "^3.4.0-dev.
|
|
33
|
-
"@itwin/imodel-components-react": "^3.4.0-dev.
|
|
34
|
-
"@itwin/presentation-common": "^3.4.0-dev.
|
|
35
|
-
"@itwin/presentation-frontend": "^3.4.0-dev.
|
|
23
|
+
"@itwin/appui-abstract": "^3.4.0-dev.30",
|
|
24
|
+
"@itwin/appui-layout-react": "^3.4.0-dev.30",
|
|
25
|
+
"@itwin/components-react": "^3.4.0-dev.30",
|
|
26
|
+
"@itwin/core-bentley": "^3.4.0-dev.30",
|
|
27
|
+
"@itwin/core-common": "^3.4.0-dev.30",
|
|
28
|
+
"@itwin/core-frontend": "^3.4.0-dev.30",
|
|
29
|
+
"@itwin/core-geometry": "^3.4.0-dev.30",
|
|
30
|
+
"@itwin/core-markup": "^3.4.0-dev.30",
|
|
31
|
+
"@itwin/core-quantity": "^3.4.0-dev.30",
|
|
32
|
+
"@itwin/core-react": "^3.4.0-dev.30",
|
|
33
|
+
"@itwin/imodel-components-react": "^3.4.0-dev.30",
|
|
34
|
+
"@itwin/presentation-common": "^3.4.0-dev.30",
|
|
35
|
+
"@itwin/presentation-frontend": "^3.4.0-dev.30",
|
|
36
36
|
"react": "^17.0.0",
|
|
37
37
|
"react-dom": "^17.0.0",
|
|
38
38
|
"react-redux": "^7.2.2",
|
|
@@ -43,22 +43,22 @@
|
|
|
43
43
|
"NOTE: All tools used by scripts in this package must be listed as devDependencies"
|
|
44
44
|
],
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@itwin/appui-abstract": "3.4.0-dev.
|
|
47
|
-
"@itwin/appui-layout-react": "3.4.0-dev.
|
|
48
|
-
"@itwin/build-tools": "3.4.0-dev.
|
|
49
|
-
"@itwin/components-react": "3.4.0-dev.
|
|
50
|
-
"@itwin/core-bentley": "3.4.0-dev.
|
|
51
|
-
"@itwin/core-common": "3.4.0-dev.
|
|
52
|
-
"@itwin/core-frontend": "3.4.0-dev.
|
|
53
|
-
"@itwin/core-geometry": "3.4.0-dev.
|
|
54
|
-
"@itwin/core-markup": "3.4.0-dev.
|
|
55
|
-
"@itwin/core-quantity": "3.4.0-dev.
|
|
56
|
-
"@itwin/core-react": "3.4.0-dev.
|
|
57
|
-
"@itwin/eslint-plugin": "3.4.0-dev.
|
|
58
|
-
"@itwin/imodel-components-react": "3.4.0-dev.
|
|
59
|
-
"@itwin/presentation-common": "3.4.0-dev.
|
|
60
|
-
"@itwin/presentation-frontend": "3.4.0-dev.
|
|
61
|
-
"@itwin/presentation-testing": "3.4.0-dev.
|
|
46
|
+
"@itwin/appui-abstract": "3.4.0-dev.30",
|
|
47
|
+
"@itwin/appui-layout-react": "3.4.0-dev.30",
|
|
48
|
+
"@itwin/build-tools": "3.4.0-dev.30",
|
|
49
|
+
"@itwin/components-react": "3.4.0-dev.30",
|
|
50
|
+
"@itwin/core-bentley": "3.4.0-dev.30",
|
|
51
|
+
"@itwin/core-common": "3.4.0-dev.30",
|
|
52
|
+
"@itwin/core-frontend": "3.4.0-dev.30",
|
|
53
|
+
"@itwin/core-geometry": "3.4.0-dev.30",
|
|
54
|
+
"@itwin/core-markup": "3.4.0-dev.30",
|
|
55
|
+
"@itwin/core-quantity": "3.4.0-dev.30",
|
|
56
|
+
"@itwin/core-react": "3.4.0-dev.30",
|
|
57
|
+
"@itwin/eslint-plugin": "3.4.0-dev.30",
|
|
58
|
+
"@itwin/imodel-components-react": "3.4.0-dev.30",
|
|
59
|
+
"@itwin/presentation-common": "3.4.0-dev.30",
|
|
60
|
+
"@itwin/presentation-frontend": "3.4.0-dev.30",
|
|
61
|
+
"@itwin/presentation-testing": "3.4.0-dev.30",
|
|
62
62
|
"@testing-library/react": "^12.0.0",
|
|
63
63
|
"@testing-library/react-hooks": "^7.0.2",
|
|
64
64
|
"@types/chai": "4.3.1",
|
|
@@ -113,11 +113,12 @@
|
|
|
113
113
|
"dependencies": {
|
|
114
114
|
"@bentley/icons-generic": "^1.0.15",
|
|
115
115
|
"@bentley/icons-generic-webfont": "^1.0.15",
|
|
116
|
-
"@itwin/core-telemetry": "3.4.0-dev.
|
|
117
|
-
"@itwin/presentation-components": "3.4.0-dev.
|
|
116
|
+
"@itwin/core-telemetry": "3.4.0-dev.30",
|
|
117
|
+
"@itwin/presentation-components": "3.4.0-dev.30",
|
|
118
118
|
"@itwin/itwinui-css": "0.x",
|
|
119
119
|
"@itwin/itwinui-react": "~1.42.0",
|
|
120
120
|
"@itwin/itwinui-icons-react": "^1.8.0",
|
|
121
|
+
"@itwin/itwinui-icons": "^1.14.0",
|
|
121
122
|
"classnames": "^2.3.1",
|
|
122
123
|
"immer": "9.0.6",
|
|
123
124
|
"lodash": "^4.17.10",
|