[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