🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
UiStateEditor.hpp
浏览该文件的文档.
1
21
22#pragma once
23
24#include "AstGlobal.h"
25#include <QWidget>
26
27class QStackedWidget;
28
29AST_NAMESPACE_BEGIN
30
31class State;
32class StateCartesian;
33class StateKeplerian;
34class UiStateCartesian;
35class UiStateKeplerian;
36
42class AST_GUI_API UiStateEditor : public QWidget
43{
44 Q_OBJECT
45public:
46 explicit UiStateEditor(QWidget* parent = nullptr);
47 ~UiStateEditor() override;
48
50 void setState(State* state);
51
53 State* getState() const;
54
55signals:
57 void stateChanged(State* state);
58
59private:
60 void setupUi();
61 void forwardCartesianChanged(StateCartesian* s);
62 void forwardKeplerianChanged(StateKeplerian* s);
63
64 QStackedWidget* stack_ = nullptr;
65 UiStateCartesian* cartesianEdit_ = nullptr;
66 UiStateKeplerian* keplerianEdit_ = nullptr;
67 int cartesianIdx_ = -1;
68 int keplerianIdx_ = -1;
69};
70
71AST_NAMESPACE_END
笛卡尔状态(直角坐标)
定义 StateCartesian.hpp:40
开普勒轨道根数状态
定义 StateKeplerian.hpp:86
航天器状态
定义 State.hpp:53
定义 UiStateCartesian.hpp:42
状态编辑器容器 — RTTI 类型分发 + 信号转发
定义 UiStateEditor.hpp:43
void stateChanged(State *state)
子编辑器内容变更(类型切换不触发)
定义 UiStateKeplerian.hpp:45