/** * @file toolbar_icon_factory.h * @brief 定义工具栏图标类型和图标创建函数 * @version 1.0.0 * @author suyu * @date 2026-08-22 */ #pragma once #include /** 工具栏中使用的语义图标类型 */ enum class UiIcon { Edit, // 编辑模式 RunOffline, // 离线运行 RunOnline, // 真机运行 NewDocument, // 新建工程 Save, // 保存工程 SaveAs, // 另存工程 Open, // 打开工程 Undo, // 撤销 Redo, // 重做 Exit, // 退出程序 PlcSettings, // PLC 连接设置 Disconnect, // 断开 PLC RegisterComments, // 寄存器注释 HmiButton, // HMI 按钮 Indicator, // HMI 指示灯 NumericDisplay, // HMI 数值显示 NumericInput, // HMI 数值输入 ProgressBar, // HMI 进度条 Text, // HMI 文本 PageJump, // HMI 页面跳转 AlarmList, // HMI 报警列表 AlarmSettings, // 报警配置 Delete, // 删除 AddRung, // 新增网络 HorizontalWire, // 横线 VerticalWire, // 竖线 ParallelBranch, // 并联支路 NormallyOpenContact, // 常开触点 NormallyClosedContact, // 常闭触点 RisingEdgeContact, // 上升沿触点 FallingEdgeContact, // 下降沿触点 TimerContact, // 定时器触点 CounterContact, // 计数器触点 Coil, // 普通线圈 SetCoil, // 置位线圈 ResetCoil, // 复位线圈 Ton, // TON 定时器 Ctu, // CTU 加计数器 Ctd, // CTD 减计数器 Move, // MOVE 指令 Add, // ADD 指令 Subtract, // SUB 指令 Compare, // 比较指令 Comment, // 注释 More, // 更多操作 HmiPage, // HMI 页面 Logic, // 控制逻辑 Runtime, // 运行监控 ClearList // 清空列表 }; /** * @brief 根据语义图标类型创建 Qt 图标 * @param icon 要创建的图标类型 * @return 创建好的 Qt 图标 */ QIcon makeUiIcon(UiIcon icon);