[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/kexi/plugins/reportspgz/backend
From: Adam Pigg <adam () piggz ! co ! uk>
Date: 2008-09-23 20:46:44
Message-ID: 1222202804.550655.32761.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 864065 by piggz:
Allow the control source of a checkbox to be a function (such as 'field > 5')
M +4 -0 common/krcheckdata.cpp
M +1 -0 common/krcheckdata.h
M +1 -6 common/krfielddata.cpp
M +1 -5 common/krfielddata.h
M +4 -2 renderer/orprerender.cpp
M +1 -1 renderer/scripting/krscriptfield.cpp
M +15 -4 renderer/scripting/krscripthandler.cpp
M +1 -1 wrtembed/reportentityfield.cpp
--- trunk/koffice/kexi/plugins/reportspgz/backend/common/krcheckdata.cpp \
#864064:864065 @@ -87,6 +87,10 @@
return ls;
}
+QString KRCheckData::controlSource() const
+{
+ return _controlSource->value().toString();
+}
// RTTI
int KRCheckData::type() const
{
--- trunk/koffice/kexi/plugins/reportspgz/backend/common/krcheckdata.h #864064:864065
@@ -29,6 +29,7 @@
ORDataData data() {
return ORDataData("Data Source", _controlSource->value().toString());
}
+ QString controlSource()const;
protected:
QRectF _rect();
--- trunk/koffice/kexi/plugins/reportspgz/backend/common/krfielddata.cpp \
#864064:864065 @@ -199,7 +199,7 @@
{
}
-QString KRFieldData::column() const
+QString KRFieldData::controlSource() const
{
return _controlSource->value().toString();
}
@@ -211,11 +211,6 @@
}
}
-//bool KRFieldData::trackTotal() { return _trackTotal->value().toBool(); }
-//bool KRFieldData::trackBuiltinFormat() { return \
_trackBuiltinFormat->value().toBool(); }
-//bool KRFieldData::useSubTotal() { return _useSubTotal->value().toBool(); }
-//QString KRFieldData::trackTotalFormat() { return \
_trackTotalFormat->value().toString(); }
-
void KRFieldData::setTrackTotal(bool yes)
{
if (_trackTotal->value() != yes) {
--- trunk/koffice/kexi/plugins/reportspgz/backend/common/krfielddata.h #864064:864065
@@ -59,11 +59,7 @@
void setTrackTotalFormat(const QString &, bool = FALSE);
void setUseSubTotal(bool);
- QString column() const;
- //bool trackTotal();
- //bool trackBuiltinFormat();
- //bool useSubTotal();
- //QString trackTotalFormat();
+ QString controlSource() const;
ORLineStyleData lineStyle();
ORTextStyleData textStyle();
--- trunk/koffice/kexi/plugins/reportspgz/backend/renderer/orprerender.cpp \
#864064:864065 @@ -832,9 +832,11 @@
QString str = QString::null;
- QString cs = cd->_controlSource->value().toString();
+ QString cs = cd->controlSource();
+ kDebug() << "EntityCheck CS:" << cs;
+
if (cs.left(1) == "=") {
- str = cs.mid(1);
+ str = _handler->evaluate(cd->entityName()).toString();
} else {
QString qry = "Data Source";
QString clm = cd->_controlSource->value().toString();
--- trunk/koffice/kexi/plugins/reportspgz/backend/renderer/scripting/krscriptfield.cpp \
#864064:864065 @@ -33,7 +33,7 @@
QString Field::source()
{
- return _field->column();
+ return _field->controlSource();
}
void Field::setSource(const QString& s)
--- trunk/koffice/kexi/plugins/reportspgz/backend/renderer/scripting/krscripthandler.cpp \
#864064:864065 @@ -29,6 +29,7 @@
#include "krscriptdebug.h"
#include <krobjectdata.h>
#include <krfielddata.h>
+#include <krcheckdata.h>
#include <kmessagebox.h>
#include "krscriptconstants.h"
#include <krreportdata.h>
@@ -143,18 +144,28 @@
QList<KRObjectData *>obs = _data->objects();
foreach(KRObjectData* o, obs) {
+ //The field or check contains an expression
+ //TODO this is a horrible hack, need to get a similar feature into kross
if (o->type() == KRObjectData::EntityField) {
KRFieldData* fld = o->toField();
- if (fld->column()[0] == '=') {
- //The field contains an expression
- func = QString("function %1_onrender_(){return \
%2;}").arg(fld->entityName().toLower()).arg(fld->column().mid(1)); + if \
(fld->controlSource()[0] == '=') { + func = QString("function \
%1_onrender_(){return \
%2;}").arg(fld->entityName().toLower()).arg(fld->controlSource().mid(1));
funcs += func + "\n";
}
+ }
+ if (o->type() == KRObjectData::EntityCheck) {
+ KRCheckData* chk = o->toCheck();
+ if (chk->controlSource()[0] == '=') {
+ func = QString("function %1_onrender_(){return \
%2;}").arg(chk->entityName().toLower()).arg(chk->controlSource().mid(1));
+ funcs += func + "\n";
+ }
+
}
}
+
return funcs;
}
@@ -187,4 +198,4 @@
w = w.mid(0, w.length() - 4);
kDebug() << w;
return w;
-}
\ No newline at end of file
+}
--- trunk/koffice/kexi/plugins/reportspgz/backend/wrtembed/reportentityfield.cpp \
#864064:864065 @@ -170,7 +170,7 @@
// dquery.appendChild ( doc.createTextNode ( query() ) );
// data.appendChild ( dquery );
QDomElement dcolumn = doc.createElement("controlsource");
- dcolumn.appendChild(doc.createTextNode(column()));
+ dcolumn.appendChild(doc.createTextNode(controlSource()));
data.appendChild(dcolumn);
entity.appendChild(data);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic