WebCAD-Lib-TS API 文档 - v1.0.0
    Preparing search index...

    Interface IPluginContext

    插件上下文接口 提供插件与 WebCAD 系统交互的 API

    注意:通用的 CAD 操作(实体、图层、视图、输入、撤销等)请直接使用 Engine 静态方法

    interface IPluginContext {
        manifest: PluginManifest;
        engine: typeof Engine;
        registerCommand(
            name: string,
            description: string,
            commandClass: CommandClass,
            options?: CommandOptions,
        ): void;
        unregisterCommand(name: string): void;
        executeCommand(name: string): Promise<void>;
        getRegisteredCommands(): string[];
        registerIcon(commandName: string, svgContent: string): void;
        addRibbonButton(
            tabId: string,
            groupId: string,
            button: RibbonButtonConfig,
            position?: "primary" | "more",
        ): void;
        removeRibbonButton(
            tabId: string,
            groupId: string,
            commandName: string,
        ): void;
        addRibbonGroup(tabId: string, group: RibbonGroupConfig): void;
        removeRibbonGroup(tabId: string, groupId: string): void;
        addRibbonTab(tab: RibbonTabConfig, afterTabId?: string): void;
        removeRibbonTab(tabId: string): void;
        addMenu(config: MenuConfig2): boolean;
        removeMenu(menuId: string): void;
        addMenuItem(menuId: string, item: MenuItemConfig): void;
        removeMenuItem(menuId: string, command: string): void;
        on(event: string, handler: EventHandler): void;
        off(event: string, handler: EventHandler): void;
        once(event: string, handler: EventHandler): void;
        getStorageItem<T>(key: string): T;
        setStorageItem<T>(key: string, value: T): void;
        removeStorageItem(key: string): void;
    }

    Implemented by

    Index

    Properties

    manifest: PluginManifest

    插件清单信息

    engine: typeof Engine

    获取引擎实例

    Methods

    • 注册命令

      Parameters

      • name: string

        命令名称 (大写)

      • description: string

        命令描述

      • commandClass: CommandClass

        命令类

      • Optionaloptions: CommandOptions

        命令选项

      Returns void

    • 注销命令

      Parameters

      • name: string

        命令名称

      Returns void

    • 执行命令

      Parameters

      • name: string

        命令名称

      Returns Promise<void>

    • 获取插件已注册的命令列表

      Returns string[]

      命令名称数组

    • 注册命令图标

      Parameters

      • commandName: string

        命令名称

      • svgContent: string

        SVG 内容

      Returns void

    • 添加 Ribbon 按钮到现有组

      Parameters

      • tabId: string

        标签页ID

      • groupId: string

        组ID

      • button: RibbonButtonConfig

        按钮配置

      • Optionalposition: "primary" | "more"

        插入位置 ('primary' | 'more')

      Returns void

    • 从 Ribbon 移除按钮

      Parameters

      • tabId: string

        标签页ID

      • groupId: string

        组ID

      • commandName: string

        命令名称

      Returns void

    • 添加 Ribbon 组

      Parameters

      Returns void

    • 从 Ribbon 移除组

      Parameters

      • tabId: string

        标签页ID

      • groupId: string

        组ID

      Returns void

    • 添加 Ribbon 标签页

      Parameters

      • tab: RibbonTabConfig

        标签页配置

      • OptionalafterTabId: string

        可选,在指定标签页后插入;不指定则添加到末尾

      Returns void

    • 从 Ribbon 移除标签页

      Parameters

      • tabId: string

        标签页ID

      Returns void

    • 添加主菜单(如果不存在)

      Parameters

      Returns boolean

      是否新创建了菜单

    • 移除主菜单

      Parameters

      • menuId: string

        菜单ID

      Returns void

    • 添加菜单项

      Parameters

      • menuId: string

        菜单ID(如 'tool', 'edit', 'view', 'plugins' 等)

      • item: MenuItemConfig

        菜单项配置

      Returns void

    • 移除菜单项

      Parameters

      • menuId: string

        菜单ID

      • command: string

        命令名称

      Returns void

    • 监听事件

      Parameters

      • event: string

        事件名称

      • handler: EventHandler

        事件处理函数

      Returns void

    • 取消监听事件

      Parameters

      • event: string

        事件名称

      • handler: EventHandler

        事件处理函数

      Returns void

    • 监听一次事件

      Parameters

      • event: string

        事件名称

      • handler: EventHandler

        事件处理函数

      Returns void

    • 获取插件存储的数据

      Type Parameters

      • T

      Parameters

      • key: string

        键名

      Returns T

    • 设置插件存储的数据

      Type Parameters

      • T

      Parameters

      • key: string

        键名

      • value: T

      Returns void

    • 移除插件存储的数据

      Parameters

      • key: string

        键名

      Returns void