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>
47 class NDEVR_API CameraLocationCombo :
public QTResourceListener,
public DesignObjectWidgetInterface
51 CameraLocationCombo(QTModelManager* manager, Button* combo,
bool include_combo);
52 CameraLocationCombo(QTModelManager* manager, DynamicPointer<Camera> camera, Button* combo,
bool include_combo);
53 void removeTarget(
const DynamicPointer<QTDesignObject>&
object)
override;
54 void addTarget(
const DynamicPointer<QTDesignObject>&
object)
override;
56 void setup(
bool include_combo);
57 void setManager(QTModelManager* manager);
58 void setCamera(
const DynamicPointer<Camera>& camera);
59 void onZoom(SnapLocation location);
61 virtual void onTargetUpdated(UUID)
override;
63 void requestSettingsSignal();
65 DynamicPointer<Camera> m_camera;
66 Button* m_combo =
nullptr;
67 QTModelManager* m_manager =
nullptr;
68 TimeSpan m_animation_time;
69 QMenu* m_menu =
nullptr;
70 QAction* m_perspective =
nullptr;
71 QAction* m_orthographic =
nullptr;
72 QAction* m_top =
nullptr;
73 QAction* m_bottom =
nullptr;
74 QAction* m_front =
nullptr;
75 QAction* m_back =
nullptr;
76 QAction* m_left =
nullptr;
77 QAction* m_right =
nullptr;
78 QAction* m_settings =
nullptr;
79 QActionGroup* m_view_mode_group =
nullptr;
80 QActionGroup* m_view_location_group =
nullptr;
81 bool m_is_relative_combo =
false;
82 bool m_has_pending =
false;
83 bool m_include_combo =
true;