33#include <NDEVR/QTDesignObject.h>
35#include <NDEVR/DesignObjectWidgetInterface.h>
36#include <NDEVR/QTTools.h>
37#include <NDEVR/Camera.h>
38#include <NDEVR/Pointer.h>
39#include <NDEVR/TimeSpan.h>
41#include <QActionGroup>
50 class NDEVR_API CameraLocationCombo :
public QTResourceListener,
public DesignObjectWidgetInterface
54 CameraLocationCombo(QTModelManager* manager, Button* combo,
bool include_combo);
55 CameraLocationCombo(QTModelManager* manager, DynamicPointer<Camera> camera, Button* combo,
bool include_combo);
56 void removeTarget(
const DynamicPointer<QTDesignObject>&
object)
override;
57 void addTarget(
const DynamicPointer<QTDesignObject>&
object)
override;
59 void setup(
bool include_combo);
60 void setManager(QTModelManager* manager);
61 void setCamera(
const DynamicPointer<Camera>& camera);
62 void onZoom(SnapLocation location);
64 virtual void onTargetUpdated(UUID)
override;
66 void requestSettingsSignal();
68 DynamicPointer<Camera> m_camera;
69 Button* m_combo =
nullptr;
70 QTModelManager* m_manager =
nullptr;
71 TimeSpan m_animation_time;
72 QMenu* m_menu =
nullptr;
73 QAction* m_perspective =
nullptr;
74 QAction* m_orthographic =
nullptr;
75 QAction* m_top =
nullptr;
76 QAction* m_bottom =
nullptr;
77 QAction* m_front =
nullptr;
78 QAction* m_back =
nullptr;
79 QAction* m_left =
nullptr;
80 QAction* m_right =
nullptr;
81 QAction* m_settings =
nullptr;
82 QActionGroup* m_view_mode_group =
nullptr;
83 QActionGroup* m_view_location_group =
nullptr;
84 bool m_is_relative_combo =
false;
85 bool m_has_pending =
false;
86 bool m_include_combo =
true;