QString KexiReportPart::loadReport(const QString& name) { //_internal->_reportName = pReportName; KexiMainWindowIface *win = KexiMainWindowIface::global(); if (!win || !win->project() || !win->project()->dbConnection()) { kDebug() << "failed sanity check"; return QString(); } QString src, did; KexiDB::SchemaData sd; if (win->project()->dbConnection()->loadObjectSchemaData(win->project()->idForClass("uk.co.piggz.report"), name, sd) != true) { kWarning() << "failed to load schema data"; return QString(); } kDebug() << "***Object ID:" << sd.id(); if (win->project()->dbConnection()->loadDataBlock(sd.id(), src, "pgzreport_layout") == true) { return src; } else { kWarning() << "Unable to load document"; return QString(); } }
KexiDB::SchemaData* KexiReportDesignView::storeNewData(const KexiDB::SchemaData& sdata, bool &cancel) { KexiDB::SchemaData *s = KexiView::storeNewData(sdata, cancel); kexipluginsdbg << "new id:" << s->id(); if (!s || cancel) { delete s; return 0; } if (!storeData()) { //failure: remove object's schema data to avoid garbage KexiDB::Connection *conn = KexiMainWindowIface::global()->project()->dbConnection(); conn->removeObject(s->id()); delete s; return 0; } return s; #if 0 KexiDB::SchemaData *rpt = new KexiDB::SchemaData(); *rpt = sdata; //sdata.setName ( name ); //sdata.setDescription ( _rd->reportTitle() ); KexiDB::Connection *conn = KexiMainWindowIface::global()->project()->dbConnection(); if (conn->storeObjectSchemaData(*rpt, true /*newObject*/)) { window()->setId(rpt->id()); if (rpt->id() > 0 && storeDataBlock(_rd->document().toString(), "pgzreport_layout")) { kDebug() << "Saved OK " << rpt->id(); } else { kDebug() << "NOT Saved OK"; return 0; } } else { kDebug() << "Unable to store schema data"; return 0; } return rpt; #endif }
KexiDB::SchemaData* KexiReportDesignView::storeNewData(const KexiDB::SchemaData& sdata, KexiView::StoreNewDataOptions options, bool &cancel) { KexiDB::SchemaData *s = KexiView::storeNewData(sdata, options, cancel); kDebug() << "new id:" << s->id(); if (!s || cancel) { delete s; return 0; } if (!storeData()) { //failure: remove object's schema data to avoid garbage KexiDB::Connection *conn = KexiMainWindowIface::global()->project()->dbConnection(); conn->removeObject(s->id()); delete s; return 0; } return s; }