🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
UiGravityForce.hpp
1#pragma once
2
3#include "AstGlobal.h"
4#include "AstGUI/UiObject.hpp"
5#include "AstGUI/UiFilePath.hpp"
6#include "AstGUI/UiInteger.hpp"
7#include "AstGUI/UiDouble.hpp"
8#include "AstGUI/UiQuantity.hpp"
9#include <QVBoxLayout>
10#include <QHBoxLayout>
11#include <QGridLayout>
12#include <QLabel>
13#include <QCheckBox>
14#include <QComboBox>
15#include <QGroupBox>
16
17AST_NAMESPACE_BEGIN
18
19class GravityForce;
20
21class AST_GUI_API UiGravityForce: public UiObject
22{
23 Q_OBJECT
24public:
25 UiGravityForce(Object* object, QWidget *parent = nullptr);
26 UiGravityForce(QWidget *parent = nullptr);
27 ~UiGravityForce() = default;
28
29 GravityForce* getGravityForce() const;
30 void setGravityForce(GravityForce* gravity);
31 void refreshUi();
32 void apply();
33protected:
34 void setupUi();
35 void refreshModel();
36 void refreshSolidTideType();
37private slots:
38 void applyTo(GravityForce* gravity);
39private:
40 // 布局
41 QVBoxLayout* mainLayout_{nullptr};
42 QGridLayout* gridLayout_{nullptr};
43
44 // 中心天体重力场配置
45 QGroupBox* centralBodyGravityGroup_{nullptr};
46 QGridLayout* centralBodyGravityLayout_{nullptr};
47 QHBoxLayout* modelLayout_{nullptr};
48 QLabel* modelLabel_{nullptr};
49 QComboBox* modelCombo_{nullptr};
50 UiFilePath* modelFileEdit_{nullptr};
51 QHBoxLayout* degreeLayout_{nullptr};
52 QLabel* degreeLabel_{nullptr};
53 UiInteger* degreeEdit_{nullptr};
54 QHBoxLayout* orderLayout_{nullptr};
55 QLabel* orderLabel_{nullptr};
56 UiInteger* orderEdit_{nullptr};
57 QHBoxLayout* secularVariationsLayout_{nullptr};
58 QCheckBox* secularVariationsCheck_{nullptr};
59
60 // 固体潮汐配置
61 QGroupBox* solidTidesGroup_{nullptr};
62 QGridLayout* solidTidesLayout_{nullptr};
63 QHBoxLayout* solidTideTypeLayout_{nullptr};
64 QLabel* solidTideTypeLabel_{nullptr};
65 QComboBox* solidTideTypeCombo_{nullptr};
66 QHBoxLayout* timeDependentLayout_{nullptr};
67 QCheckBox* timeDependentCheck_{nullptr};
68 QHBoxLayout* minAmplitudeLayout_{nullptr};
69 QLabel* minAmplitudeLabel_{nullptr};
70 UiQuantity* minAmplitudeEdit_{nullptr};
71 QHBoxLayout* truncateLayout_{nullptr};
72 QCheckBox* truncateCheck_{nullptr};
73
74 // 海洋潮汐配置
75 QGroupBox* oceanTidesGroup_{nullptr};
76 QGridLayout* oceanTidesLayout_{nullptr};
77 QHBoxLayout* useOceanTidesLayout_{nullptr};
78 QCheckBox* useOceanTidesCheck_{nullptr};
79 QHBoxLayout* degreeOceanLayout_{nullptr};
80 QLabel* degreeOceanLabel_{nullptr};
81 UiInteger* degreeOceanEdit_{nullptr};
82 QHBoxLayout* orderOceanLayout_{nullptr};
83 QLabel* orderOceanLabel_{nullptr};
84 UiInteger* orderOceanEdit_{nullptr};
85 QHBoxLayout* minAmplitudeOceanLayout_{nullptr};
86 QLabel* minAmplitudeOceanLabel_{nullptr};
87 UiQuantity* minAmplitudeOceanEdit_{nullptr};
88
89
90};
91
92AST_NAMESPACE_END
定义 GravityForce.hpp:43
对象基类,继承自该类的对象可以使用运行时类型信息相关功能,实现强弱引用计数、运行时元信息(属性访问、序列化等)等基础功能
定义 Object.hpp:86
文件路径输入框
定义 UiFilePath.hpp:36
定义 UiGravityForce.hpp:22
整数输入框
定义 UiInteger.hpp:36
与对象关联的 QWidget
定义 UiObject.hpp:36
数量输入框
定义 UiQuantity.hpp:41