[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/kspread/plugins/scripting
From: Sebastian Sauer <mail () dipe ! org>
Date: 2007-06-22 15:47:59
Message-ID: 1182527279.419873.14022.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 678933 by sebsauer:
use the DataManipulator
M +1 -0 CMakeLists.txt
M +33 -20 ScriptingWriter.h
--- trunk/koffice/kspread/plugins/scripting/CMakeLists.txt #678932:678933
@@ -1,5 +1,6 @@
include_directories(
${CMAKE_SOURCE_DIR}/kspread
+ ${CMAKE_SOURCE_DIR}/kspread/commands
${CMAKE_SOURCE_DIR}/kspread/ui
${KOTEXT_INCLUDES}
${KOGUIUTILS_INCLUDES}
--- trunk/koffice/kspread/plugins/scripting/ScriptingWriter.h #678932:678933
@@ -21,18 +21,20 @@
#ifndef SCRIPTINGWRITER_H
#define SCRIPTINGWRITER_H
+#include "ScriptingModule.h"
+
#include <QString>
#include <QStringList>
#include <QObject>
+#include <klocale.h>
-#include "ScriptingModule.h"
-
#include <Doc.h>
#include <Sheet.h>
#include <Map.h>
#include <Region.h>
#include <Cell.h>
#include <Value.h>
+#include <DataManipulators.h>
/**
* The ScriptingWriter class provides abstract high-level functionality to write
@@ -56,7 +58,7 @@
*/
virtual ~ScriptingWriter() {}
- public slots:
+ public Q_SLOTS:
/**
* \return the current sheetname the writer is on. All operations done with
@@ -158,33 +160,44 @@
//QVariant value() {}
//QVariantList values() {}
- bool setValue(const QVariant& value) {
+ bool setValue(const QVariant& value, bool parse = true) {
KSpread::Value v;
- switch( value.type() ) {
- case QVariant::Invalid: v = KSpread::Value(); break;
- case QVariant::Bool: v = KSpread::Value( value.toBool() ); \
break;
- case QVariant::Int: v = KSpread::Value( value.toInt() ); \
break;
- case QVariant::ULongLong: v = KSpread::Value( value.toLongLong() \
); break;
- case QVariant::Double: v = KSpread::Value( value.toDouble() ); \
break;
- case QVariant::String: v = KSpread::Value( value.toString() ); \
break;
- //case QVariant::Date: v = KSpread::Value( value.toDate() ); \
break;
- //case QVariant::Time: v = KSpread::Value( value.toTime() ); \
break;
- //case QVariant::DateTime: v = KSpread::Value( value.toDateTime() \
); break;
- default: return false;
+ if( parse )
+ v = KSpread::Value( value.toString() );
+ else {
+ switch( value.type() ) {
+ case QVariant::Invalid: v = KSpread::Value(); break;
+ case QVariant::Bool: v = KSpread::Value( value.toBool() \
); break; + case QVariant::Int: v = KSpread::Value( \
value.toInt() ); break; + case QVariant::ULongLong: v = \
KSpread::Value( value.toLongLong() ); break; + case \
QVariant::Double: v = KSpread::Value( value.toDouble() ); break; + \
case QVariant::String: v = KSpread::Value( value.toString() ); break; + \
case QVariant::Date: v = KSpread::Value( value.toDate(), \
m_module->kspreadDoc() ); break; + case QVariant::Time: v = \
KSpread::Value( value.toTime(), m_module->kspreadDoc() ); break; + \
case QVariant::DateTime: v = KSpread::Value( value.toDateTime(), \
m_module->kspreadDoc() ); break; + default: return false;
+ }
}
- KSpread::Cell* c = getCell();
- c->setValue(v);
- return true;
+ //KSpread::Cell* c = getCell();
+ //c->setValue(v);
+ KSpread::DataManipulator *dm = new KSpread::DataManipulator();
+ dm->setSheet(m_sheet);
+ dm->setValue(v);
+ dm->setParsing(parse);
+ dm->add(QPoint(m_column, m_row));
+ return dm->execute();
}
- bool setValues(const QVariantList& values) {
+ bool setValues(const QVariantList& values, bool parse = true) {
bool ok = true;
const int prevcolumn = m_column;
+ m_module->doc()->beginMacro(i18n( "Set Values" ));
foreach(QVariant v, values) {
- if( ! setValue(v) ) ok = false;
+ if( ! setValue(v, parse) ) ok = false;
m_column++;
clearCell();
}
+ m_module->doc()->endMacro();
m_column = prevcolumn;
return ok;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic