4#include <NDEVR/ReportIterator.h>
5#include <NDEVR/QTDesignObject.h>
6#include <NDEVR/Deployment.h>
7#include <NDEVR/ApplicationOptions.h>
11 class DeploymentReportUI;
15 class TopDownDeploymentChart;
16 class SideViewDeploymentChart;
20 class DeploymentReport;
21 class QCustomComboBox;
26 enum class DeploymentReportType
35 class DeploymentReportOptions :
public QMenu
38 DeploymentReportOptions(DeploymentReportType type, QWidget* parent =
nullptr);
39 DeploymentReportType reportType()
const;
41 QCustomComboBox* m_type_combo;
49 DeploymentReportHandler();
52 virtual Buffer<UUID> defaultReportIDs(
const Buffer<UUID>& objects_to_report, QTModelManager* manager)
const override;
55 virtual bool canHandle(UUID
id, QTModelManager* manager)
const override;
58 virtual QWidget* getReport(
const UUID&
id, QTModelManager* manager,
const QRect& requested_geometry)
const override;
60 DeploymentReportType reportType()
const;
61 bool autoIncludePlanned()
const;
63 virtual void createReportJSON(
const UUID&
id, JSONNode& parent, ReportJSONMaker& maker)
const override;
64 virtual QMenu* popupOptions()
const override;
66 mutable DeploymentReportOptions* m_report_options;
67 mutable DeploymentReport* m_report =
nullptr;
68 static ApplicationOption<DeploymentReportType> s_report_type;
69 static ApplicationOption<bool> s_auto_include_planned;
72 class DeploymentReport :
public QWidget
75 DeploymentReport(QWidget* parent =
nullptr);
77 void setReportType(DeploymentReportType report_type);
78 void setAutoIncludePlanned(
bool include_planned);
79 void setDeployment(
const DynamicPointer<QTDesignObject>& deployment);
80 void setDeployments(
const Buffer<Deployment>& deployments);
81 void setStation(
const StationModel& station);
82 void setCalibration(
const Calibration& station);
83 void setProject(
const Project& project);
85 void clearCalibration();
86 void resizeEvent(QResizeEvent* event);
91 String m_station_name;
92 String m_deployment_name;
95 TopDownDeploymentChart* m_top_down_chart;
96 SideViewDeploymentChart* m_front_chart;
97 SideViewDeploymentChart* m_side_chart;
98 Ui::DeploymentReportUI* ui;
99 Vertex<3, fltp08> m_average_hole_bottom;
100 Vertex<3, fltp08> m_planned_hole_bottom;
101 Vertex<3, fltp08> m_collar_location;
104 DeploymentReportType m_report_type = DeploymentReportType::e_best_fit;
105 bool m_auto_include_planned =
false;
@ e_horizontal
Definition RibbonLayoutMode.hpp:42
@ e_vertical
Definition RibbonLayoutMode.hpp:41
double fltp08
Defines an alias representing an 8 byte floating-point number.
Definition BaseValues.hpp:149
Definition FontEditor.h:6