"use strict";
/*---------------------------------------------------------------------------------------------
 * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
 * See LICENSE.md in the project root for license terms and full copyright notice.
 *--------------------------------------------------------------------------------------------*/
/** @packageDocumentation
 * @module AccuDraw
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.AccuDrawKeyboardShortcuts = void 0;
const core_frontend_1 = require("@itwin/core-frontend");
const FrameworkAccuDraw_1 = require("./FrameworkAccuDraw");
const ToolSettingsTools_1 = require("../tools/ToolSettingsTools");
const KeyboardShortcutUtilities_1 = require("../keyboardshortcut/KeyboardShortcutUtilities");
/** Default AccuDraw Keyboard Shortcuts
 *
 * Expected to be used with [[UiFramework.keyboardShortcuts]].
 *
 * ```ts
 * UiFramework.keyboardShortcuts.loadShortcuts(
 *   AccuDrawKeyboardShortcuts.getDefaultShortcuts()
 * );
 * ```
 * @public
 */
class AccuDrawKeyboardShortcuts {
    /** Get default AccuDraw Keyboard Shortcuts list.
     */
    static getDefaultShortcuts() {
        const keyboardShortcutList = [
            {
                key: "a",
                labelKey: "UiFramework:accuDraw.subMenu",
                shortcuts: [
                    KeyboardShortcutUtilities_1.KeyboardShortcutUtilities.createForTool("s", core_frontend_1.AccuDrawSetLockSmartTool),
                    KeyboardShortcutUtilities_1.KeyboardShortcutUtilities.createForTool("r", core_frontend_1.AccuDrawSetOriginTool),
                    KeyboardShortcutUtilities_1.KeyboardShortcutUtilities.createForTool("t", core_frontend_1.AccuDrawChangeModeTool),
                    KeyboardShortcutUtilities_1.KeyboardShortcutUtilities.createForTool("x", core_frontend_1.AccuDrawSetLockXTool, {
                        isHidden: FrameworkAccuDraw_1.FrameworkAccuDraw.isPolarModeConditional,
                    }),
                    KeyboardShortcutUtilities_1.KeyboardShortcutUtilities.createForTool("y", core_frontend_1.AccuDrawSetLockYTool, {
                        isHidden: FrameworkAccuDraw_1.FrameworkAccuDraw.isPolarModeConditional,
                    }),
                    KeyboardShortcutUtilities_1.KeyboardShortcutUtilities.createForTool("z", core_frontend_1.AccuDrawSetLockZTool, {
                        isHidden: FrameworkAccuDraw_1.FrameworkAccuDraw.isPolarModeConditional,
                    }),
                    KeyboardShortcutUtilities_1.KeyboardShortcutUtilities.createForTool("a", core_frontend_1.AccuDrawSetLockAngleTool, {
                        isHidden: FrameworkAccuDraw_1.FrameworkAccuDraw.isRectangularModeConditional,
                    }),
                    KeyboardShortcutUtilities_1.KeyboardShortcutUtilities.createForTool("d", core_frontend_1.AccuDrawSetLockDistanceTool, {
                        isHidden: FrameworkAccuDraw_1.FrameworkAccuDraw.isRectangularModeConditional,
                    }),
                    KeyboardShortcutUtilities_1.KeyboardShortcutUtilities.createForTool("b", ToolSettingsTools_1.BumpToolSetting),
                ],
            },
            {
                key: "r",
                labelKey: "UiFramework:accuDraw.rotateSubMenu",
                shortcuts: [
                    KeyboardShortcutUtilities_1.KeyboardShortcutUtilities.createForTool("t", core_frontend_1.AccuDrawRotateTopTool, {
                        isDisabled: FrameworkAccuDraw_1.FrameworkAccuDraw.isTopRotationConditional,
                    }),
                    KeyboardShortcutUtilities_1.KeyboardShortcutUtilities.createForTool("s", core_frontend_1.AccuDrawRotateSideTool, {
                        isDisabled: FrameworkAccuDraw_1.FrameworkAccuDraw.isSideRotationConditional,
                    }),
                    KeyboardShortcutUtilities_1.KeyboardShortcutUtilities.createForTool("f", core_frontend_1.AccuDrawRotateFrontTool, {
                        isDisabled: FrameworkAccuDraw_1.FrameworkAccuDraw.isFrontRotationConditional,
                    }),
                    KeyboardShortcutUtilities_1.KeyboardShortcutUtilities.createForTool("v", core_frontend_1.AccuDrawRotateViewTool, {
                        isDisabled: FrameworkAccuDraw_1.FrameworkAccuDraw.isViewRotationConditional,
                    }),
                    KeyboardShortcutUtilities_1.KeyboardShortcutUtilities.createForTool("c", core_frontend_1.AccuDrawRotateCycleTool),
                    KeyboardShortcutUtilities_1.KeyboardShortcutUtilities.createForTool("a", core_frontend_1.AccuDrawRotateAxesTool),
                    KeyboardShortcutUtilities_1.KeyboardShortcutUtilities.createForTool("e", core_frontend_1.AccuDrawRotateElementTool),
                ],
            },
        ];
        return keyboardShortcutList;
    }
}
exports.AccuDrawKeyboardShortcuts = AccuDrawKeyboardShortcuts;
//# sourceMappingURL=AccuDrawKeyboardShortcuts.js.map