🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
UiToolCallTimeline.hpp
浏览该文件的文档.
1
13
14#pragma once
15
16#include "AstGlobal.h"
17#include <QWidget>
18#include <QVector>
19
20class QVBoxLayout;
21class QPushButton;
22
23AST_NAMESPACE_BEGIN
24
25enum class EToolCallState;
26
37class AST_UIAI_API UiToolCallTimeline : public QWidget
38{
39 Q_OBJECT
40
41public:
42 explicit UiToolCallTimeline(QWidget* parent = nullptr);
43 ~UiToolCallTimeline() override;
44
49 void addEntry(const QString& toolCallId,
50 const QString& functionName,
51 const QString& arguments);
52
57 void setEntryResult(const QString& toolCallId,
58 const QString& result,
59 bool success = true);
60
62 int entryCount() const { return entries_.size(); }
63
65 bool isCollapsed() const { return collapsed_; }
66
67private Q_SLOTS:
68 void toggleCollapsed();
69 void onEntryClicked(int index);
70
71private:
72 void setupUi();
73 void rebuildBody();
74 void updateHeaderText();
75
76 struct Entry
77 {
78 QString toolCallId;
79 QString functionName;
80 QString arguments;
81 QString result;
82 EToolCallState state{};
83 bool detailExpanded = false;
84 };
85
86 QVector<Entry> entries_;
87 bool collapsed_ = true;
88
89 // UI 部件
90 QPushButton* headerButton_ = nullptr;
91 QWidget* bodyWidget_ = nullptr;
92 QVBoxLayout* bodyLayout_ = nullptr;
93};
94
97AST_NAMESPACE_END
工具调用时间线部件
定义 UiToolCallTimeline.hpp:38
int entryCount() const
获取条目数量
定义 UiToolCallTimeline.hpp:62
bool isCollapsed() const
是否已折叠
定义 UiToolCallTimeline.hpp:65
EToolCallState
工具调用状态
定义 UiToolCallCard.hpp:31