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;
22 enum class DeploymentReportType
28 class DeploymentReportOptions :
public QMenu
31 DeploymentReportOptions(DeploymentReportType type, QWidget* parent =
nullptr);
32 DeploymentReportType reportType()
const;
34 QCustomComboBox* m_type_combo;
40 DeploymentReportHandler();
43 virtual Buffer<UUID> defaultReportIDs(
const Buffer<UUID>& objects_to_report, QTModelManager* manager)
const override;
46 virtual bool canHandle(UUID
id, QTModelManager* manager)
const override;
49 virtual QWidget* getReport(
const UUID&
id, QTModelManager* manager,
const QRect& requested_geometry)
const override;
51 DeploymentReportType reportType()
const;
52 bool autoIncludePlanned()
const;
54 virtual void createReportJSON(
const UUID&
id, JSONNode& parent, ReportJSONMaker& maker)
const override;
55 virtual QMenu* popupOptions()
const override;
57 mutable DeploymentReportOptions* m_report_options;
58 mutable DeploymentReport* m_report =
nullptr;
59 static ApplicationOption<DeploymentReportType> s_report_type;
60 static ApplicationOption<bool> s_auto_include_planned;
63 class DeploymentReport :
public QWidget
66 DeploymentReport(QWidget* parent =
nullptr);
68 void setReportType(DeploymentReportType report_type);
69 void setAutoIncludePlanned(
bool include_planned);
70 void setDeployment(
const DynamicPointer<QTDesignObject>& deployment);
71 void setDeployments(
const Buffer<Deployment>& deployments);
72 void setStation(
const StationModel& station);
73 void setCalibration(
const Calibration& station);
74 void setProject(
const Project& project);
76 void clearCalibration();
77 void resizeEvent(QResizeEvent* event);
82 String m_station_name;
83 String m_deployment_name;
86 TopDownDeploymentChart* m_top_down_chart;
87 SideViewDeploymentChart* m_front_chart;
88 SideViewDeploymentChart* m_side_chart;
89 Ui::DeploymentReportUI* ui;
90 Vertex<3, fltp08> m_average_hole_bottom;
91 Vertex<3, fltp08> m_planned_hole_bottom;
92 Vertex<3, fltp08> m_collar_location;
95 DeploymentReportType m_report_type = DeploymentReportType::e_best_fit;
96 bool m_auto_include_planned =
false;
@ e_horizontal
Definition RibbonLayoutMode.hpp:39
@ e_vertical
Definition RibbonLayoutMode.hpp:38
double fltp08
Defines an alias representing an 8 byte floating-point number.
Definition BaseValues.hpp:176
Definition FontEditor.h:6