20 mainLayout =
new QVBoxLayout(
this);
21 mainLayout->setContentsMargins(5, 0, 5, 0);
22 mainLayout->setSpacing(6);
26 inspectorTabs =
new QTabWidget(
this);
34 auto* objectTab =
new QWidget(inspectorTabs);
35 auto* objectLayout =
new QVBoxLayout(objectTab);
36 objectLayout->setContentsMargins(6, 6, 6, 6);
37 objectLayout->setSpacing(6);
38 objectLayout->addWidget(transformWidget);
39 objectLayout->addWidget(physicsWidget);
40 objectLayout->addWidget(forcesWidget);
41 objectLayout->addStretch();
43 auto* thermalTab =
new QWidget(inspectorTabs);
44 auto* thermalLayout =
new QVBoxLayout(thermalTab);
45 thermalLayout->setContentsMargins(6, 6, 6, 6);
46 thermalLayout->setSpacing(6);
47 thermalLayout->addWidget(thermalWidget);
48 thermalLayout->addStretch();
50 auto* sceneTab =
new QWidget(inspectorTabs);
51 auto* sceneLayout =
new QVBoxLayout(sceneTab);
52 sceneLayout->setContentsMargins(6, 6, 6, 6);
53 sceneLayout->setSpacing(6);
54 sceneLayout->addWidget(globalsWidget);
55 sceneLayout->addStretch();
57 objectTabIndex = inspectorTabs->addTab(objectTab,
"Object");
58 thermalTabIndex = inspectorTabs->addTab(thermalTab,
"Thermal");
59 sceneTabIndex = inspectorTabs->addTab(sceneTab,
"Scene");
61 mainLayout->addWidget(inspectorTabs);
62 mainLayout->addStretch();
66 refreshTimer.setInterval(100);
67 connect(&refreshTimer, &QTimer::timeout,
this, &InspectorWidget::refresh);
76 transformWidget->
load(obj);
77 physicsWidget->
load(obj);
78 thermalWidget->
load(obj);
79 forcesWidget->
load(obj);
81 transformWidget->setVisible(
true);
86 inspectorTabs->setTabEnabled(objectTabIndex, obj !=
nullptr);
87 inspectorTabs->setTabEnabled(thermalTabIndex, obj && obj->
getPhysicsBody());
88 inspectorTabs->setCurrentIndex(objectTabIndex);
92 currentObject =
nullptr;
99 transformWidget->setVisible(
false);
100 physicsWidget->setVisible(
false);
101 thermalWidget->setVisible(
false);
102 forcesWidget->setVisible(
false);
104 inspectorTabs->setTabEnabled(objectTabIndex,
false);
105 inspectorTabs->setTabEnabled(thermalTabIndex,
false);
106 inspectorTabs->setCurrentIndex(sceneTabIndex);