Пример #1
0
//copyright : (C) 2002-2003 InfoSiAL S.L.
//email     : [email protected]
void MReportViewer::setReportEngine(MReportEngine *r)
{
  if (rptEngine == r)
    return;
  if (rptEngine) {
    disconnect(rptEngine, SIGNAL(destroyed()), this, SLOT(setReportEngine()));
    disconnect(rptEngine, SIGNAL(signalRenderStatus(int)), this, SLOT(slotRenderProgress(int)));
    disconnect(rptEngine, SIGNAL(preferedTemplate(const QString &)), this, SIGNAL(preferedTemplate(const QString &)));
  }
  rptEngine = r;
  if (rptEngine) {
    connect(rptEngine, SIGNAL(destroyed()), this, SLOT(setReportEngine()));
    connect(rptEngine, SIGNAL(signalRenderStatus(int)), this, SLOT(slotRenderProgress(int)));
    connect(rptEngine, SIGNAL(preferedTemplate(const QString &)), this, SIGNAL(preferedTemplate(const QString &)));
  }
}
Пример #2
0
void FLReportViewer::setReportPages(FLReportPages *pgs)
{
  setReportEngine(0);
  qry_ = 0;
  xmlData_ = QDomNode();
  rptViewer_->setReportPages(pgs ? pgs->pageCollection() : 0);
  report = rptViewer_->reportPages();
}
Пример #3
0
void FLReportViewer::setReportEngine(FLReportEngine *r)
{
  if (rptEngine_ == r)
    return;
  bool noSigDestroy = !(sender() && sender() == rptEngine_);
  if (rptEngine_) {
    disconnect(rptEngine_, SIGNAL(destroyed()), this, SLOT(setReportEngine()));
    if (noSigDestroy && rptEngine_->parent() == this) {
      rptEngine_->deleteLater();
      rptEngine_ = 0;
    }
  }
  rptEngine_ = r;
  if (rptEngine_) {
    template_ = rptEngine_->rptNameTemplate();
    qry_ = rptEngine_->rptQueryData();
    if (rptEngine_->rptXmlTemplate())
      xmlTemplate_ = *rptEngine_->rptXmlTemplate();
    if (rptEngine_->rptXmlTemplate())
      xmlData_ = *rptEngine_->rptXmlTemplate();
    connect(rptEngine_, SIGNAL(destroyed()), this, SLOT(setReportEngine()));

    ledStyle->setDisabled(false);
    save_page_SVG->setDisabled(false);
    save_page_tpl_SVG->setDisabled(false);
    ledStyle->setDisabled(false);
    load_tpl_SVG->setDisabled(false);
  } else {
    ledStyle->setDisabled(true);
    save_page_SVG->setDisabled(true);
    save_page_tpl_SVG->setDisabled(true);
    ledStyle->setDisabled(true);
    load_tpl_SVG->setDisabled(true);
  }
  if (noSigDestroy)
    rptViewer_->setReportEngine(rptEngine_);
}
Пример #4
0
void FLReportViewer::updateReport()
{
  emit requestUpdateReport();

  if (qry_ || !xmlData_.isNull()) {
    if (!rptEngine_)
      setReportEngine(new FLReportEngine(this));

    setResolution(spnResolution->value());
    setPixel(spnPixel->value());

    if (!template_.isEmpty())
      setReportTemplate(template_, styleName_);
    else
      setReportTemplate(xmlTemplate_, styleName_);
    if (qry_)
      setReportData(qry_);
    else
      setReportData(xmlData_);
    renderReport(0, 0, false, false);
  }
  updateDisplay();
}
Пример #5
0
FLReportViewer::FLReportViewer(QWidget *parent, const char *name, bool embedInParent, FLReportEngine *rptEngine) :
  FLWidgetReportViewer(parent, name,
                       ((parent && embedInParent) ? 0 :
                        (Qt::WStyle_Customize |
                         Qt::WStyle_Maximize |
                         Qt::WStyle_Title |
                         Qt::WStyle_NormalBorder |
                         Qt::WType_Dialog |
                         Qt::WShowModal |
                         Qt::WStyle_SysMenu))),
  loop(false), reportPrinted_(false),
  rptViewer_(0), rptEngine_(0),
  report(0), qry_(0),
  slotsPrintDisabled_(false), slotsExportDisabled_(false)
{

  if (!name)
    QObject::setName("FLReportViewer");

  embedInParent_ = (parent && embedInParent);

  if (embedInParent_) {
    autoClose_ = false;
    menubar->hide();
    chkAutoClose->hide();
    spnResolution->hide();
    spnPixel->hide();
    salir->setVisible(false);

    if (!parent->layout()) {
      QVBoxLayout *lay = new QVBoxLayout(parent);
      lay->addWidget(this);
    } else
      parent->layout()->add(this);
  } else {
    autoClose_ = FLUtil::readSettingEntry("rptViewer/autoClose", "false").toBool();
    chkAutoClose->setChecked(autoClose_);
  }

  rptViewer_ = new MReportViewer(this);
  setReportEngine(rptEngine == 0 ? new FLReportEngine(this) : rptEngine);

  setFont(qApp->font());
  setFocusPolicy(QWidget::StrongFocus);

  lePara->setText(FLUtil::readSettingEntry("email/to").toString());
  leDe->setText(FLUtil::readSettingEntry("email/from").toString());
  leMailServer->setText(FLUtil::readSettingEntry("email/mailserver").toString());

  initCentralWidget_ = centralWidget();

  smtpClient_ = new FLSmtpClient(this);
  connect(smtpClient_, SIGNAL(status(const QString &)), lblEstado, SLOT(setText(const QString &)));

  setCentralWidget(rptViewer_);
  frEMail->hide();
  initCentralWidget_->hide();

  if (!embedInParent_) {
    spnResolution->setValue(FLUtil::readSettingEntry("rptViewer/dpi", QVariant(rptViewer_->resolution()).toString()).toInt());
    spnPixel->setValue(FLUtil::readSettingEntry("rptViewer/pixel",
                                                QString::number((double) rptEngine_->relDpi(), 'f', 2)).toDouble() * 10.);
  }
  report = rptViewer_->reportPages();
}