0
0
mirror of https://github.com/fralx/LimeReport.git synced 2024-12-25 00:54:39 +03:00

ReportEnginePrivate has been changed to ReportEngine in PrewiewWindow and DesignerWindow

This commit is contained in:
Arin Alexander 2017-03-22 14:42:09 +03:00
parent 0505801e3a
commit 188ab54ee2
12 changed files with 44 additions and 25 deletions

View File

@ -12,6 +12,7 @@ class PreviewReportWidget;
class PreviewReportWidgetPrivate; class PreviewReportWidgetPrivate;
class ReportEnginePrivate; class ReportEnginePrivate;
class ReportEngine;
class LIMEREPORT_EXPORT PreviewReportWidget : public QWidget class LIMEREPORT_EXPORT PreviewReportWidget : public QWidget
{ {
@ -20,7 +21,7 @@ class LIMEREPORT_EXPORT PreviewReportWidget : public QWidget
friend class PreviewReportWindow; friend class PreviewReportWindow;
friend class PreviewReportWidgetPrivate; friend class PreviewReportWidgetPrivate;
public: public:
explicit PreviewReportWidget(ReportEnginePrivate *report, QWidget *parent = 0); explicit PreviewReportWidget(ReportEngine *report, QWidget *parent = 0);
~PreviewReportWidget(); ~PreviewReportWidget();
public slots: public slots:
void refreshPages(); void refreshPages();

View File

@ -63,11 +63,15 @@ class DataSourceManager;
class ReportEnginePrivate; class ReportEnginePrivate;
class PageDesignIntf; class PageDesignIntf;
class PageItemDesignIntf; class PageItemDesignIntf;
class ReportDesignWidget;
class PreviewReportWidget;
typedef QList< QSharedPointer<PageItemDesignIntf> > ReportPages; typedef QList< QSharedPointer<PageItemDesignIntf> > ReportPages;
class LIMEREPORT_EXPORT ReportEngine : public QObject{ class LIMEREPORT_EXPORT ReportEngine : public QObject{
Q_OBJECT Q_OBJECT
friend class ReportDesignWidget;
friend class PreviewReportWidget;
public: public:
static void setSettings(QSettings *value){m_settings=value;} static void setSettings(QSettings *value){m_settings=value;}
public: public:

View File

@ -60,14 +60,15 @@ PageItemDesignIntf::Ptr PreviewReportWidgetPrivate::currentPage()
else return PageItemDesignIntf::Ptr(0); else return PageItemDesignIntf::Ptr(0);
} }
PreviewReportWidget::PreviewReportWidget(ReportEnginePrivate *report, QWidget *parent) : PreviewReportWidget::PreviewReportWidget(ReportEngine *report, QWidget *parent) :
QWidget(parent), QWidget(parent),
ui(new Ui::PreviewReportWidget), d_ptr(new PreviewReportWidgetPrivate(this)) ui(new Ui::PreviewReportWidget), d_ptr(new PreviewReportWidgetPrivate(this))
{ {
ui->setupUi(this); ui->setupUi(this);
d_ptr->m_previewPage = report->createPreviewPage(); d_ptr->m_report = report->d_ptr;
d_ptr->m_previewPage = d_ptr->m_report->createPreviewPage();
d_ptr->m_previewPage->setItemMode( LimeReport::PreviewMode ); d_ptr->m_previewPage->setItemMode( LimeReport::PreviewMode );
d_ptr->m_report = report;
ui->errorsView->setVisible(false); ui->errorsView->setVisible(false);
connect(ui->graphicsView->verticalScrollBar(),SIGNAL(valueChanged(int)), this, SLOT(slotSliderMoved(int))); connect(ui->graphicsView->verticalScrollBar(),SIGNAL(valueChanged(int)), this, SLOT(slotSliderMoved(int)));

View File

@ -12,6 +12,7 @@ class PreviewReportWidget;
class PreviewReportWidgetPrivate; class PreviewReportWidgetPrivate;
class ReportEnginePrivate; class ReportEnginePrivate;
class ReportEngine;
class LIMEREPORT_EXPORT PreviewReportWidget : public QWidget class LIMEREPORT_EXPORT PreviewReportWidget : public QWidget
{ {
@ -20,7 +21,7 @@ class LIMEREPORT_EXPORT PreviewReportWidget : public QWidget
friend class PreviewReportWindow; friend class PreviewReportWindow;
friend class PreviewReportWidgetPrivate; friend class PreviewReportWidgetPrivate;
public: public:
explicit PreviewReportWidget(ReportEnginePrivate *report, QWidget *parent = 0); explicit PreviewReportWidget(ReportEngine *report, QWidget *parent = 0);
~PreviewReportWidget(); ~PreviewReportWidget();
public slots: public slots:
void refreshPages(); void refreshPages();

View File

@ -34,6 +34,8 @@
#include "lrreportengine_p.h" #include "lrreportengine_p.h"
#include "lrpreviewreportwidget.h" #include "lrpreviewreportwidget.h"
#include "lrpreviewreportwidget_p.h" #include "lrpreviewreportwidget_p.h"
#include "items/editors/lrfonteditorwidget.h"
#include "items/editors/lrtextalignmenteditorwidget.h"
#include <QPrinter> #include <QPrinter>
#include <QPrintDialog> #include <QPrintDialog>
@ -43,7 +45,7 @@
namespace LimeReport{ namespace LimeReport{
PreviewReportWindow::PreviewReportWindow(ReportEnginePrivate *report,QWidget *parent, QSettings *settings, Qt::WindowFlags flags) : PreviewReportWindow::PreviewReportWindow(ReportEngine *report, QWidget *parent, QSettings *settings, Qt::WindowFlags flags) :
QMainWindow(parent,flags), QMainWindow(parent,flags),
ui(new Ui::PreviewReportWindow), m_settings(settings), m_ownedSettings(false) ui(new Ui::PreviewReportWindow), m_settings(settings), m_ownedSettings(false)
{ {

View File

@ -34,15 +34,10 @@
#include <QDomComment> #include <QDomComment>
#include <QSpinBox> #include <QSpinBox>
#include <QComboBox> #include <QComboBox>
#include <QSettings>
#include <QEventLoop>
#include "lrpagedesignintf.h"
#include "lrreportrender.h"
#include "serializators/lrstorageintf.h"
#include "serializators/lrxmlreader.h" #include "serializators/lrxmlreader.h"
#include "lrpreviewreportwidget.h"
#include "items/editors/lrfonteditorwidget.h"
#include "items/editors/lrtextalignmenteditorwidget.h"
namespace LimeReport { namespace LimeReport {
@ -50,11 +45,19 @@ namespace Ui {
class PreviewReportWindow; class PreviewReportWindow;
} }
class PreviewReportWidget;
class FontEditorWidget;
class TextAlignmentEditorWidget;
class ReportEngine;
class PageItemDesignIntf;
typedef QList< QSharedPointer<PageItemDesignIntf> > ReportPages;
class PreviewReportWindow : public QMainWindow class PreviewReportWindow : public QMainWindow
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit PreviewReportWindow(ReportEnginePrivate *report, QWidget *parent = 0, QSettings* settings=0, Qt::WindowFlags flags=0); explicit PreviewReportWindow(ReportEngine *report, QWidget *parent = 0, QSettings* settings=0, Qt::WindowFlags flags=0);
~PreviewReportWindow(); ~PreviewReportWindow();
void setReportReader(ItemsReaderIntf::Ptr reader); void setReportReader(ItemsReaderIntf::Ptr reader);
void setPages(ReportPages pages); void setPages(ReportPages pages);

View File

@ -48,7 +48,7 @@ namespace LimeReport {
// ReportDesignIntf // ReportDesignIntf
ReportDesignWidget::ReportDesignWidget(ReportEnginePrivate *report, QMainWindow *mainWindow, QWidget *parent) : ReportDesignWidget::ReportDesignWidget(ReportEngine *report, QMainWindow *mainWindow, QWidget *parent) :
QWidget(parent), m_mainWindow(mainWindow), m_verticalGridStep(10), m_horizontalGridStep(10), m_useGrid(false) QWidget(parent), m_mainWindow(mainWindow), m_verticalGridStep(10), m_horizontalGridStep(10), m_useGrid(false)
{ {
m_tabWidget = new QTabWidget(this); m_tabWidget = new QTabWidget(this);
@ -63,7 +63,7 @@ ReportDesignWidget::ReportDesignWidget(ReportEnginePrivate *report, QMainWindow
m_report->appendPage("page1"); m_report->appendPage("page1");
} }
else { else {
m_report=report; m_report=report->d_ptr;
if (!m_report->pageCount()) m_report->appendPage("page1"); if (!m_report->pageCount()) m_report->appendPage("page1");
} }
@ -74,7 +74,7 @@ ReportDesignWidget::ReportDesignWidget(ReportEnginePrivate *report, QMainWindow
connect(m_tabWidget, SIGNAL(currentChanged(int)), this, SLOT(slotCurrentTabChanged(int))); connect(m_tabWidget, SIGNAL(currentChanged(int)), this, SLOT(slotCurrentTabChanged(int)));
//m_instance=this; //m_instance=this;
m_scriptEditor->setPlainText(report->scriptContext()->initScript()); m_scriptEditor->setPlainText(m_report->scriptContext()->initScript());
m_zoomer = new GraphicsViewZoomer(activeView()); m_zoomer = new GraphicsViewZoomer(activeView());
#ifdef Q_OS_WIN #ifdef Q_OS_WIN
m_defaultFont = QFont("Arial",10); m_defaultFont = QFont("Arial",10);

View File

@ -150,7 +150,7 @@ protected:
void createTabs(); void createTabs();
private: private:
bool eventFilter(QObject *target, QEvent *event); bool eventFilter(QObject *target, QEvent *event);
ReportDesignWidget(ReportEnginePrivate* report,QMainWindow *mainWindow,QWidget *parent = 0); ReportDesignWidget(ReportEngine* report,QMainWindow *mainWindow,QWidget *parent = 0);
private: private:
ReportEnginePrivate* m_report; ReportEnginePrivate* m_report;
QGraphicsView *m_view; QGraphicsView *m_view;

View File

@ -62,7 +62,7 @@ namespace LimeReport{
ReportDesignWindow* ReportDesignWindow::m_instance=0; ReportDesignWindow* ReportDesignWindow::m_instance=0;
ReportDesignWindow::ReportDesignWindow(ReportEnginePrivate *report, QWidget *parent, QSettings* settings) : ReportDesignWindow::ReportDesignWindow(ReportEngine *report, QWidget *parent, QSettings* settings) :
QMainWindow(parent), m_textAttibutesIsChanging(false), m_settings(settings), m_ownedSettings(false), m_progressDialog(0), m_showProgressDialog(true) QMainWindow(parent), m_textAttibutesIsChanging(false), m_settings(settings), m_ownedSettings(false), m_progressDialog(0), m_showProgressDialog(true)
{ {
initReportEditor(report); initReportEditor(report);
@ -437,7 +437,7 @@ void ReportDesignWindow::createMainMenu()
m_recentFilesMenu->setDisabled(m_recentFiles.isEmpty()); m_recentFilesMenu->setDisabled(m_recentFiles.isEmpty());
} }
void ReportDesignWindow::initReportEditor(ReportEnginePrivate* report) void ReportDesignWindow::initReportEditor(ReportEngine* report)
{ {
m_reportDesignWidget=new ReportDesignWidget(report,this,this); m_reportDesignWidget=new ReportDesignWidget(report,this,this);
setCentralWidget(m_reportDesignWidget); setCentralWidget(m_reportDesignWidget);

View File

@ -59,7 +59,7 @@ class ReportDesignWindow : public QMainWindow
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit ReportDesignWindow(ReportEnginePrivate* report, QWidget *parent = 0, QSettings* settings=0); explicit ReportDesignWindow(ReportEngine *report, QWidget *parent = 0, QSettings* settings=0);
~ReportDesignWindow(); ~ReportDesignWindow();
static ReportDesignWindow* instance(){return m_instance;} static ReportDesignWindow* instance(){return m_instance;}
@ -134,7 +134,7 @@ private:
void createItemsActions(); void createItemsActions();
void createObjectInspector(); void createObjectInspector();
void createObjectsBrowser(); void createObjectsBrowser();
void initReportEditor(ReportEnginePrivate* report); void initReportEditor(ReportEngine *report);
void createDataWindow(); void createDataWindow();
void createScriptWindow(); void createScriptWindow();
void updateRedoUndo(); void updateRedoUndo();

View File

@ -371,7 +371,8 @@ void ReportEnginePrivate::previewReport(PreviewHints hints)
ReportPages pages = renderToPages(); ReportPages pages = renderToPages();
dataManager()->setDesignTime(true); dataManager()->setDesignTime(true);
if (pages.count()>0){ if (pages.count()>0){
PreviewReportWindow* w = new PreviewReportWindow(this,0,settings()); Q_Q(ReportEngine);
PreviewReportWindow* w = new PreviewReportWindow(q,0,settings());
w->setWindowFlags(Qt::Dialog|Qt::WindowMaximizeButtonHint|Qt::WindowCloseButtonHint| Qt::WindowMinMaxButtonsHint); w->setWindowFlags(Qt::Dialog|Qt::WindowMaximizeButtonHint|Qt::WindowCloseButtonHint| Qt::WindowMinMaxButtonsHint);
w->setAttribute(Qt::WA_DeleteOnClose,true); w->setAttribute(Qt::WA_DeleteOnClose,true);
w->setWindowModality(Qt::ApplicationModal); w->setWindowModality(Qt::ApplicationModal);
@ -405,7 +406,8 @@ void ReportEnginePrivate::previewReport(PreviewHints hints)
PreviewReportWidget* ReportEnginePrivate::createPreviewWidget(QWidget* parent){ PreviewReportWidget* ReportEnginePrivate::createPreviewWidget(QWidget* parent){
PreviewReportWidget* widget = new PreviewReportWidget(this, parent); Q_Q(ReportEngine);
PreviewReportWidget* widget = new PreviewReportWidget(q, parent);
try{ try{
dataManager()->setDesignTime(false); dataManager()->setDesignTime(false);
ReportPages pages = renderToPages(); ReportPages pages = renderToPages();
@ -478,7 +480,8 @@ PageDesignIntf* ReportEngine::createPreviewScene(QObject* parent){
void ReportEnginePrivate::designReport() void ReportEnginePrivate::designReport()
{ {
if (!m_designerWindow) { if (!m_designerWindow) {
m_designerWindow = new LimeReport::ReportDesignWindow(this,QApplication::activeWindow(),settings()); Q_Q(ReportEngine);
m_designerWindow = new LimeReport::ReportDesignWindow(q,QApplication::activeWindow(),settings());
m_designerWindow->setAttribute(Qt::WA_DeleteOnClose,true); m_designerWindow->setAttribute(Qt::WA_DeleteOnClose,true);
m_designerWindow->setWindowIcon(QIcon(":report/images/logo32")); m_designerWindow->setWindowIcon(QIcon(":report/images/logo32"));
m_designerWindow->setShowProgressDialog(m_showProgressDialog); m_designerWindow->setShowProgressDialog(m_showProgressDialog);

View File

@ -63,11 +63,15 @@ class DataSourceManager;
class ReportEnginePrivate; class ReportEnginePrivate;
class PageDesignIntf; class PageDesignIntf;
class PageItemDesignIntf; class PageItemDesignIntf;
class ReportDesignWidget;
class PreviewReportWidget;
typedef QList< QSharedPointer<PageItemDesignIntf> > ReportPages; typedef QList< QSharedPointer<PageItemDesignIntf> > ReportPages;
class LIMEREPORT_EXPORT ReportEngine : public QObject{ class LIMEREPORT_EXPORT ReportEngine : public QObject{
Q_OBJECT Q_OBJECT
friend class ReportDesignWidget;
friend class PreviewReportWidget;
public: public:
static void setSettings(QSettings *value){m_settings=value;} static void setSettings(QSettings *value){m_settings=value;}
public: public: