🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
UiSelectFrame.hpp
浏览该文件的文档.
1
21
22#pragma once
23
24#include "AstGlobal.h"
25#include <QWidget>
26
27class QListWidget;
28class QListWidgetItem;
29
30AST_NAMESPACE_BEGIN
31
32class Frame;
33class CelestialBody;
34
47class AST_GUI_API UiSelectFrame : public QWidget
48{
49 Q_OBJECT
50public:
51 explicit UiSelectFrame(QWidget* parent = nullptr);
52 ~UiSelectFrame() override;
53 UiSelectFrame(const UiSelectFrame&) = delete;
54 UiSelectFrame& operator=(const UiSelectFrame&) = delete;
55
56 Frame* getSelectedFrame();
57 void setSelectedFrame(Frame* frame);
58 void setBody(CelestialBody* body);
59 CelestialBody* getSelectedBody() const;
60
61signals:
62 void frameChanged(Frame* frame);
63
64private slots:
65 void onBodySelected();
66 void onFrameSelected();
67
68private:
69 void setupUi();
70 void populateBodies();
71 void ensureFramesInitialized(CelestialBody* body);
72 void populateFrames(CelestialBody* body);
73 void resolveAndEmit();
74
76 static bool filterBody(CelestialBody* body);
77
78 QListWidget* bodyList_ = nullptr;
79 QListWidget* frameList_ = nullptr;
80};
81
83AST_GUI_CAPI Frame* aUiSelectFrame();
84
85AST_NAMESPACE_END
天体
定义 CelestialBody.hpp:72
坐标系抽象基类
定义 Frame.hpp:62
坐标系选择器 — 天体 + Frame 双列表选择
定义 UiSelectFrame.hpp:48
Frame * aUiSelectFrame()
弹出模态对话框选择坐标系
定义 UiSelectFrame.cpp:277