QElectroTech 0.200.1-dev
Loading...
Searching...
No Matches
projectprintwindow.h
Go to the documentation of this file.
1/*
2 Copyright 2006-2026 The QElectroTech Team
3 This file is part of QElectroTech.
4
5 QElectroTech is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 2 of the License, or
8 (at your option) any later version.
9
10 QElectroTech is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
17*/
18#ifndef PROJECTPRINTWINDOW_H
19#define PROJECTPRINTWINDOW_H
20
21#include "../exportproperties.h"
22#include "../pdf_links.h"
23
24#include <QMainWindow>
25#include <QMap>
26#include <QPrinter>
27
28namespace Ui {
29class ProjectPrintWindow;
30}
31
32class QETProject;
33class QPrintPreviewWidget;
34class QPrinter;
36class Diagram;
37class QCheckBox;
38
43class ProjectPrintWindow : public QMainWindow
44{
45 Q_OBJECT
46
47 public:
48 static void launchDialog(QETProject *project, QPrinter::OutputFormat format = QPrinter::NativeFormat, QWidget *parent = nullptr);
49 static QString docName(QETProject *project);
50
51 explicit ProjectPrintWindow(QETProject *project, QPrinter *printer, QWidget *parent = nullptr);
53
54 private slots:
79 void print();
80 void on_m_date_cb_userDateChanged(const QDate &date);
83
84 private:
85 void requestPaint();
86 void printDiagram(Diagram *diagram, bool fit_page, QPainter *painter, QPrinter *printer, const QMap<Diagram*, int> &diagramPageMap, int &annotIndex);
87 QRect diagramRect(Diagram *diagram, const ExportProperties &option) const;
88 int horizontalPagesCount(Diagram *diagram, const ExportProperties &option, bool full_page) const;
89 int verticalPagesCount(Diagram *diagram, const ExportProperties &option, bool full_page) const;
91 void setUpDiagramList();
92 QString settingsSectionName(const QPrinter *printer);
95 void saveReloadDiagramParameters(Diagram *diagram, const ExportProperties &options, bool save);
96 QList<Diagram *> selectedDiagram() const;
97 void exportToPDF();
98
99
100 private:
101 Ui::ProjectPrintWindow *ui;
103 QPrinter *m_printer = nullptr;
104 QPrintPreviewWidget *m_preview=nullptr;
106 QHash<Diagram *, QCheckBox *> m_diagram_list_hash;
107 QList<PdfLinks::ComponentInfo> m_componentInfoList;
108};
109
110#endif // PROJECTPRINTWINDOW_H
The Diagram class This class represents an electric diagram. It manages its various child elements,...
Definition diagram.h:54
Definition exportproperties.h:27
void on_m_uncheck_all_clicked()
Definition projectprintwindow.cpp:849
void on_m_use_full_page_cb_clicked()
Definition projectprintwindow.cpp:771
int verticalPagesCount(Diagram *diagram, const ExportProperties &option, bool full_page) const
ProjectPrintWindow::verticalPagesCount.
Definition projectprintwindow.cpp:538
QList< PdfLinks::ComponentInfo > m_componentInfoList
Definition projectprintwindow.h:107
void on_m_adjust_page_action_triggered()
Definition projectprintwindow.cpp:789
QRect diagramRect(Diagram *diagram, const ExportProperties &option) const
ProjectPrintWindow::diagramRect.
Definition projectprintwindow.cpp:489
void setUpDiagramList()
Definition projectprintwindow.cpp:568
void on_m_keep_conductor_color_cb_clicked()
Definition projectprintwindow.cpp:766
void on_m_zoom_out_action_triggered()
Definition projectprintwindow.cpp:777
QString settingsSectionName(const QPrinter *printer)
Definition projectprintwindow.cpp:595
static QString docName(QETProject *project)
Definition projectprintwindow.cpp:106
void on_m_draw_border_cb_clicked()
Definition projectprintwindow.cpp:764
QPrintPreviewWidget * m_preview
Definition projectprintwindow.h:104
void on_m_last_page_action_triggered()
Definition projectprintwindow.cpp:817
void on_m_adjust_width_action_triggered()
Definition projectprintwindow.cpp:785
void on_m_previous_page_action_triggered()
Definition projectprintwindow.cpp:805
void on_m_date_from_cb_currentIndexChanged(int index)
Definition projectprintwindow.cpp:913
void on_m_landscape_action_triggered()
Definition projectprintwindow.cpp:793
void on_m_display_single_page_action_triggered()
Definition projectprintwindow.cpp:821
void on_m_first_page_action_triggered()
Definition projectprintwindow.cpp:801
QColor m_backup_diagram_background_color
Definition projectprintwindow.h:105
void saveReloadDiagramParameters(Diagram *diagram, const ExportProperties &options, bool save)
ProjectPrintWindow::saveReloadDiagramParameters Save or restore the parameter of @diagram.
Definition projectprintwindow.cpp:729
void on_m_draw_terminal_cb_clicked()
Definition projectprintwindow.cpp:767
void on_m_display_all_page_action_triggered()
Definition projectprintwindow.cpp:829
int horizontalPagesCount(Diagram *diagram, const ExportProperties &option, bool full_page) const
ProjectPrintWindow::horizontalPagesCount.
Definition projectprintwindow.cpp:514
void on_m_draw_titleblock_cb_clicked()
Definition projectprintwindow.cpp:765
ExportProperties exportProperties() const
Definition projectprintwindow.cpp:554
Ui::ProjectPrintWindow * ui
Definition projectprintwindow.h:101
QHash< Diagram *, QCheckBox * > m_diagram_list_hash
Definition projectprintwindow.h:106
void on_m_fit_in_page_cb_clicked()
Definition projectprintwindow.cpp:770
void on_m_page_setup_triggered()
Definition projectprintwindow.cpp:833
void exportToPDF()
Definition projectprintwindow.cpp:753
QPrinter * m_printer
Definition projectprintwindow.h:103
void on_m_component_info_cb_clicked()
Definition projectprintwindow.cpp:769
QList< Diagram * > selectedDiagram() const
Definition projectprintwindow.cpp:740
void print()
Definition projectprintwindow.cpp:857
void on_m_display_two_page_action_triggered()
Definition projectprintwindow.cpp:825
void savePageSetupForCurrentPrinter()
Definition projectprintwindow.cpp:681
void on_m_draw_terminal_names_cb_clicked()
Definition projectprintwindow.cpp:768
ProjectPrintWindow(QETProject *project, QPrinter *printer, QWidget *parent=nullptr)
ProjectPrintWindow::ProjectPrintWindow Constructor, don't use this class directly,...
Definition projectprintwindow.cpp:130
void requestPaint()
ProjectPrintWindow::requestPaint.
Definition projectprintwindow.cpp:201
void on_m_portrait_action_triggered()
Definition projectprintwindow.cpp:797
void on_m_date_cb_userDateChanged(const QDate &date)
Definition projectprintwindow.cpp:891
~ProjectPrintWindow()
ProjectPrintWindow::~ProjectPrintWindow.
Definition projectprintwindow.cpp:190
void printDiagram(Diagram *diagram, bool fit_page, QPainter *painter, QPrinter *printer, const QMap< Diagram *, int > &diagramPageMap, int &annotIndex)
ProjectPrintWindow::printDiagram Print @diagram on the @printer.
Definition projectprintwindow.cpp:286
void on_m_next_page_action_triggered()
Definition projectprintwindow.cpp:811
void loadPageSetupForCurrentPrinter()
Definition projectprintwindow.cpp:606
static void launchDialog(QETProject *project, QPrinter::OutputFormat format=QPrinter::NativeFormat, QWidget *parent=nullptr)
ProjectPrintWindow::ProjectPrintWindow Use this static function to properly launch the print dialog.
Definition projectprintwindow.cpp:63
void on_m_apply_date_pb_clicked()
Definition projectprintwindow.cpp:923
void on_m_check_all_pb_clicked()
Definition projectprintwindow.cpp:841
void on_m_zoom_in_action_triggered()
Definition projectprintwindow.cpp:781
QETProject * m_project
Definition projectprintwindow.h:102
Definition qetproject.h:77
Definition autonumberingdockwidget.h:30