🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
RecordStep.hpp
浏览该文件的文档.
1
7
8#pragma once
9
10#include "AstGlobal.h"
11#include <string>
12#include <cstdint>
13
14AST_NAMESPACE_BEGIN
15
22enum class ERecordAction
23{
24 eClick, // 点击按钮/控件
25 eDblClick, // 双击
26 eFill, // 填入文本(替换输入框内容)
27 eSelect, // 选择下拉框/列表项
28 ePressKey, // 按键
29 eShortcut, // 组合快捷键
30 eDrag, // 拖拽
31 eDialogAccept, // 接受对话框
32 eDialogDismiss, // 关闭对话框
33};
34
36inline const char* recordActionToString(ERecordAction action)
37{
38 switch (action)
39 {
40 case ERecordAction::eClick: return "eClick";
41 case ERecordAction::eDblClick: return "eDblClick";
42 case ERecordAction::eFill: return "eFill";
43 case ERecordAction::eSelect: return "eSelect";
44 case ERecordAction::ePressKey: return "ePressKey";
45 case ERecordAction::eShortcut: return "eShortcut";
46 case ERecordAction::eDrag: return "eDrag";
47 case ERecordAction::eDialogAccept: return "eDialogAccept";
48 case ERecordAction::eDialogDismiss: return "eDialogDismiss";
49 }
50 return "";
51}
52
54inline ERecordAction recordActionFromString(const std::string& s)
55{
56 if (s == "eClick") return ERecordAction::eClick;
57 if (s == "eDblClick") return ERecordAction::eDblClick;
58 if (s == "eFill") return ERecordAction::eFill;
59 if (s == "eSelect") return ERecordAction::eSelect;
60 if (s == "ePressKey") return ERecordAction::ePressKey;
61 if (s == "eShortcut") return ERecordAction::eShortcut;
62 if (s == "eDrag") return ERecordAction::eDrag;
63 if (s == "eDialogAccept") return ERecordAction::eDialogAccept;
64 if (s == "eDialogDismiss") return ERecordAction::eDialogDismiss;
65 return ERecordAction::eClick; // fallback
66}
67
70{
71 ERecordAction action{};
72 std::string widgetClass{};
73 std::string widgetText{};
74 std::string widgetObjName{};
75 std::string widgetAccName{};
76 std::string parentInfo{};
77 std::string value{};
78 int64_t timestampMs = 0;
79 int siblingIndex = -1;
80 std::string naturalLanguage{};
81
83 std::string toTemplate() const;
84};
85
88AST_NAMESPACE_END
ERecordAction
录制操作类型
定义 RecordStep.hpp:23
const char * recordActionToString(ERecordAction action)
操作类型 → JSON 字符串
定义 RecordStep.hpp:36
ERecordAction recordActionFromString(const std::string &s)
JSON 字符串 → 操作类型
定义 RecordStep.hpp:54
Unit s
定义 Unit.cpp:465
录制步骤结构
定义 RecordStep.hpp:70