[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/kexi/plugins/reportspgz
From: Adam Pigg <adam () piggz ! co ! uk>
Date: 2009-07-22 18:15:44
Message-ID: 1248286544.617278.14334.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1001239 by piggz:
A crazy idea i had to make the backend of kexi-reports into a seperate library. The \
intention is to minimize the dependancies on kexi (aim is kexidb + koproperty), but \
atm there are a few too many, hopefully more will come.
M +8 -82 CMakeLists.txt
D backend (directory)
M +1 -1 kexidbreportdata.h
M +1 -1 kexireportdesignview.h
A koreport (directory) backend#1000610
AM koreport/CMakeLists.txt
M +2 -1 koreport/common/reportpageoptions.h
AM koreport/koreport_export.h [License: UNKNOWN]
M +2 -1 koreport/renderer/krhtmlrender.h
M +2 -2 koreport/renderer/krkspreadrender.h
M +2 -1 koreport/renderer/krscreenrender.h
M +2 -1 koreport/renderer/orprerender.h
M +2 -1 koreport/renderer/orprintrender.h
M +40 -37 koreport/renderer/scripting/krscripthandler.cpp
M +1 -1 koreport/renderer/scripting/krscripthandler.h
M +0 -3 koreport/wrtembed/reportdesigner.cpp
M +2 -2 koreport/wrtembed/reportdesigner.h
--- trunk/koffice/kexi/plugins/reportspgz/CMakeLists.txt #1001238:1001239
@@ -1,15 +1,17 @@
#make it a project so cmake spits out a codeblocks project
#project(reports)
+add_subdirectory( koreport )
include_directories( ${KOMAIN_INCLUDES}
-
+
${KOODF_INCLUDES}
${CMAKE_SOURCE_DIR}/kexi
${CMAKE_SOURCE_DIR}/kexi/koproperty2/
${CMAKE_SOURCE_DIR}/kexi/core
${CMAKE_SOURCE_DIR}/kexi/widget
-${CMAKE_SOURCE_DIR}/kexi/plugins/reportspgz/backend/common
-${CMAKE_SOURCE_DIR}/kexi/plugins/reportspgz/backend/renderer
+${CMAKE_SOURCE_DIR}/kexi/plugins/reportspgz/koreport/
+${CMAKE_SOURCE_DIR}/kexi/plugins/reportspgz/koreport/common
+${CMAKE_SOURCE_DIR}/kexi/plugins/reportspgz/koreport/renderer
${CMAKE_SOURCE_DIR}/kchart/kdchart/include
${KDE4_INCLUDES} )
@@ -24,89 +26,13 @@
kexidbreportdata.cpp
keximigratereportdata.cpp
kexisourceselector.cpp
-
- backend/common/krpos.cpp
- backend/common/krsize.cpp
- backend/common/krobjectdata.cpp
- backend/common/krchartdata.cpp
- backend/common/krlabeldata.cpp
- backend/common/krfielddata.cpp
- backend/common/krtextdata.cpp
- backend/common/krbarcodedata.cpp
- backend/common/krimagedata.cpp
- backend/common/krlinedata.cpp
- backend/common/krshapedata.cpp
- backend/common/krcheckdata.cpp
- backend/common/krsectiondata.cpp
- backend/common/labelsizeinfo.cpp
- backend/common/reportpageoptions.cpp
- backend/common/krreportdata.cpp
- backend/common/krdetailsectiondata.cpp
- backend/common/parsexmlutils.cpp
-
- backend/renderer/3of9.cpp
- backend/renderer/code128.cpp
- backend/renderer/codeean.cpp
- backend/renderer/ext3of9.cpp
- backend/renderer/renderobjects.cpp
- backend/renderer/orprintrender.cpp
- backend/renderer/orprerender.cpp
- backend/renderer/krscreenrender.cpp
- backend/renderer/krhtmlrender.cpp
-
- backend/renderer/scripting/krscripthandler.cpp
- backend/renderer/scripting/krscriptfunctions.cpp
- backend/renderer/scripting/krscriptconstants.cpp
- backend/renderer/scripting/krscriptdebug.cpp
- backend/renderer/scripting/krscriptdraw.cpp
- backend/renderer/scripting/krscriptreport.cpp
- backend/renderer/scripting/krscriptsection.cpp
- backend/renderer/scripting/krscriptlabel.cpp
- backend/renderer/scripting/krscriptfield.cpp
- backend/renderer/scripting/krscripttext.cpp
- backend/renderer/scripting/krscriptbarcode.cpp
- backend/renderer/scripting/krscriptline.cpp
- backend/renderer/scripting/krscriptimage.cpp
- backend/renderer/scripting/krscriptchart.cpp
-
- backend/wrtembed/detailgroupsectiondialog.cpp
- backend/wrtembed/reportentities.cpp
- backend/wrtembed/reportrectentity.cpp
- backend/wrtembed/reportentitylabel.cpp
- backend/wrtembed/reportentityfield.cpp
- backend/wrtembed/reportentitytext.cpp
- backend/wrtembed/reportentityline.cpp
- backend/wrtembed/reportentitybarcode.cpp
- backend/wrtembed/reportentityimage.cpp
- backend/wrtembed/reportentitychart.cpp
- backend/wrtembed/reportentityshape.cpp
- backend/wrtembed/reportentitycheck.cpp
- backend/wrtembed/reportsection.cpp
- backend/wrtembed/reportsectiondetailgroup.cpp
- backend/wrtembed/reportsectiondetail.cpp
- backend/wrtembed/reportscene.cpp
- backend/wrtembed/reportsceneview.cpp
- backend/wrtembed/reportdesigner.cpp
- backend/wrtembed/sectioneditor.cpp
- backend/wrtembed/3of9paint.cpp
- backend/wrtembed/ext3of9paint.cpp
- backend/wrtembed/codeeanpaint.cpp
- backend/wrtembed/code128paint.cpp
)
-qt4_wrap_cpp(pgzkexireportpart2_LIB_SRCS \
../scripting/kexiscripting/kexiscriptadaptor.h)
-
-if (SHOULD_BUILD_KSPREAD)
- add_definitions(-DHAVE_KSPREAD)
- set(pgzkexireportpart2_LIB_SRCS ${pgzkexireportpart2_LIB_SRCS} \
backend/renderer/krkspreadrender.cpp)
-endif (SHOULD_BUILD_KSPREAD)
-
-kde4_add_ui_files(pgzkexireportpart2_LIB_SRCS \
backend/wrtembed/detailgroupsectiondialog.ui \
backend/wrtembed/sectioneditor.ui )
-
+
kde4_add_plugin(pgzkexireportpart2 ${pgzkexireportpart2_LIB_SRCS})
-target_link_libraries(pgzkexireportpart2 ${KDE4_KDEUI_LIBS} ${QT_QTGUI_LIBRARY}
+target_link_libraries(pgzkexireportpart2 koreport ${KDE4_KDEUI_LIBS} \
${QT_QTGUI_LIBRARY} ${QT_QTSCRIPT_LIBRARY} ${KDE4_KPARTS_LIBS} kexidb kexicore \
keximain ${KOPROPERTY_LIBS} ${QT_QT3SUPPORT_LIBRARY} kexiguiutils
- kexiextendedwidgets kdchart keximigrate ${KDE4_KROSSCORE_LIBS})
+ keximigrate ${KDE4_KROSSCORE_LIBS})
if (SHOULD_BUILD_KSPREAD)
target_link_libraries(pgzkexireportpart2 kspreadcommon)
endif (SHOULD_BUILD_KSPREAD)
--- trunk/koffice/kexi/plugins/reportspgz/kexidbreportdata.h #1001238:1001239
@@ -26,7 +26,7 @@
#include <kexidb/cursor.h>
#include <kexidb/utils.h>
-#include "backend/common/koreportdata.h"
+#include "koreportdata.h"
/**
--- trunk/koffice/kexi/plugins/reportspgz/kexireportdesignview.h #1001238:1001239
@@ -24,7 +24,7 @@
#include <QDomDocument>
#include <koproperty/Set.h>
#include <kexireportpart.h>
-#include "backend/wrtembed/reportdesigner.h"
+#include "koreport/wrtembed/reportdesigner.h"
#include "koreportdata.h"
class QScrollArea;
** trunk/koffice/kexi/plugins/reportspgz/koreport/CMakeLists.txt #property \
svn:eol-style + native
--- trunk/koffice/kexi/plugins/reportspgz/koreport/common/reportpageoptions.h \
#1000610:1001239 @@ -24,8 +24,9 @@
#include <qobject.h>
#include <qstring.h>
+#include "koreport_export.h"
-class ReportPageOptions : public QObject
+class KOREPORT_EXPORT ReportPageOptions : public QObject
{
Q_OBJECT
public:
** trunk/koffice/kexi/plugins/reportspgz/koreport/koreport_export.h #property \
svn:eol-style + native
--- trunk/koffice/kexi/plugins/reportspgz/koreport/renderer/krhtmlrender.h \
#1000610:1001239 @@ -27,6 +27,7 @@
#include <QFont>
#include <kurl.h>
+#include "koreport_export.h"
class ORODocument;
namespace KexiDB
@@ -36,7 +37,7 @@
//
// KRHtmlRender
//
-class KRHtmlRender
+class KOREPORT_EXPORT KRHtmlRender
{
public:
KRHtmlRender();
--- trunk/koffice/kexi/plugins/reportspgz/koreport/renderer/krkspreadrender.h \
#1000610:1001239 @@ -21,13 +21,13 @@
#define KRKSPREADRENDERER_H
#include "renderobjects.h"
-
+#include "koreport_export.h"
#include <kurl.h>
/**
@author Adam Pigg <adam@piggz.co.uk>
*/
-class KRKSpreadRender
+class KOREPORT_EXPORT KRKSpreadRender
{
public:
KRKSpreadRender();
--- trunk/koffice/kexi/plugins/reportspgz/koreport/renderer/krscreenrender.h \
#1000610:1001239 @@ -22,10 +22,11 @@
#define __KRSCREENRENDER_H__
#include <QPainter>
+#include "koreport_export.h"
class ORODocument;
-class KRScreenRender
+class KOREPORT_EXPORT KRScreenRender
{
public:
KRScreenRender();
--- trunk/koffice/kexi/plugins/reportspgz/koreport/renderer/orprerender.h \
#1000610:1001239 @@ -25,6 +25,7 @@
#include <QRectF>
#include <QString>
#include <QFont>
+#include "koreport_export.h"
class ORPreRenderPrivate;
class ParameterList;
@@ -40,7 +41,7 @@
// This class takes a report definition and prerenders the result to
// an ORODocument that can be used to pass to any number of renderers.
//
-class ORPreRender
+class KOREPORT_EXPORT ORPreRender
{
public:
// ORPreRender(KexiDB::Connection*c = 0);
--- trunk/koffice/kexi/plugins/reportspgz/koreport/renderer/orprintrender.h \
#1000610:1001239 @@ -23,10 +23,11 @@
#include <QPrinter>
#include <QPainter>
+#include "koreport_export.h"
class ORODocument;
-class ORPrintRender
+class KOREPORT_EXPORT ORPrintRender
{
public:
ORPrintRender();
--- trunk/koffice/kexi/plugins/reportspgz/koreport/renderer/scripting/krscripthandler.cpp \
#1000610:1001239 @@ -21,9 +21,9 @@
#include <kdebug.h>
#include <kexidb/cursor.h>
-#include <KexiMainWindowIface.h>
-#include <kexiproject.h>
-#include <kexipart.h>
+//#include <KexiMainWindowIface.h>
+//#include <kexiproject.h>
+//#include <kexipart.h>
#include <kexiutils/tristate.h>
#include "../../../scripting/kexiscripting/kexiscriptadaptor.h"
@@ -46,7 +46,7 @@
KRScriptHandler::KRScriptHandler(const KoReportData* kodata, KRReportData* d)
{
- //m_connection = cu->connection();
+ m_connection = static_cast<KexiDB::Connection*>(kodata->connection());
m_reportData = d;
m_cursor = kodata;
@@ -253,46 +253,49 @@
QString KRScriptHandler::scriptCode()
{
- QList<int> scriptids = \
KexiMainWindowIface::global()->project()->dbConnection()->objectIds(KexiPart::ScriptObjectType);
- QStringList scriptnames = \
KexiMainWindowIface::global()->project()->dbConnection()->objectNames(KexiPart::ScriptObjectType);
QString scripts;
- int id;
- int i = 0;
- QString script;
-
- foreach (id, scriptids) {
- kDebug() << "ID:" << id;
- tristate res;
- res = KexiMainWindowIface::global()->project()->dbConnection()->loadDataBlock(id, \
script, QString());
- if (res == true){
- QDomDocument domdoc;
- bool parsed = domdoc.setContent(script, false);
+ if (m_connection)
+ {
+ QList<int> scriptids = m_connection->objectIds(KexiPart::ScriptObjectType);
+ QStringList scriptnames = \
m_connection->objectNames(KexiPart::ScriptObjectType);
- if (! parsed) {
- kDebug() << "XML parsing error";
- return false;
- }
+ int id;
+ int i = 0;
+ QString script;
- QDomElement scriptelem = domdoc.namedItem("script").toElement();
- if (scriptelem.isNull()) {
- kDebug() << "script domelement is null";
- return false;
- }
+ foreach (id, scriptids) {
+ kDebug() << "ID:" << id;
+ tristate res;
+ res = m_connection->loadDataBlock(id, script, QString());
+ if (res == true){
+ QDomDocument domdoc;
+ bool parsed = domdoc.setContent(script, false);
- QString interpretername = scriptelem.attribute("language");
- kDebug() << interpretername;
- kDebug() << scriptelem.attribute("scripttype");
-
- if (m_reportData->interpreter() == interpretername && \
(scriptelem.attribute("scripttype") == "module" || m_reportData->script() == \
scriptnames[i] )) {
- scripts += '\n' + scriptelem.text().toUtf8();
+ if (! parsed) {
+ kDebug() << "XML parsing error";
+ return false;
+ }
+
+ QDomElement scriptelem = domdoc.namedItem("script").toElement();
+ if (scriptelem.isNull()) {
+ kDebug() << "script domelement is null";
+ return false;
+ }
+
+ QString interpretername = scriptelem.attribute("language");
+ kDebug() << interpretername;
+ kDebug() << scriptelem.attribute("scripttype");
+
+ if (m_reportData->interpreter() == interpretername && \
(scriptelem.attribute("scripttype") == "module" || m_reportData->script() == \
scriptnames[i] )) { + scripts += '\n' + \
scriptelem.text().toUtf8(); + }
+ ++i;
}
- ++i;
+ else{
+ kDebug() << "Unable to loadDataBlock";
+ }
}
- else{
- kDebug() << "Unable to loadDataBlock";
- }
}
-
return scripts;
}
--- trunk/koffice/kexi/plugins/reportspgz/koreport/renderer/scripting/krscripthandler.h \
#1000610:1001239 @@ -75,7 +75,7 @@
QString scriptCode();
- //KexiDB::Connection *m_connection;
+ KexiDB::Connection *m_connection;
//const KexiDB::Cursor *m_cursor;
const KoReportData *m_cursor;
--- trunk/koffice/kexi/plugins/reportspgz/koreport/wrtembed/reportdesigner.cpp \
#1000610:1001239 @@ -76,8 +76,6 @@
#include <KoPageFormat.h>
#include <kaction.h>
#include <kdebug.h>
-#include <kexisectionheader.h>
-#include <kexieditor.h>
#include <kross/core/manager.h>
//
@@ -137,7 +135,6 @@
KoRuler *hruler;
KoZoomHandler *zoom;
QVBoxLayout *vboxlayout;
- KexiSectionHeader *head;
QPushButton *pageButton;
};
--- trunk/koffice/kexi/plugins/reportspgz/koreport/wrtembed/reportdesigner.h \
#1000610:1001239 @@ -35,7 +35,7 @@
#include <koproperty/Property.h>
#include <kdebug.h>
#include <krobjectdata.h>
-
+#include "koreport_export.h"
#include "koreportdata.h"
class ReportGridOptions;
@@ -58,7 +58,7 @@
// Class ReportDesigner
// The ReportDesigner is the main widget for designing a report
//
-class ReportDesigner : public QWidget
+class KOREPORT_EXPORT ReportDesigner : public QWidget
{
Q_OBJECT
public:
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic