🛰️航天仿真算法库 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;
45 UiToolCallTimeline& operator=(const UiToolCallTimeline&) = delete;
46
51 void addEntry(const QString& toolCallId,
52 const QString& functionName,
53 const QString& arguments);
54
59 void setEntryResult(const QString& toolCallId,
60 const QString& result,
61 bool success = true);
62
64 int entryCount() const { return entries_.size(); }
65
67 bool isCollapsed() const { return collapsed_; }
68
69private Q_SLOTS:
70 void toggleCollapsed();
71 void onEntryClicked(int index);
72
73private:
74 void setupUi();
75 void rebuildBody();
76 void updateHeaderText();
77
78 struct Entry
79 {
80 QString toolCallId{};
81 QString functionName{};
82 QString arguments{};
83 QString result{};
84 EToolCallState state{};
85 bool detailExpanded = false;
86 };
87
88 QVector<Entry> entries_{};
89 bool collapsed_ = true;
90
91 // UI 部件
92 QPushButton* headerButton_ = nullptr;
93 QWidget* bodyWidget_ = nullptr;
94 QVBoxLayout* bodyLayout_ = nullptr;
95};
96
99AST_NAMESPACE_END
工具调用时间线部件
定义 UiToolCallTimeline.hpp:38
int entryCount() const
获取条目数量
定义 UiToolCallTimeline.hpp:64
bool isCollapsed() const
是否已折叠
定义 UiToolCallTimeline.hpp:67
EToolCallState
工具调用状态
定义 UiToolCallCard.hpp:31