🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
UiCommandTree.hpp
浏览该文件的文档.
1
19
20#pragma once
21
22#include "UiObjectTree.hpp"
23#include "AstCore/MissionCommand.hpp"
24#include "AstCore/MainSequence.hpp"
25
26AST_NAMESPACE_BEGIN
27
28class Segment;
29class UiCommandTreeItem;
30
32class AST_GUI_API UiCommandTree : public UiObjectTree
33{
34 Q_OBJECT
35
36public:
37 explicit UiCommandTree(QWidget* parent = nullptr);
38
40 void setSequence(MainSequence* sequence);
41
43 Command* selectedCommand() const;
44
46 void removeSelectedCommand();
47
48signals:
50 void commandSelected(Command* command);
51
54
56 void commandInserted(Command* command);
57
60
61protected:
62 void dropEvent(QDropEvent* event) override;
63 void contextMenuEvent(QContextMenuEvent* event) override;
64
65private:
67 void insertCommandRelativeToItem(UiCommandTreeItem* item, const QString& typeName, bool above);
68
70 QMenu* createInsertMenu(const QString& title);
71
73 void handleInsertAction(QAction* action, UiCommandTreeItem* item, bool above);
74
75 WeakPtr<Sequence> sequence_ = nullptr;
76};
77
78AST_NAMESPACE_END
通用对象树控件,显示 ObjectManager 中所有对象的层级关系
命令(虚基类),用于定义任务序列中的命令,例如初始状态、轨道机动、轨道预报等
定义 Command.hpp:42
任务序列段,内部包含多个任务命令或轨道段,并会按顺序执行
定义 Sequence.hpp:43
Segment 对象树项
定义 UiCommandTreeItem.hpp:32
任务段树控件,继承 UiObjectTree,支持拖拽排序、右键菜单、序列同步
定义 UiCommandTree.hpp:33
void commandInserted(Command *command)
当通过右键菜单插入新命令后发出
void commandSelected(Command *command)
当用户在树中选中任务命令时发出
void commandSummaryRequested(Command *command)
当用户通过右键菜单请求命令概要时发出
void treeModified()
当树结构被拖拽或删除修改后发出
通用对象树控件,支持显示全部对象或以指定节点为根的子树
定义 UiObjectTree.hpp:31
弱引用指针
定义 WeakPtr.hpp:35