NDEVR
API Documentation
ReportGeneratorDialog.h
1#pragma once
2#include "DLLInfo.h"
3#include <NDEVR/Buffer.h>
4#include <NDEVR/Pointer.h>
5#include <QWidget>
6#include <QLabel>
7class QGridLayout;
8class QHBoxLayout;
9namespace NDEVR
10{
11 class QTModelManager;
13 class ProgressWidget;
14 class ReportIterator;
16 class Button;
17 class RibbonSubGroup;
18 class ReportHandler;
23 class REPORT_GENERATOR_API ReportGeneratorDialog : public QWidget
24 {
25 Q_OBJECT
26 public:
30 ReportGeneratorDialog(QTModelManager* manager, QWidget* parent = nullptr);
31 virtual ~ReportGeneratorDialog();
34 QSize preferredSize() const;
35 void showEvent(QShowEvent* event) override;
38 DynamicPointer<ReportIterator> reports();
41 virtual void enablePrint(bool enable_print);
44 void setAvailableReportHandlers(const Buffer<const ReportHandler*>& handlers);
46 void updateActiveReportHandlers();
47 bool event(QEvent* event) override;
48 protected:
51 void generatePDFs(bool send_data);
54 void setHasObjectsToReport(bool has_objects_to_report);
55 signals:
57 void requestDelete();
59 void requestConfirm();
61 void requestPrintSignal();
62 protected:
63 DynamicPointer<ReportIterator> m_report_iterator;
64 Buffer<const ReportHandler*> m_available_report_handlers;
65 Buffer<bool> m_active_report_handlers;
66 QTModelManager* m_manager = nullptr;
67 QCustomStackedWidget* m_stacked_widget = nullptr;
68 ModelSelectionTree* m_selection_tree = nullptr;
69 ProgressWidget* m_progress = nullptr;
70 QLabel* m_nothing_to_report_widget = nullptr;
71 QHBoxLayout* m_button_layout = nullptr;
72 QWidget* m_report_selection = nullptr;
73 Button* m_print_button = nullptr;
74 Button* m_show_button = nullptr;
75 Button* m_share_button = nullptr;
76 QGridLayout* m_report_grid = nullptr;
77 QSize m_preferred_size;
78 };
79}
A core widget that allows the user to click one of many button types.
Definition Button.h:68
A tree view widget for displaying and selecting Models from the scene.
Displays the progress, either horizontally as a bar or as a round spin dial.
The main class for a layout where all widgets occupy the same same and only one widget is shown at a ...
A wrapper around DesignObjectLookup that provides signal and slot functionality and adds rendering ca...
Handles creating a report page from some given data.
Iterates through a series of reports for drawing, sending to a PDF or printing.
Represents a sub-section of "Tab" of a ribbon representing a grouping of buttons or widgets within a ...
The primary namespace for the NDEVR SDK.