🛰️航天仿真算法库 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{
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
Unit s
定义 Unit.cpp:435
ERecordAction
录制操作类型
定义 RecordStep.hpp:23
const char * recordActionToString(ERecordAction action)
操作类型 → JSON 字符串
定义 RecordStep.hpp:36
ERecordAction recordActionFromString(const std::string &s)
JSON 字符串 → 操作类型
定义 RecordStep.hpp:54
录制步骤结构
定义 RecordStep.hpp:70
std::string value
fill的值 / select的选项 / press的键名
定义 RecordStep.hpp:77
std::string widgetText
按钮文本 / 标签文本 / combo当前项
定义 RecordStep.hpp:73
std::string naturalLanguage
自然语言描述
定义 RecordStep.hpp:80
std::string parentInfo
父控件描述
定义 RecordStep.hpp:76
std::string widgetAccName
accessibleName
定义 RecordStep.hpp:75
ERecordAction action
操作类型
定义 RecordStep.hpp:71
std::string widgetClass
控件类名
定义 RecordStep.hpp:72
std::string widgetObjName
Qt objectName
定义 RecordStep.hpp:74