2#include <NDEVR/ReportIterator.h>
3#include <NDEVR/QTDesignObject.h>
4#include <NDEVR/ApplicationOptions.h>
19 enum class ImageReportType
28 class ImageReportOptions :
public QMenu
36 ImageReportOptions(ImageReportType type, QWidget* parent =
nullptr);
41 ImageReportType reportType()
const;
43 QCustomComboBox* m_type_combo;
61 virtual Buffer<UUID> defaultReportIDs(
const Buffer<UUID>& objects_to_report, QTModelManager* manager)
const override;
69 virtual bool canHandle(UUID
id, QTModelManager* manager)
const override;
78 virtual QWidget* getReport(
const UUID&
id, QTModelManager* manager,
const QRect& requested_geometry)
const override;
84 ImageReportType reportType()
const;
91 virtual void createReportJSON(
const UUID&
id, JSONNode& parent, ReportJSONMaker& maker)
const override;
96 virtual QMenu* popupOptions()
const override;
98 mutable ImageReportOptions* m_report_options;
99 mutable ImageReport* m_report =
nullptr;
100 static ApplicationOption<ImageReportType> s_report_type;
106 class ImageReport :
public QWidget
113 ImageReport(QWidget* parent =
nullptr);
119 void setReportType(ImageReportType report_type);
124 void setImage(
const DynamicPointer<QTDesignObject>& deployment);
129 void setProject(
const Project& project);
134 void resizeEvent(QResizeEvent* event);
145 Ui::ImageReportUI* ui;
147 ImageReportType m_report_type = ImageReportType::e_best_fit;
A Model which represents a user-project.
A compact way to present a list of options to the user.
Handles creating a report page from some given data.
The primary namespace for the NDEVR SDK.