Physics Simulation & Visualization Tool 0.1
A C++ physics simulation engine with real-time 3D visualization
Loading...
Searching...
No Matches
HierarchyWidget.h
Go to the documentation of this file.
1#pragma once
2
3#include <QTreeWidget>
4#include <QToolBar>
6
7class HierarchyWidget : public QWidget {
8 Q_OBJECT
9
10public:
11 explicit HierarchyWidget(QWidget* parent = nullptr);
12 void addObject(SceneObject* obj);
13 void removeObject(SceneObject* obj);
14 void deleteSelected();
15 //SceneObject* getSelectedObject() const;
16
17signals:
18 void selectionChanged(SceneObject* previous, SceneObject* current);
20 void renameObjectRequested(SceneObject* obj, const QString& newName);
25
26public slots:
27 void onItemNameChanged(QTreeWidgetItem* item, int column);
28 void setObjectName(SceneObject* obj, const QString& name);
30 void selectObject(SceneObject* obj);
31 void showContextMenu(const QPoint& pos);
32
33private:
34 QTreeWidget* tree;
35 QToolBar* toolBar;
36 QTreeWidgetItem* previousItem = nullptr;
37
38 static SceneObject* getObjectFromItem(QTreeWidgetItem* item);
39 QString typeFor(SceneObject* obj);
40
41protected:
42 void keyPressEvent(QKeyEvent* event) override;
43};
std::variant< ObjectOptions, PointMassOptions, RigidBodyOptions > CreationOptions
void renameObjectRequested(SceneObject *obj, const QString &newName)
void selectObject(SceneObject *obj)
void addObject(SceneObject *obj)
void removeObject(SceneObject *obj)
void setObjectName(SceneObject *obj, const QString &name)
void focusObjectRequested(SceneObject *obj)
void deleteObjectRequested(SceneObject *obj)
void clearCameraFollowRequested()
void showContextMenu(const QPoint &pos)
void followObjectRequested(SceneObject *obj)
void selectionChanged(SceneObject *previous, SceneObject *current)
void onItemNameChanged(QTreeWidgetItem *item, int column)
void keyPressEvent(QKeyEvent *event) override
void createObjectRequested(const CreationOptions &options)