0
0
mirror of https://github.com/fralx/LimeReport.git synced 2024-12-26 01:24:39 +03:00
LimeReport/limereport/lrpreviewreportwindow.h

113 lines
4.6 KiB
C
Raw Normal View History

2016-02-17 10:11:00 +03:00
/***************************************************************************
* This file is part of the Lime Report project *
* Copyright (C) 2015 by Alexander Arin *
* arin_a@bk.ru *
* *
** GNU General Public License Usage **
* *
* This library is free software: you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
** GNU Lesser General Public License **
* *
* This library is free software: you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* You should have received a copy of the GNU Lesser General Public *
* License along with this library. *
* If not, see <http://www.gnu.org/licenses/>. *
* *
* This library is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
****************************************************************************/
#ifndef LRPREVIEWREPORTWINDOW_H
#define LRPREVIEWREPORTWINDOW_H
#include <QMainWindow>
#include <QDomComment>
#include <QSpinBox>
#include <QComboBox>
2016-02-17 10:11:00 +03:00
#include "lrpagedesignintf.h"
#include "lrreportrender.h"
#include "serializators/lrstorageintf.h"
#include "serializators/lrxmlreader.h"
#include "lrpreviewreportwidget.h"
2016-02-17 10:11:00 +03:00
namespace LimeReport {
2016-02-17 10:11:00 +03:00
namespace Ui {
class PreviewReportWindow;
}
2016-02-17 10:11:00 +03:00
class PreviewReportWindow : public QMainWindow
{
Q_OBJECT
public:
explicit PreviewReportWindow(ReportEnginePrivate *report, QWidget *parent = 0, QSettings* settings=0, Qt::WindowFlags flags=0);
~PreviewReportWindow();
void setReportReader(ItemsReaderIntf::Ptr reader);
void setPages(ReportPages pages);
void exec();
void initPreview(int pagesCount);
void setSettings(QSettings* value);
void setErrorMessages(const QStringList& value);
void setToolBarVisible(bool value);
void setStatusBarVisible(bool value);
void setMenuVisible(bool value);
2016-02-17 10:11:00 +03:00
QSettings* settings();
protected:
void writeSetting();
void restoreSetting();
void closeEvent(QCloseEvent *);
void resizeEvent(QResizeEvent *e);
void moveEvent(QMoveEvent *e);
void selectStateIcon();
2016-02-17 10:11:00 +03:00
public slots:
void slotPrint();
void slotPriorPage();
void slotNextPage();
void slotZoomIn();
void slotZoomOut();
void slotPageNavigatorChanged(int value);
void slotShowErrors();
void on_actionSaveToFile_triggered();
void slotFirstPage();
void slotLastPage();
2016-02-17 10:19:50 +03:00
void slotPrintToPDF();
void slotPageChanged(int pageIndex);
private slots:
void on_actionFit_page_width_triggered();
void on_actionFit_page_triggered();
void on_actionOne_to_one_triggered();
void scaleComboboxChanged(QString text);
void slotScalePercentChanged(int percent);
void on_actionShowMessages_toggled(bool value);
void on_actionShow_Toolbar_triggered();
2016-02-17 10:11:00 +03:00
private:
ItemsReaderIntf* reader();
void initPercentCombobox();
//bool pageIsVisible(PageItemDesignIntf::Ptr page);
//QRectF calcPageShift(PageItemDesignIntf::Ptr page);
2016-02-17 10:11:00 +03:00
private:
Ui::PreviewReportWindow *ui;
QSpinBox* m_pagesNavigator;
QSharedPointer<ItemsReaderIntf> m_reader;
QEventLoop m_eventLoop;
bool m_changingPage;
QSettings* m_settings;
bool m_ownedSettings;
PreviewReportWidget* m_previewReportWidget;
QComboBox* m_scalePercent;
2016-02-17 10:11:00 +03:00
};
} //namespace LimeReport
2016-02-17 10:11:00 +03:00
#endif // LRPREVIEWREPORTWINDOW_H