35#include <NDEVR/ViewportManager.h>
36#include <NDEVR/ContainerWidget.h>
37#include <NDEVR/QCustomDockWidget.h>
38#include <NDEVR/SnapLocation.h>
39#include <NDEVR/ViewportLayout.h>
40#include <NDEVR/Pointer.h>
43 class VirtualCameraView;
45 class QTWindowManager;
49 class CustomDockButton;
50 class QTResourceListener;
55 class NDEVR_API CameraPane :
public QWidget,
public ViewportManager
59 CameraPane(QTWindowManager* window_manager, QTModelManager* manager, QWidget* parent =
nullptr);
60 void setTouchTheme(
bool touch_theme);
62 void setSelectedCamera(UUID camera);
63 bool removeView(QPointer<DockWidget<CameraView>> view)
override;
64 bool addView(QPointer<DockWidget<CameraView>> view)
override;
65 void addWidget(
const QPointer<QWidget>& widget);
66 void layoutViews(ViewportLayout camera_theme, DesignObjectLookup* manager, Buffer<QPointer<DockWidget<CameraView>>>& removed_views)
override;
67 void removeWidget(
const QPointer<QWidget>& widget);
68 bool removeCamera(
const UUID& camera);
69 void onViewsSwapped(DockWidget<CameraView>* camera_a, DockWidget<CameraView>* camera_b)
override;
70 bool removeCamera(
const DynamicPointer<Camera>& camera);
71 void createListeners(UUID
id);
72 void updateCamerasClosable()
const;
73 QSize sizeHint()
const override;
74 void makeCurrentConfigDefault();
75 bool sharedToolbar()
const;
76 CustomDockButton* addCameraButton();
77 void setRibbonArea(RibbonArea ribbon_area);
79 void cameraThemeChanged(ViewportLayoutTheme theme);
80 void activeCameraChangedSignal();
82 void onClearAllSlot();
83 void onCameraDelete(UUID camera);
85 CustomDockButton* m_add_camera_button =
nullptr;
86 QTModelManager* m_model_manager;
87 QTWindowManager* m_window_manager;
88 Buffer<QPointer<QWidget>> m_extra_widgets;
89 ContainerWidget* m_camera_area;
90 Dictionary<UUID, QTResourceListener*> m_hover_listeners;
91 Dictionary<UUID, QTResourceListener*> m_click_listeners;
94 bool m_cameras_moveable;
RibbonArea
Requests a ribbon or tab area to be in a certain location and orientation relative to another widget.
Definition RibbonArea.h:71
ViewportLayoutTheme
The potential layouts of multiple viewports within the NDEVR engine.
Definition ViewLocation.h:77