[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [labplot] src/backend/worksheet/plots/cartesian: Removed couple of obsolete includes and fixed the i
From: Alexander Semke <alexander.semke () web ! de>
Date: 2016-06-05 7:34:32
Message-ID: E1b9SZs-0000t4-4F () scm ! kde ! org
[Download RAW message or body]
Git commit 4da2a81d9362a6ac7c19fa90d7dfce44377dbeda by Alexander Semke.
Committed on 05/06/2016 at 07:34.
Pushed by asemke into branch 'master'.
Removed couple of obsolete includes and fixed the indentation in XYCurve.
M +674 -665 src/backend/worksheet/plots/cartesian/XYCurve.cpp
http://commits.kde.org/labplot/4da2a81d9362a6ac7c19fa90d7dfce44377dbeda
diff --git a/src/backend/worksheet/plots/cartesian/XYCurve.cpp \
b/src/backend/worksheet/plots/cartesian/XYCurve.cpp index 41d745a..5c013a7 100644
--- a/src/backend/worksheet/plots/cartesian/XYCurve.cpp
+++ b/src/backend/worksheet/plots/cartesian/XYCurve.cpp
@@ -37,24 +37,17 @@
#include "XYCurve.h"
#include "XYCurvePrivate.h"
#include "backend/core/column/Column.h"
-#include "backend/worksheet/plots/AbstractCoordinateSystem.h"
#include "backend/worksheet/plots/cartesian/CartesianCoordinateSystem.h"
#include "backend/worksheet/plots/cartesian/CartesianPlot.h"
#include "backend/lib/commandtemplates.h"
#include "backend/worksheet/Worksheet.h"
#include "backend/lib/XmlStreamReader.h"
-#include <QGraphicsDropShadowEffect>
-#include <QGraphicsItem>
-#include <QGraphicsItemGroup>
-#include <QGraphicsPathItem>
-#include <QGraphicsEllipseItem>
-#include <QPainterPath>
#include <QPainter>
#include <QGraphicsSceneContextMenuEvent>
#include <QMenu>
#include <QtDebug>
-#include <QElapsedTimer>
+// #include <QElapsedTimer>
#include <KIcon>
#include <KConfigGroup>
@@ -65,13 +58,11 @@
#include <math.h>
#include <vector>
-XYCurve::XYCurve(const QString &name)
- : WorksheetElement(name), d_ptr(new XYCurvePrivate(this)){
+XYCurve::XYCurve(const QString &name) : WorksheetElement(name), d_ptr(new \
XYCurvePrivate(this)) { init();
}
-XYCurve::XYCurve(const QString &name, XYCurvePrivate *dd)
- : WorksheetElement(name), d_ptr(dd){
+XYCurve::XYCurve(const QString& name, XYCurvePrivate* dd) : WorksheetElement(name), \
d_ptr(dd) { init();
}
@@ -80,7 +71,7 @@ XYCurve::~XYCurve() {
//and is deleted during the cleanup in QGraphicsScene
}
-void XYCurve::init(){
+void XYCurve::init() {
Q_D(XYCurve);
KConfig config;
@@ -107,10 +98,10 @@ void XYCurve::init(){
d->symbolsSize = group.readEntry("SymbolSize", Worksheet::convertToSceneUnits(5, \
Worksheet::Point)); d->symbolsRotationAngle = group.readEntry("SymbolRotation", \
0.0); d->symbolsOpacity = group.readEntry("SymbolOpacity", 1.0);
- d->symbolsBrush.setStyle( (Qt::BrushStyle)group.readEntry("SymbolFillingStyle", \
(int)Qt::NoBrush) );
- d->symbolsBrush.setColor( group.readEntry("SymbolFillingColor", \
QColor(Qt::black)) );
- d->symbolsPen.setStyle( (Qt::PenStyle)group.readEntry("SymbolBorderStyle", \
(int)Qt::SolidLine) );
- d->symbolsPen.setColor( group.readEntry("SymbolBorderColor", QColor(Qt::black)) \
); + d->symbolsBrush.setStyle( (Qt::BrushStyle)group.readEntry("SymbolFillingStyle", \
(int)Qt::NoBrush) ); + d->symbolsBrush.setColor( \
group.readEntry("SymbolFillingColor", QColor(Qt::black)) ); + d->symbolsPen.setStyle( \
(Qt::PenStyle)group.readEntry("SymbolBorderStyle", (int)Qt::SolidLine) ); \
+ d->symbolsPen.setColor( group.readEntry("SymbolBorderColor", QColor(Qt::black)) ); \
d->symbolsPen.setWidthF( group.readEntry("SymbolBorderWidth", \
Worksheet::convertToSceneUnits(0.0, Worksheet::Point)) );
d->valuesType = (XYCurve::ValuesType) group.readEntry("ValuesType", \
(int)XYCurve::NoValues); @@ -151,13 +142,13 @@ void XYCurve::init(){
this->initActions();
}
-void XYCurve::initActions(){
+void XYCurve::initActions() {
visibilityAction = new QAction(i18n("visible"), this);
visibilityAction->setCheckable(true);
connect(visibilityAction, SIGNAL(triggered()), this, SLOT(visibilityChanged()));
}
-QMenu* XYCurve::createContextMenu(){
+QMenu* XYCurve::createContextMenu() {
QMenu *menu = WorksheetElement::createContextMenu();
QAction* firstAction = menu->actions().at(1); //skip the first action because of \
the "title-action" visibilityAction->setChecked(isVisible());
@@ -168,21 +159,21 @@ QMenu* XYCurve::createContextMenu(){
/*!
Returns an icon to be used in the project explorer.
*/
-QIcon XYCurve::icon() const{
+QIcon XYCurve::icon() const {
return KIcon("labplot-xy-curve");
}
-QGraphicsItem* XYCurve::graphicsItem() const{
+QGraphicsItem* XYCurve::graphicsItem() const {
return d_ptr;
}
STD_SWAP_METHOD_SETTER_CMD_IMPL(XYCurve, SetVisible, bool, swapVisible)
-void XYCurve::setVisible(bool on){
+void XYCurve::setVisible(bool on) {
Q_D(XYCurve);
exec(new XYCurveSetVisibleCmd(d, on, on ? i18n("%1: set visible") : i18n("%1: set \
invisible"))); }
-bool XYCurve::isVisible() const{
+bool XYCurve::isVisible() const {
Q_D(const XYCurve);
return d->isVisible();
}
@@ -197,8 +188,12 @@ void XYCurve::setPrinting(bool on) {
//##############################################################################
BASIC_SHARED_D_READER_IMPL(XYCurve, const AbstractColumn*, xColumn, xColumn)
BASIC_SHARED_D_READER_IMPL(XYCurve, const AbstractColumn*, yColumn, yColumn)
-QString& XYCurve::xColumnPath() const { return d_ptr->xColumnPath; }
-QString& XYCurve::yColumnPath() const { return d_ptr->yColumnPath; }
+QString& XYCurve::xColumnPath() const {
+ return d_ptr->xColumnPath;
+}
+QString& XYCurve::yColumnPath() const {
+ return d_ptr->yColumnPath;
+}
//line
BASIC_SHARED_D_READER_IMPL(XYCurve, XYCurve::LineType, lineType, lineType)
@@ -223,7 +218,9 @@ CLASS_SHARED_D_READER_IMPL(XYCurve, QPen, symbolsPen, symbolsPen)
//values
BASIC_SHARED_D_READER_IMPL(XYCurve, XYCurve::ValuesType, valuesType, valuesType)
BASIC_SHARED_D_READER_IMPL(XYCurve, const AbstractColumn *, valuesColumn, \
valuesColumn)
-QString& XYCurve::valuesColumnPath() const { return d_ptr->valuesColumnPath; }
+QString& XYCurve::valuesColumnPath() const {
+ return d_ptr->valuesColumnPath;
+}
BASIC_SHARED_D_READER_IMPL(XYCurve, XYCurve::ValuesPosition, valuesPosition, \
valuesPosition) BASIC_SHARED_D_READER_IMPL(XYCurve, qreal, valuesDistance, \
valuesDistance) BASIC_SHARED_D_READER_IMPL(XYCurve, qreal, valuesRotationAngle, \
valuesRotationAngle) @@ -247,15 +244,23 @@ BASIC_SHARED_D_READER_IMPL(XYCurve, qreal, \
fillingOpacity, fillingOpacity) //error bars
BASIC_SHARED_D_READER_IMPL(XYCurve, XYCurve::ErrorType, xErrorType, xErrorType)
BASIC_SHARED_D_READER_IMPL(XYCurve, const AbstractColumn*, xErrorPlusColumn, \
xErrorPlusColumn)
-QString& XYCurve::xErrorPlusColumnPath() const { return d_ptr->xErrorPlusColumnPath; \
} +QString& XYCurve::xErrorPlusColumnPath() const {
+ return d_ptr->xErrorPlusColumnPath;
+}
BASIC_SHARED_D_READER_IMPL(XYCurve, const AbstractColumn*, xErrorMinusColumn, \
xErrorMinusColumn)
-QString& XYCurve::xErrorMinusColumnPath() const { return \
d_ptr->xErrorMinusColumnPath; } +QString& XYCurve::xErrorMinusColumnPath() const {
+ return d_ptr->xErrorMinusColumnPath;
+}
BASIC_SHARED_D_READER_IMPL(XYCurve, XYCurve::ErrorType, yErrorType, yErrorType)
BASIC_SHARED_D_READER_IMPL(XYCurve, const AbstractColumn*, yErrorPlusColumn, \
yErrorPlusColumn)
-QString& XYCurve::yErrorPlusColumnPath() const { return d_ptr->yErrorPlusColumnPath; \
} +QString& XYCurve::yErrorPlusColumnPath() const {
+ return d_ptr->yErrorPlusColumnPath;
+}
BASIC_SHARED_D_READER_IMPL(XYCurve, const AbstractColumn*, yErrorMinusColumn, \
yErrorMinusColumn)
-QString& XYCurve::yErrorMinusColumnPath() const { return \
d_ptr->yErrorMinusColumnPath; } +QString& XYCurve::yErrorMinusColumnPath() const {
+ return d_ptr->yErrorMinusColumnPath;
+}
BASIC_SHARED_D_READER_IMPL(XYCurve, XYCurve::ErrorBarsType, errorBarsType, \
errorBarsType) BASIC_SHARED_D_READER_IMPL(XYCurve, qreal, errorBarsCapSize, \
errorBarsCapSize) @@ -279,7 +284,7 @@ void XYCurve::setXColumn(const AbstractColumn* \
column) { //update the curve itself on changes
connect(column, SIGNAL(dataChanged(const AbstractColumn*)), this, \
SLOT(retransform())); connect(column->parentAspect(), \
SIGNAL(aspectAboutToBeRemoved(const AbstractAspect*)),
- this, SLOT(xColumnAboutToBeRemoved(const AbstractAspect*)));
+ this, SLOT(xColumnAboutToBeRemoved(const AbstractAspect*)));
//TODO: add disconnect in the undo-function
}
}
@@ -299,7 +304,7 @@ void XYCurve::setYColumn(const AbstractColumn* column) {
//update the curve itself on changes
connect(column, SIGNAL(dataChanged(const AbstractColumn*)), this, \
SLOT(retransform())); connect(column->parentAspect(), \
SIGNAL(aspectAboutToBeRemoved(const AbstractAspect*)),
- this, SLOT(yColumnAboutToBeRemoved(const AbstractAspect*)));
+ this, SLOT(yColumnAboutToBeRemoved(const AbstractAspect*)));
//TODO: add disconnect in the undo-function
}
}
@@ -422,7 +427,7 @@ void XYCurve::setValuesColumn(const AbstractColumn* column) {
if (column) {
connect(column, SIGNAL(dataChanged(const AbstractColumn*)), this, \
SLOT(updateValues())); connect(column->parentAspect(), \
SIGNAL(aspectAboutToBeRemoved(const AbstractAspect*)),
- this, SLOT(valuesColumnAboutToBeRemoved(const AbstractAspect*)));
+ this, SLOT(valuesColumnAboutToBeRemoved(const AbstractAspect*)));
}
}
}
@@ -565,7 +570,7 @@ void XYCurve::setXErrorPlusColumn(const AbstractColumn* column) {
if (column) {
connect(column, SIGNAL(dataChanged(const AbstractColumn*)), this, \
SLOT(updateErrorBars())); connect(column->parentAspect(), \
SIGNAL(aspectAboutToBeRemoved(const AbstractAspect*)),
- this, SLOT(xErrorPlusColumnAboutToBeRemoved(const AbstractAspect*)));
+ this, SLOT(xErrorPlusColumnAboutToBeRemoved(const AbstractAspect*)));
}
}
}
@@ -578,7 +583,7 @@ void XYCurve::setXErrorMinusColumn(const AbstractColumn* column) \
{ if (column) {
connect(column, SIGNAL(dataChanged(const AbstractColumn*)), this, \
SLOT(updateErrorBars())); connect(column->parentAspect(), \
SIGNAL(aspectAboutToBeRemoved(const AbstractAspect*)),
- this, SLOT(xErrorMinusColumnAboutToBeRemoved(const AbstractAspect*)));
+ this, SLOT(xErrorMinusColumnAboutToBeRemoved(const AbstractAspect*)));
}
}
}
@@ -598,7 +603,7 @@ void XYCurve::setYErrorPlusColumn(const AbstractColumn* column) {
if (column) {
connect(column, SIGNAL(dataChanged(const AbstractColumn*)), this, \
SLOT(updateErrorBars())); connect(column->parentAspect(), \
SIGNAL(aspectAboutToBeRemoved(const AbstractAspect*)),
- this, SLOT(yErrorPlusColumnAboutToBeRemoved(const AbstractAspect*)));
+ this, SLOT(yErrorPlusColumnAboutToBeRemoved(const AbstractAspect*)));
}
}
}
@@ -611,7 +616,7 @@ void XYCurve::setYErrorMinusColumn(const AbstractColumn* column) \
{ if (column) {
connect(column, SIGNAL(dataChanged(const AbstractColumn*)), this, \
SLOT(updateErrorBars())); connect(column->parentAspect(), \
SIGNAL(aspectAboutToBeRemoved(const AbstractAspect*)),
- this, SLOT(yErrorMinusColumnAboutToBeRemoved(const AbstractAspect*)));
+ this, SLOT(yErrorMinusColumnAboutToBeRemoved(const AbstractAspect*)));
}
}
}
@@ -668,7 +673,7 @@ void XYCurve::updateErrorBars() {
}
//TODO
-void XYCurve::handlePageResize(double horizontalRatio, double verticalRatio){
+void XYCurve::handlePageResize(double horizontalRatio, double verticalRatio) {
Q_D(const XYCurve);
setSymbolsSize(d->symbolsSize * horizontalRatio);
@@ -777,11 +782,11 @@ QPainterPath XYCurvePrivate::shape() const {
return curveShape;
}
-void XYCurvePrivate::contextMenuEvent(QGraphicsSceneContextMenuEvent* event){
- q->createContextMenu()->exec(event->screenPos());
+void XYCurvePrivate::contextMenuEvent(QGraphicsSceneContextMenuEvent* event) {
+ q->createContextMenu()->exec(event->screenPos());
}
-bool XYCurvePrivate::swapVisible(bool on){
+bool XYCurvePrivate::swapVisible(bool on) {
bool oldValue = isVisible();
setVisible(on);
emit q->visibilityChanged(on);
@@ -792,8 +797,8 @@ bool XYCurvePrivate::swapVisible(bool on){
recalculates the position of the points to be drawn. Called when the data was \
changed. Triggers the update of lines, drop lines, symbols etc.
*/
-void XYCurvePrivate::retransform(){
- if (m_suppressRetransform){
+void XYCurvePrivate::retransform() {
+ if (m_suppressRetransform) {
return;
}
@@ -802,7 +807,7 @@ void XYCurvePrivate::retransform(){
symbolPointsScene.clear();
connectedPointsLogical.clear();
- if ( (NULL == xColumn) || (NULL == yColumn) ){
+ if ( (NULL == xColumn) || (NULL == yColumn) ) {
linePath = QPainterPath();
dropLinePath = QPainterPath();
symbolsPath = QPainterPath();
@@ -820,34 +825,34 @@ void XYCurvePrivate::retransform(){
AbstractColumn::ColumnMode yColMode = yColumn->columnMode();
//take over only valid and non masked points.
- for (int row = startRow; row <= endRow; row++ ){
+ for (int row = startRow; row <= endRow; row++ ) {
if ( xColumn->isValid(row) && yColumn->isValid(row)
- && (!xColumn->isMasked(row)) && (!yColumn->isMasked(row)) ) {
+ && (!xColumn->isMasked(row)) && (!yColumn->isMasked(row)) ) {
switch(xColMode) {
- case AbstractColumn::Numeric:
- tempPoint.setX(xColumn->valueAt(row));
- break;
- case AbstractColumn::Text:
- //TODO
- case AbstractColumn::DateTime:
- case AbstractColumn::Month:
- case AbstractColumn::Day:
- //TODO
- break;
+ case AbstractColumn::Numeric:
+ tempPoint.setX(xColumn->valueAt(row));
+ break;
+ case AbstractColumn::Text:
+ //TODO
+ case AbstractColumn::DateTime:
+ case AbstractColumn::Month:
+ case AbstractColumn::Day:
+ //TODO
+ break;
}
switch(yColMode) {
- case AbstractColumn::Numeric:
- tempPoint.setY(yColumn->valueAt(row));
- break;
- case AbstractColumn::Text:
- //TODO
- case AbstractColumn::DateTime:
- case AbstractColumn::Month:
- case AbstractColumn::Day:
- //TODO
- break;
+ case AbstractColumn::Numeric:
+ tempPoint.setY(yColumn->valueAt(row));
+ break;
+ case AbstractColumn::Text:
+ //TODO
+ case AbstractColumn::DateTime:
+ case AbstractColumn::Month:
+ case AbstractColumn::Day:
+ //TODO
+ break;
}
symbolPointsLogical.append(tempPoint);
connectedPointsLogical.push_back(true);
@@ -880,133 +885,139 @@ void XYCurvePrivate::retransform(){
recalculates the painter path for the lines connecting the data points.
Called each time when the type of this connection is changed.
*/
-void XYCurvePrivate::updateLines(){
- linePath = QPainterPath();
+void XYCurvePrivate::updateLines() {
+ linePath = QPainterPath();
lines.clear();
- if (lineType == XYCurve::NoLine){
- updateFilling();
- recalcShapeAndBoundingRect();
- return;
+ if (lineType == XYCurve::NoLine) {
+ updateFilling();
+ recalcShapeAndBoundingRect();
+ return;
}
const int count=symbolPointsLogical.count();
//nothing to do, if no data points available
- if (count<=1){
- recalcShapeAndBoundingRect();
+ if (count<=1) {
+ recalcShapeAndBoundingRect();
return;
}
//calculate the lines connecting the data points
QPointF tempPoint1, tempPoint2;
QPointF curPoint, nextPoint;
- switch(lineType){
- case XYCurve::NoLine:
+ switch(lineType) {
+ case XYCurve::NoLine:
break;
- case XYCurve::Line:{
- for (int i=0; i<count-1; i++){
- if (!lineSkipGaps && !connectedPointsLogical[i]) continue;
- lines.append(QLineF(symbolPointsLogical.at(i), symbolPointsLogical.at(i+1)));
+ case XYCurve::Line: {
+ for (int i=0; i<count-1; i++) {
+ if (!lineSkipGaps && !connectedPointsLogical[i]) continue;
+ lines.append(QLineF(symbolPointsLogical.at(i), symbolPointsLogical.at(i+1)));
}
break;
- }
- case XYCurve::StartHorizontal:{
- for (int i=0; i<count-1; i++){
- if (!lineSkipGaps && !connectedPointsLogical[i]) continue;
- curPoint=symbolPointsLogical.at(i);
- nextPoint=symbolPointsLogical.at(i+1);
- tempPoint1=QPointF(nextPoint.x(), curPoint.y());
- lines.append(QLineF(curPoint, tempPoint1));
- lines.append(QLineF(tempPoint1, nextPoint));
+ }
+ case XYCurve::StartHorizontal: {
+ for (int i=0; i<count-1; i++) {
+ if (!lineSkipGaps && !connectedPointsLogical[i]) continue;
+ curPoint=symbolPointsLogical.at(i);
+ nextPoint=symbolPointsLogical.at(i+1);
+ tempPoint1=QPointF(nextPoint.x(), curPoint.y());
+ lines.append(QLineF(curPoint, tempPoint1));
+ lines.append(QLineF(tempPoint1, nextPoint));
}
break;
- }
- case XYCurve::StartVertical:{
- for (int i=0; i<count-1; i++){
- if (!lineSkipGaps && !connectedPointsLogical[i]) continue;
- curPoint=symbolPointsLogical.at(i);
- nextPoint=symbolPointsLogical.at(i+1);
- tempPoint1=QPointF(curPoint.x(), nextPoint.y());
- lines.append(QLineF(curPoint, tempPoint1));
- lines.append(QLineF(tempPoint1,nextPoint));
+ }
+ case XYCurve::StartVertical: {
+ for (int i=0; i<count-1; i++) {
+ if (!lineSkipGaps && !connectedPointsLogical[i]) continue;
+ curPoint=symbolPointsLogical.at(i);
+ nextPoint=symbolPointsLogical.at(i+1);
+ tempPoint1=QPointF(curPoint.x(), nextPoint.y());
+ lines.append(QLineF(curPoint, tempPoint1));
+ lines.append(QLineF(tempPoint1,nextPoint));
}
break;
- }
- case XYCurve::MidpointHorizontal:{
- for (int i=0; i<count-1; i++){
- if (!lineSkipGaps && !connectedPointsLogical[i]) continue;
- curPoint=symbolPointsLogical.at(i);
- nextPoint=symbolPointsLogical.at(i+1);
- tempPoint1=QPointF(curPoint.x() + (nextPoint.x()-curPoint.x())/2, curPoint.y());
- tempPoint2=QPointF(curPoint.x() + (nextPoint.x()-curPoint.x())/2, \
nextPoint.y());
- lines.append(QLineF(curPoint, tempPoint1));
- lines.append(QLineF(tempPoint1, tempPoint2));
- lines.append(QLineF(tempPoint2, nextPoint));
+ }
+ case XYCurve::MidpointHorizontal: {
+ for (int i=0; i<count-1; i++) {
+ if (!lineSkipGaps && !connectedPointsLogical[i]) continue;
+ curPoint=symbolPointsLogical.at(i);
+ nextPoint=symbolPointsLogical.at(i+1);
+ tempPoint1=QPointF(curPoint.x() + (nextPoint.x()-curPoint.x())/2, curPoint.y());
+ tempPoint2=QPointF(curPoint.x() + (nextPoint.x()-curPoint.x())/2, nextPoint.y());
+ lines.append(QLineF(curPoint, tempPoint1));
+ lines.append(QLineF(tempPoint1, tempPoint2));
+ lines.append(QLineF(tempPoint2, nextPoint));
}
break;
- }
- case XYCurve::MidpointVertical:{
- for (int i=0; i<count-1; i++){
- if (!lineSkipGaps && !connectedPointsLogical[i]) continue;
- curPoint=symbolPointsLogical.at(i);
- nextPoint=symbolPointsLogical.at(i+1);
- tempPoint1=QPointF(curPoint.x(), curPoint.y() + (nextPoint.y()-curPoint.y())/2);
- tempPoint2=QPointF(nextPoint.x(), curPoint.y() + \
(nextPoint.y()-curPoint.y())/2);
- lines.append(QLineF(curPoint, tempPoint1));
- lines.append(QLineF(tempPoint1, tempPoint2));
- lines.append(QLineF(tempPoint2, nextPoint));
+ }
+ case XYCurve::MidpointVertical: {
+ for (int i=0; i<count-1; i++) {
+ if (!lineSkipGaps && !connectedPointsLogical[i]) continue;
+ curPoint=symbolPointsLogical.at(i);
+ nextPoint=symbolPointsLogical.at(i+1);
+ tempPoint1=QPointF(curPoint.x(), curPoint.y() + (nextPoint.y()-curPoint.y())/2);
+ tempPoint2=QPointF(nextPoint.x(), curPoint.y() + (nextPoint.y()-curPoint.y())/2);
+ lines.append(QLineF(curPoint, tempPoint1));
+ lines.append(QLineF(tempPoint1, tempPoint2));
+ lines.append(QLineF(tempPoint2, nextPoint));
}
break;
- }
- case XYCurve::Segments2:{
+ }
+ case XYCurve::Segments2: {
int skip=0;
- for (int i=0; i<count-1; i++){
- if (skip!=1){
- if (!lineSkipGaps && !connectedPointsLogical[i]) {skip=0; continue;}
- lines.append(QLineF(symbolPointsLogical.at(i), symbolPointsLogical.at(i+1)));
- skip++;
- }else{
- skip=0;
- }
+ for (int i=0; i<count-1; i++) {
+ if (skip!=1) {
+ if (!lineSkipGaps && !connectedPointsLogical[i]) {
+ skip=0;
+ continue;
+ }
+ lines.append(QLineF(symbolPointsLogical.at(i), symbolPointsLogical.at(i+1)));
+ skip++;
+ } else {
+ skip=0;
+ }
}
break;
- }
- case XYCurve::Segments3:{
+ }
+ case XYCurve::Segments3: {
int skip=0;
- for (int i=0; i<count-1; i++){
- if (skip!=2){
- if (!lineSkipGaps && !connectedPointsLogical[i]) {skip=0; continue;}
- lines.append(QLineF(symbolPointsLogical.at(i), symbolPointsLogical.at(i+1)));
- skip++;
- }else{
- skip=0;
- }
+ for (int i=0; i<count-1; i++) {
+ if (skip!=2) {
+ if (!lineSkipGaps && !connectedPointsLogical[i]) {
+ skip=0;
+ continue;
+ }
+ lines.append(QLineF(symbolPointsLogical.at(i), symbolPointsLogical.at(i+1)));
+ skip++;
+ } else {
+ skip=0;
+ }
}
break;
- }
- case XYCurve::SplineCubicNatural:
- case XYCurve::SplineCubicPeriodic:
- case XYCurve::SplineAkimaNatural:
- case XYCurve::SplineAkimaPeriodic:{
+ }
+ case XYCurve::SplineCubicNatural:
+ case XYCurve::SplineCubicPeriodic:
+ case XYCurve::SplineAkimaNatural:
+ case XYCurve::SplineAkimaPeriodic: {
//TODO: optimize! try to omit the copying from the column to the arrays of \
doubles. //TODO: forward the error message to the UI.
gsl_interp_accel *acc = gsl_interp_accel_alloc();
gsl_spline *spline=0;
double x[count], y[count];
- for (int i=0; i<count; i++){
- x[i]=symbolPointsLogical.at(i).x();
- y[i]=symbolPointsLogical.at(i).y();
+ for (int i=0; i<count; i++) {
+ x[i]=symbolPointsLogical.at(i).x();
+ y[i]=symbolPointsLogical.at(i).y();
}
gsl_set_error_handler_off();
- if (lineType==XYCurve::SplineCubicNatural){
+ if (lineType==XYCurve::SplineCubicNatural) {
spline = gsl_spline_alloc(gsl_interp_cspline, count);
- }else if (lineType==XYCurve::SplineCubicPeriodic){
+ } else if (lineType==XYCurve::SplineCubicPeriodic) {
spline = gsl_spline_alloc(gsl_interp_cspline_periodic, count);
- }else if (lineType==XYCurve::SplineAkimaNatural){
+ } else if (lineType==XYCurve::SplineAkimaNatural) {
spline = gsl_spline_alloc(gsl_interp_akima, count);
- }else if (lineType==XYCurve::SplineAkimaPeriodic){
+ } else if (lineType==XYCurve::SplineAkimaPeriodic) {
spline = gsl_spline_alloc(gsl_interp_akima_periodic, count);
}
@@ -1040,28 +1051,28 @@ void XYCurvePrivate::updateLines(){
std::vector<double> xinterp, yinterp;
double step;
double xi, yi, x1, x2;
- for (int i=0; i<count-1; i++){
- x1 = x[i];
- x2 = x[i+1];
- step=fabs(x2-x1)/(lineInterpolationPointsCount+1);
-
- for (xi=x1; xi<x2; xi += step){
- yi = gsl_spline_eval (spline, xi, acc);
- xinterp.push_back(xi);
- yinterp.push_back(yi);
- }
+ for (int i=0; i<count-1; i++) {
+ x1 = x[i];
+ x2 = x[i+1];
+ step=fabs(x2-x1)/(lineInterpolationPointsCount+1);
+
+ for (xi=x1; xi<x2; xi += step) {
+ yi = gsl_spline_eval (spline, xi, acc);
+ xinterp.push_back(xi);
+ yinterp.push_back(yi);
+ }
}
- for (unsigned int i=0; i<xinterp.size()-1; i++){
- lines.append(QLineF(xinterp[i], yinterp[i], xinterp[i+1], yinterp[i+1]));
+ for (unsigned int i=0; i<xinterp.size()-1; i++) {
+ lines.append(QLineF(xinterp[i], yinterp[i], xinterp[i+1], yinterp[i+1]));
}
lines.append(QLineF(xinterp[xinterp.size()-1], yinterp[yinterp.size()-1], \
x[count-1], y[count-1]));
gsl_spline_free (spline);
- gsl_interp_accel_free (acc);
+ gsl_interp_accel_free (acc);
break;
- }
- default:
+ }
+ default:
break;
}
@@ -1071,7 +1082,7 @@ void XYCurvePrivate::updateLines(){
lines = cSystem->mapLogicalToScene(lines);
//new line path
- foreach (const QLineF& line, lines){
+ foreach (const QLineF& line, lines) {
linePath.moveTo(line.p1());
linePath.lineTo(line.p2());
}
@@ -1084,11 +1095,11 @@ void XYCurvePrivate::updateLines(){
recalculates the painter path for the drop lines.
Called each time when the type of the drop lines is changed.
*/
-void XYCurvePrivate::updateDropLines(){
- dropLinePath = QPainterPath();
- if (dropLineType == XYCurve::NoDropLine){
- recalcShapeAndBoundingRect();
- return;
+void XYCurvePrivate::updateDropLines() {
+ dropLinePath = QPainterPath();
+ if (dropLineType == XYCurve::NoDropLine) {
+ recalcShapeAndBoundingRect();
+ return;
}
//calculate drop lines
@@ -1099,59 +1110,59 @@ void XYCurvePrivate::updateDropLines(){
xMin = plot->xMin();
yMin = plot->yMin();
- switch(dropLineType){
- case XYCurve::NoDropLine:
+ switch(dropLineType) {
+ case XYCurve::NoDropLine:
break;
- case XYCurve::DropLineX:{
- for(int i=0; i<symbolPointsLogical.size(); ++i){
+ case XYCurve::DropLineX: {
+ for(int i=0; i<symbolPointsLogical.size(); ++i) {
if (!visiblePoints[i]) continue;
const QPointF& point = symbolPointsLogical.at(i);
lines.append(QLineF(point, QPointF(point.x(), yMin)));
}
break;
- }
- case XYCurve::DropLineY:{
- for(int i=0; i<symbolPointsLogical.size(); ++i){
+ }
+ case XYCurve::DropLineY: {
+ for(int i=0; i<symbolPointsLogical.size(); ++i) {
if (!visiblePoints[i]) continue;
const QPointF& point = symbolPointsLogical.at(i);
lines.append(QLineF(point, QPointF(xMin, point.y())));
}
break;
- }
- case XYCurve::DropLineXY:{
- for(int i=0; i<symbolPointsLogical.size(); ++i){
+ }
+ case XYCurve::DropLineXY: {
+ for(int i=0; i<symbolPointsLogical.size(); ++i) {
if (!visiblePoints[i]) continue;
const QPointF& point = symbolPointsLogical.at(i);
lines.append(QLineF(point, QPointF(point.x(), yMin)));
lines.append(QLineF(point, QPointF(xMin, point.y())));
}
break;
- }
- case XYCurve::DropLineXZeroBaseline:{
- for(int i=0; i<symbolPointsLogical.size(); ++i){
+ }
+ case XYCurve::DropLineXZeroBaseline: {
+ for(int i=0; i<symbolPointsLogical.size(); ++i) {
if (!visiblePoints[i]) continue;
const QPointF& point = symbolPointsLogical.at(i);
lines.append(QLineF(point, QPointF(point.x(), 0)));
}
break;
- }
- case XYCurve::DropLineXMinBaseline:{
- for(int i=0; i<symbolPointsLogical.size(); ++i){
+ }
+ case XYCurve::DropLineXMinBaseline: {
+ for(int i=0; i<symbolPointsLogical.size(); ++i) {
if (!visiblePoints[i]) continue;
const QPointF& point = symbolPointsLogical.at(i);
lines.append( QLineF(point, QPointF(point.x(), dynamic_cast<const \
Column*>(yColumn)->minimum())) ); }
break;
- }
- case XYCurve::DropLineXMaxBaseline:{
- for(int i=0; i<symbolPointsLogical.size(); ++i){
+ }
+ case XYCurve::DropLineXMaxBaseline: {
+ for(int i=0; i<symbolPointsLogical.size(); ++i) {
if (!visiblePoints[i]) continue;
const QPointF& point = symbolPointsLogical.at(i);
lines.append( QLineF(point, QPointF(point.x(), dynamic_cast<const \
Column*>(yColumn)->maximum())) ); }
break;
- }
- default:
+ }
+ default:
break;
}
@@ -1160,7 +1171,7 @@ void XYCurvePrivate::updateDropLines(){
lines = cSystem->mapLogicalToScene(lines);
//new painter path for the drop lines
- foreach (const QLineF& line, lines){
+ foreach (const QLineF& line, lines) {
dropLinePath.moveTo(line.p1());
dropLinePath.lineTo(line.p2());
}
@@ -1168,9 +1179,9 @@ void XYCurvePrivate::updateDropLines(){
recalcShapeAndBoundingRect();
}
-void XYCurvePrivate::updateSymbols(){
+void XYCurvePrivate::updateSymbols() {
symbolsPath = QPainterPath();
- if (symbolsStyle != Symbol::NoSymbols){
+ if (symbolsStyle != Symbol::NoSymbols) {
QPainterPath path = Symbol::pathFromStyle(symbolsStyle);
QTransform trafo;
@@ -1196,53 +1207,53 @@ void XYCurvePrivate::updateSymbols(){
/*!
recreates the value strings to be shown and recalculates their draw position.
*/
-void XYCurvePrivate::updateValues(){
- valuesPath = QPainterPath();
+void XYCurvePrivate::updateValues() {
+ valuesPath = QPainterPath();
valuesPoints.clear();
valuesStrings.clear();
- if (valuesType == XYCurve::NoValues){
+ if (valuesType == XYCurve::NoValues) {
recalcShapeAndBoundingRect();
return;
}
//determine the value string for all points that are currently visible in the plot
- switch (valuesType){
- case XYCurve::NoValues:
- case XYCurve::ValuesX:{
- for(int i=0; i<symbolPointsLogical.size(); ++i){
+ switch (valuesType) {
+ case XYCurve::NoValues:
+ case XYCurve::ValuesX: {
+ for(int i=0; i<symbolPointsLogical.size(); ++i) {
if (!visiblePoints[i]) continue;
- valuesStrings << valuesPrefix + QString::number(symbolPointsLogical.at(i).x()) + \
valuesSuffix; + valuesStrings << valuesPrefix + \
QString::number(symbolPointsLogical.at(i).x()) + valuesSuffix; }
- break;
- }
- case XYCurve::ValuesY:{
- for(int i=0; i<symbolPointsLogical.size(); ++i){
+ break;
+ }
+ case XYCurve::ValuesY: {
+ for(int i=0; i<symbolPointsLogical.size(); ++i) {
if (!visiblePoints[i]) continue;
- valuesStrings << valuesPrefix + QString::number(symbolPointsLogical.at(i).y()) + \
valuesSuffix; + valuesStrings << valuesPrefix + \
QString::number(symbolPointsLogical.at(i).y()) + valuesSuffix; }
break;
- }
- case XYCurve::ValuesXY:{
- for(int i=0; i<symbolPointsLogical.size(); ++i){
+ }
+ case XYCurve::ValuesXY: {
+ for(int i=0; i<symbolPointsLogical.size(); ++i) {
if (!visiblePoints[i]) continue;
valuesStrings << valuesPrefix + QString::number(symbolPointsLogical.at(i).x()) + \
','
- + QString::number(symbolPointsLogical.at(i).y()) + valuesSuffix;
+ + QString::number(symbolPointsLogical.at(i).y()) + valuesSuffix;
}
break;
- }
- case XYCurve::ValuesXYBracketed:{
- for(int i=0; i<symbolPointsLogical.size(); ++i){
+ }
+ case XYCurve::ValuesXYBracketed: {
+ for(int i=0; i<symbolPointsLogical.size(); ++i) {
if (!visiblePoints[i]) continue;
valuesStrings << valuesPrefix + '(' + \
QString::number(symbolPointsLogical.at(i).x()) + ','
- + QString::number(symbolPointsLogical.at(i).y()) +')' + valuesSuffix;
+ + QString::number(symbolPointsLogical.at(i).y()) +')' + \
valuesSuffix; }
break;
- }
- case XYCurve::ValuesCustomColumn:{
- if (!valuesColumn){
- recalcShapeAndBoundingRect();
- return;
+ }
+ case XYCurve::ValuesCustomColumn: {
+ if (!valuesColumn) {
+ recalcShapeAndBoundingRect();
+ return;
}
int endRow;
@@ -1252,26 +1263,26 @@ void XYCurvePrivate::updateValues(){
endRow = symbolPointsLogical.size();
AbstractColumn::ColumnMode xColMode = valuesColumn->columnMode();
- for (int i=0; i<endRow; ++i){
+ for (int i=0; i<endRow; ++i) {
if (!visiblePoints[i]) continue;
if ( !valuesColumn->isValid(i) || valuesColumn->isMasked(i) )
continue;
- switch (xColMode){
- case AbstractColumn::Numeric:
- valuesStrings << valuesPrefix + QString::number(valuesColumn->valueAt(i)) + \
valuesSuffix;
- break;
- case AbstractColumn::Text:
- valuesStrings << valuesPrefix + valuesColumn->textAt(i) + valuesSuffix;
- case AbstractColumn::DateTime:
- case AbstractColumn::Month:
- case AbstractColumn::Day:
- //TODO
- break;
+ switch (xColMode) {
+ case AbstractColumn::Numeric:
+ valuesStrings << valuesPrefix + QString::number(valuesColumn->valueAt(i)) + \
valuesSuffix; + break;
+ case AbstractColumn::Text:
+ valuesStrings << valuesPrefix + valuesColumn->textAt(i) + valuesSuffix;
+ case AbstractColumn::DateTime:
+ case AbstractColumn::Month:
+ case AbstractColumn::Day:
+ //TODO
+ break;
}
}
- }
+ }
}
//Calculate the coordinates where to paint the value strings.
@@ -1281,48 +1292,48 @@ void XYCurvePrivate::updateValues(){
qreal w;
qreal h=fm.ascent();
- switch(valuesPosition){
- case XYCurve::ValuesAbove:{
- for (int i=0; i<valuesStrings.size(); i++){
- w=fm.width(valuesStrings.at(i));
- tempPoint.setX( symbolPointsScene.at(i).x() - w/2);
- tempPoint.setY( symbolPointsScene.at(i).y() - valuesDistance );
- valuesPoints.append(tempPoint);
- }
- break;
+ switch(valuesPosition) {
+ case XYCurve::ValuesAbove: {
+ for (int i=0; i<valuesStrings.size(); i++) {
+ w=fm.width(valuesStrings.at(i));
+ tempPoint.setX( symbolPointsScene.at(i).x() - w/2);
+ tempPoint.setY( symbolPointsScene.at(i).y() - valuesDistance );
+ valuesPoints.append(tempPoint);
}
- case XYCurve::ValuesUnder:{
- for (int i=0; i<valuesStrings.size(); i++){
- w=fm.width(valuesStrings.at(i));
- tempPoint.setX( symbolPointsScene.at(i).x() -w/2 );
- tempPoint.setY( symbolPointsScene.at(i).y() + valuesDistance + h/2);
- valuesPoints.append(tempPoint);
+ break;
+ }
+ case XYCurve::ValuesUnder: {
+ for (int i=0; i<valuesStrings.size(); i++) {
+ w=fm.width(valuesStrings.at(i));
+ tempPoint.setX( symbolPointsScene.at(i).x() -w/2 );
+ tempPoint.setY( symbolPointsScene.at(i).y() + valuesDistance + h/2);
+ valuesPoints.append(tempPoint);
}
break;
- }
- case XYCurve::ValuesLeft:{
- for (int i=0; i<valuesStrings.size(); i++){
- w=fm.width(valuesStrings.at(i));
- tempPoint.setX( symbolPointsScene.at(i).x() - valuesDistance - w - 1 );
- tempPoint.setY( symbolPointsScene.at(i).y());
- valuesPoints.append(tempPoint);
+ }
+ case XYCurve::ValuesLeft: {
+ for (int i=0; i<valuesStrings.size(); i++) {
+ w=fm.width(valuesStrings.at(i));
+ tempPoint.setX( symbolPointsScene.at(i).x() - valuesDistance - w - 1 );
+ tempPoint.setY( symbolPointsScene.at(i).y());
+ valuesPoints.append(tempPoint);
}
break;
- }
- case XYCurve::ValuesRight:{
- for (int i=0; i<valuesStrings.size(); i++){
- w=fm.width(valuesStrings.at(i));
- tempPoint.setX( symbolPointsScene.at(i).x() + valuesDistance - 1 );
- tempPoint.setY( symbolPointsScene.at(i).y() );
- valuesPoints.append(tempPoint);
+ }
+ case XYCurve::ValuesRight: {
+ for (int i=0; i<valuesStrings.size(); i++) {
+ w=fm.width(valuesStrings.at(i));
+ tempPoint.setX( symbolPointsScene.at(i).x() + valuesDistance - 1 );
+ tempPoint.setY( symbolPointsScene.at(i).y() );
+ valuesPoints.append(tempPoint);
}
break;
- }
+ }
}
QTransform trafo;
QPainterPath path;
- for (int i=0; i<valuesPoints.size(); i++){
+ for (int i=0; i<valuesPoints.size(); i++) {
path = QPainterPath();
path.addText( QPoint(0,0), valuesFont, valuesStrings.at(i) );
@@ -1354,9 +1365,9 @@ void XYCurvePrivate::updateFilling() {
if (lines.size()) {
fillLines = lines;
} else {
- for (int i=0; i<symbolPointsLogical.count()-1; i++){
- if (!lineSkipGaps && !connectedPointsLogical[i]) continue;
- fillLines.append(QLineF(symbolPointsLogical.at(i), \
symbolPointsLogical.at(i+1))); + for (int i=0; i<symbolPointsLogical.count()-1; i++) \
{ + if (!lineSkipGaps && !connectedPointsLogical[i]) continue;
+ fillLines.append(QLineF(symbolPointsLogical.at(i), symbolPointsLogical.at(i+1)));
}
fillLines = cSystem->mapLogicalToScene(fillLines);
}
@@ -1470,7 +1481,7 @@ void XYCurvePrivate::updateFilling() {
}
yEnd = cSystem->mapLogicalToScene(QPointF(plot->xMin(), plot->yMin()>0 ? \
plot->yMin() : 0)).y();
- }else if (fillingPosition == XYCurve::FillingLeft) {
+ } else if (fillingPosition == XYCurve::FillingLeft) {
edge = cSystem->mapLogicalToScene(QPointF(plot->xMax(), plot->yMin()));
//start point
@@ -1571,9 +1582,9 @@ void XYCurvePrivate::updateFilling() {
recalcShapeAndBoundingRect();
}
-void XYCurvePrivate::updateErrorBars(){
- errorBarsPath = QPainterPath();
- if (xErrorType==XYCurve::NoError && yErrorType==XYCurve::NoError){
+void XYCurvePrivate::updateErrorBars() {
+ errorBarsPath = QPainterPath();
+ if (xErrorType==XYCurve::NoError && yErrorType==XYCurve::NoError) {
recalcShapeAndBoundingRect();
return;
}
@@ -1615,7 +1626,7 @@ void XYCurvePrivate::updateErrorBars(){
capSizeY = (pointLogical.x() - symbolPointsLogical.at(i).x())/2;
}
- for (int i=0; i<symbolPointsLogical.size(); ++i){
+ for (int i=0; i<symbolPointsLogical.size(); ++i) {
if (!visiblePoints[i])
continue;
@@ -1640,23 +1651,23 @@ void XYCurvePrivate::updateErrorBars(){
//draw the error bars
switch(errorBarsType) {
- case XYCurve::ErrorBarsSimple:
- lines.append(QLineF(QPointF(point.x()-errorMinus, point.y()),
- QPointF(point.x()+errorPlus, point.y())));
- break;
- case XYCurve::ErrorBarsWithEnds: {
- lines.append(QLineF(QPointF(point.x()-errorMinus, point.y()),
- QPointF(point.x()+errorPlus, point.y())));
- if (errorMinus!=0) {
- lines.append(QLineF(QPointF(point.x()-errorMinus, point.y()-capSizeX),
- QPointF(point.x()-errorMinus, point.y()+capSizeX)));
- }
- if (errorPlus!=0) {
- lines.append(QLineF(QPointF(point.x()+errorPlus, point.y()-capSizeX),
- QPointF(point.x()+errorPlus, point.y()+capSizeX)));
- }
- break;
+ case XYCurve::ErrorBarsSimple:
+ lines.append(QLineF(QPointF(point.x()-errorMinus, point.y()),
+ QPointF(point.x()+errorPlus, point.y())));
+ break;
+ case XYCurve::ErrorBarsWithEnds: {
+ lines.append(QLineF(QPointF(point.x()-errorMinus, point.y()),
+ QPointF(point.x()+errorPlus, point.y())));
+ if (errorMinus!=0) {
+ lines.append(QLineF(QPointF(point.x()-errorMinus, point.y()-capSizeX),
+ QPointF(point.x()-errorMinus, point.y()+capSizeX)));
+ }
+ if (errorPlus!=0) {
+ lines.append(QLineF(QPointF(point.x()+errorPlus, point.y()-capSizeX),
+ QPointF(point.x()+errorPlus, point.y()+capSizeX)));
}
+ break;
+ }
}
}
@@ -1679,23 +1690,23 @@ void XYCurvePrivate::updateErrorBars(){
//draw the error bars
switch(errorBarsType) {
- case XYCurve::ErrorBarsSimple:
- lines.append(QLineF(QPointF(point.x(), point.y()-errorMinus),
- QPointF(point.x(), point.y()+errorPlus)));
- break;
- case XYCurve::ErrorBarsWithEnds: {
- lines.append(QLineF(QPointF(point.x(), point.y()-errorMinus),
- QPointF(point.x(), point.y()+errorPlus)));
- if (errorMinus!=0) {
- lines.append(QLineF(QPointF(point.x()-capSizeY, point.y()-errorMinus),
- QPointF(point.x()+capSizeY, point.y()-errorMinus)));
- }
- if (errorPlus!=0) {
- lines.append(QLineF(QPointF(point.x()-capSizeY, point.y()+errorPlus),
- QPointF(point.x()+capSizeY, point.y()+errorPlus)));
- }
- break;
+ case XYCurve::ErrorBarsSimple:
+ lines.append(QLineF(QPointF(point.x(), point.y()-errorMinus),
+ QPointF(point.x(), point.y()+errorPlus)));
+ break;
+ case XYCurve::ErrorBarsWithEnds: {
+ lines.append(QLineF(QPointF(point.x(), point.y()-errorMinus),
+ QPointF(point.x(), point.y()+errorPlus)));
+ if (errorMinus!=0) {
+ lines.append(QLineF(QPointF(point.x()-capSizeY, point.y()-errorMinus),
+ QPointF(point.x()+capSizeY, point.y()-errorMinus)));
}
+ if (errorPlus!=0) {
+ lines.append(QLineF(QPointF(point.x()-capSizeY, point.y()+errorPlus),
+ QPointF(point.x()+capSizeY, point.y()+errorPlus)));
+ }
+ break;
+ }
}
}
}
@@ -1704,7 +1715,7 @@ void XYCurvePrivate::updateErrorBars(){
lines = cSystem->mapLogicalToScene(lines);
//new painter path for the drop lines
- foreach (const QLineF& line, lines){
+ foreach (const QLineF& line, lines) {
errorBarsPath.moveTo(line.p1());
errorBarsPath.lineTo(line.p2());
}
@@ -1721,23 +1732,23 @@ void XYCurvePrivate::recalcShapeAndBoundingRect() {
prepareGeometryChange();
curveShape = QPainterPath();
- if (lineType != XYCurve::NoLine){
+ if (lineType != XYCurve::NoLine) {
curveShape.addPath(WorksheetElement::shapeFromPath(linePath, linePen));
}
- if (dropLineType != XYCurve::NoDropLine){
+ if (dropLineType != XYCurve::NoDropLine) {
curveShape.addPath(WorksheetElement::shapeFromPath(dropLinePath, dropLinePen));
}
- if (symbolsStyle != Symbol::NoSymbols){
+ if (symbolsStyle != Symbol::NoSymbols) {
curveShape.addPath(symbolsPath);
}
- if (valuesType != XYCurve::NoValues){
+ if (valuesType != XYCurve::NoValues) {
curveShape.addPath(valuesPath);
}
- if (xErrorType != XYCurve::NoError || yErrorType != XYCurve::NoError){
+ if (xErrorType != XYCurve::NoError || yErrorType != XYCurve::NoError) {
curveShape.addPath(WorksheetElement::shapeFromPath(errorBarsPath, errorBarsPen));
}
@@ -1763,7 +1774,7 @@ void XYCurvePrivate::draw(QPainter *painter) {
}
//draw lines
- if (lineType != XYCurve::NoLine){
+ if (lineType != XYCurve::NoLine) {
painter->setOpacity(lineOpacity);
painter->setPen(linePen);
painter->setBrush(Qt::NoBrush);
@@ -1771,7 +1782,7 @@ void XYCurvePrivate::draw(QPainter *painter) {
}
//draw drop lines
- if (dropLineType != XYCurve::NoDropLine){
+ if (dropLineType != XYCurve::NoDropLine) {
painter->setOpacity(dropLineOpacity);
painter->setPen(dropLinePen);
painter->setBrush(Qt::NoBrush);
@@ -1779,7 +1790,7 @@ void XYCurvePrivate::draw(QPainter *painter) {
}
//draw error bars
- if ( (xErrorType != XYCurve::NoError) || (yErrorType != XYCurve::NoError) ){
+ if ( (xErrorType != XYCurve::NoError) || (yErrorType != XYCurve::NoError) ) {
painter->setOpacity(errorBarsOpacity);
painter->setPen(errorBarsPen);
painter->setBrush(Qt::NoBrush);
@@ -1787,7 +1798,7 @@ void XYCurvePrivate::draw(QPainter *painter) {
}
//draw symbols
- if (symbolsStyle != Symbol::NoSymbols){
+ if (symbolsStyle != Symbol::NoSymbols) {
painter->setOpacity(symbolsOpacity);
painter->setPen(symbolsPen);
painter->setBrush(symbolsBrush);
@@ -1795,7 +1806,7 @@ void XYCurvePrivate::draw(QPainter *painter) {
}
//draw values
- if (valuesType != XYCurve::NoValues){
+ if (valuesType != XYCurve::NoValues) {
painter->setOpacity(valuesOpacity);
painter->setPen(valuesColor);
painter->setBrush(Qt::SolidPattern);
@@ -1808,11 +1819,11 @@ void XYCurvePrivate::updatePixmap() {
QApplication::processEvents(QEventLoop::AllEvents, 0);
// QTime timer;
// timer.start();
+ m_hoverEffectImageIsDirty = true;
+ m_selectionEffectImageIsDirty = true;
QPixmap pixmap(boundingRectangle.width(), boundingRectangle.height());
if (boundingRectangle.width()==0 || boundingRectangle.width()==0) {
m_pixmap = pixmap;
- m_hoverEffectImageIsDirty = true;
- m_selectionEffectImageIsDirty = true;
RESET_CURSOR;
return;
}
@@ -1825,8 +1836,6 @@ void XYCurvePrivate::updatePixmap() {
painter.end();
m_pixmap = pixmap;
- m_hoverEffectImageIsDirty = true;
- m_selectionEffectImageIsDirty = true;
// qDebug() << "Update the pixmap: " << timer.elapsed() << "ms";
RESET_CURSOR;
}
@@ -1834,77 +1843,77 @@ void XYCurvePrivate::updatePixmap() {
//TODO: move this to a central place
QImage blurred(const QImage& image, const QRect& rect, int radius, bool alphaOnly = \
false) {
- int tab[] = { 14, 10, 8, 6, 5, 5, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2 };
- int alpha = (radius < 1) ? 16 : (radius > 17) ? 1 : tab[radius-1];
-
- QImage result = image.convertToFormat(QImage::Format_ARGB32_Premultiplied);
- int r1 = rect.top();
- int r2 = rect.bottom();
- int c1 = rect.left();
- int c2 = rect.right();
-
- int bpl = result.bytesPerLine();
- int rgba[4];
- unsigned char* p;
-
- int i1 = 0;
- int i2 = 3;
-
- if (alphaOnly)
- i1 = i2 = (QSysInfo::ByteOrder == QSysInfo::BigEndian ? 0 : 3);
-
- for (int col = c1; col <= c2; col++) {
- p = result.scanLine(r1) + col * 4;
- for (int i = i1; i <= i2; i++)
- rgba[i] = p[i] << 4;
-
- p += bpl;
- for (int j = r1; j < r2; j++, p += bpl)
- for (int i = i1; i <= i2; i++)
- p[i] = (rgba[i] += ((p[i] << 4) - rgba[i]) * alpha / 16) >> 4;
- }
-
- for (int row = r1; row <= r2; row++) {
- p = result.scanLine(row) + c1 * 4;
- for (int i = i1; i <= i2; i++)
- rgba[i] = p[i] << 4;
-
- p += 4;
- for (int j = c1; j < c2; j++, p += 4)
- for (int i = i1; i <= i2; i++)
- p[i] = (rgba[i] += ((p[i] << 4) - rgba[i]) * alpha / 16) >> 4;
- }
-
- for (int col = c1; col <= c2; col++) {
- p = result.scanLine(r2) + col * 4;
- for (int i = i1; i <= i2; i++)
- rgba[i] = p[i] << 4;
-
- p -= bpl;
- for (int j = r1; j < r2; j++, p -= bpl)
- for (int i = i1; i <= i2; i++)
- p[i] = (rgba[i] += ((p[i] << 4) - rgba[i]) * alpha / 16) >> 4;
- }
-
- for (int row = r1; row <= r2; row++) {
- p = result.scanLine(row) + c2 * 4;
- for (int i = i1; i <= i2; i++)
- rgba[i] = p[i] << 4;
-
- p -= 4;
- for (int j = c1; j < c2; j++, p -= 4)
- for (int i = i1; i <= i2; i++)
- p[i] = (rgba[i] += ((p[i] << 4) - rgba[i]) * alpha / 16) >> 4;
- }
-
- return result;
+ int tab[] = { 14, 10, 8, 6, 5, 5, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2 };
+ int alpha = (radius < 1) ? 16 : (radius > 17) ? 1 : tab[radius-1];
+
+ QImage result = image.convertToFormat(QImage::Format_ARGB32_Premultiplied);
+ int r1 = rect.top();
+ int r2 = rect.bottom();
+ int c1 = rect.left();
+ int c2 = rect.right();
+
+ int bpl = result.bytesPerLine();
+ int rgba[4];
+ unsigned char* p;
+
+ int i1 = 0;
+ int i2 = 3;
+
+ if (alphaOnly)
+ i1 = i2 = (QSysInfo::ByteOrder == QSysInfo::BigEndian ? 0 : 3);
+
+ for (int col = c1; col <= c2; col++) {
+ p = result.scanLine(r1) + col * 4;
+ for (int i = i1; i <= i2; i++)
+ rgba[i] = p[i] << 4;
+
+ p += bpl;
+ for (int j = r1; j < r2; j++, p += bpl)
+ for (int i = i1; i <= i2; i++)
+ p[i] = (rgba[i] += ((p[i] << 4) - rgba[i]) * alpha / 16) >> 4;
+ }
+
+ for (int row = r1; row <= r2; row++) {
+ p = result.scanLine(row) + c1 * 4;
+ for (int i = i1; i <= i2; i++)
+ rgba[i] = p[i] << 4;
+
+ p += 4;
+ for (int j = c1; j < c2; j++, p += 4)
+ for (int i = i1; i <= i2; i++)
+ p[i] = (rgba[i] += ((p[i] << 4) - rgba[i]) * alpha / 16) >> 4;
+ }
+
+ for (int col = c1; col <= c2; col++) {
+ p = result.scanLine(r2) + col * 4;
+ for (int i = i1; i <= i2; i++)
+ rgba[i] = p[i] << 4;
+
+ p -= bpl;
+ for (int j = r1; j < r2; j++, p -= bpl)
+ for (int i = i1; i <= i2; i++)
+ p[i] = (rgba[i] += ((p[i] << 4) - rgba[i]) * alpha / 16) >> 4;
+ }
+
+ for (int row = r1; row <= r2; row++) {
+ p = result.scanLine(row) + c2 * 4;
+ for (int i = i1; i <= i2; i++)
+ rgba[i] = p[i] << 4;
+
+ p -= 4;
+ for (int j = c1; j < c2; j++, p -= 4)
+ for (int i = i1; i <= i2; i++)
+ p[i] = (rgba[i] += ((p[i] << 4) - rgba[i]) * alpha / 16) >> 4;
+ }
+
+ return result;
}
/*!
Reimplementation of QGraphicsItem::paint(). This function does the actual painting \
of the curve. \sa QGraphicsItem::paint().
*/
-void XYCurvePrivate::paint(QPainter* painter, const QStyleOptionGraphicsItem* \
option, QWidget* widget){ +void XYCurvePrivate::paint(QPainter* painter, const \
QStyleOptionGraphicsItem* option, QWidget* widget) { // \
qDebug()<<"XYCurvePrivate::paint, " + q->name(); Q_UNUSED(option);
Q_UNUSED(widget);
@@ -1923,7 +1932,7 @@ void XYCurvePrivate::paint(QPainter* painter, const \
QStyleOptionGraphicsItem* op // painter->drawPixmap(boundingRectangle.topLeft(), \
m_pixmap); // qDebug() << "Paint the pixmap: " << timer.elapsed() << "ms";
- if (m_hovered && !isSelected() && !m_printing){
+ if (m_hovered && !isSelected() && !m_printing) {
// timer.start();
if (m_hoverEffectImageIsDirty) {
QPixmap pix = m_pixmap;
@@ -1939,7 +1948,7 @@ void XYCurvePrivate::paint(QPainter* painter, const \
QStyleOptionGraphicsItem* op return;
}
- if (isSelected() && !m_printing){
+ if (isSelected() && !m_printing) {
// timer.start();
if (m_selectionEffectImageIsDirty) {
QPixmap pix = m_pixmap;
@@ -1981,7 +1990,7 @@ void XYCurvePrivate::drawSymbols(QPainter* painter) {
void XYCurvePrivate::drawValues(QPainter* painter) {
QTransform trafo;
QPainterPath path;
- for (int i=0; i<valuesPoints.size(); i++){
+ for (int i=0; i<valuesPoints.size(); i++) {
path = QPainterPath();
path.addText( QPoint(0,0), valuesFont, valuesStrings.at(i) );
@@ -1997,86 +2006,86 @@ void XYCurvePrivate::drawValues(QPainter* painter) {
void XYCurvePrivate::drawFilling(QPainter* painter) {
foreach(const QPolygonF& pol, fillPolygons) {
QRectF rect = pol.boundingRect();
- if (fillingType == PlotArea::Color){
- switch (fillingColorStyle){
- case PlotArea::SingleColor:{
- painter->setBrush(QBrush(fillingFirstColor));
- break;
- }
- case PlotArea::HorizontalLinearGradient:{
- QLinearGradient linearGrad(rect.topLeft(), rect.topRight());
- linearGrad.setColorAt(0, fillingFirstColor);
- linearGrad.setColorAt(1, fillingSecondColor);
- painter->setBrush(QBrush(linearGrad));
+ if (fillingType == PlotArea::Color) {
+ switch (fillingColorStyle) {
+ case PlotArea::SingleColor: {
+ painter->setBrush(QBrush(fillingFirstColor));
+ break;
+ }
+ case PlotArea::HorizontalLinearGradient: {
+ QLinearGradient linearGrad(rect.topLeft(), rect.topRight());
+ linearGrad.setColorAt(0, fillingFirstColor);
+ linearGrad.setColorAt(1, fillingSecondColor);
+ painter->setBrush(QBrush(linearGrad));
+ break;
+ }
+ case PlotArea::VerticalLinearGradient: {
+ QLinearGradient linearGrad(rect.topLeft(), rect.bottomLeft());
+ linearGrad.setColorAt(0, fillingFirstColor);
+ linearGrad.setColorAt(1, fillingSecondColor);
+ painter->setBrush(QBrush(linearGrad));
+ break;
+ }
+ case PlotArea::TopLeftDiagonalLinearGradient: {
+ QLinearGradient linearGrad(rect.topLeft(), rect.bottomRight());
+ linearGrad.setColorAt(0, fillingFirstColor);
+ linearGrad.setColorAt(1, fillingSecondColor);
+ painter->setBrush(QBrush(linearGrad));
+ break;
+ }
+ case PlotArea::BottomLeftDiagonalLinearGradient: {
+ QLinearGradient linearGrad(rect.bottomLeft(), rect.topRight());
+ linearGrad.setColorAt(0, fillingFirstColor);
+ linearGrad.setColorAt(1, fillingSecondColor);
+ painter->setBrush(QBrush(linearGrad));
+ break;
+ }
+ case PlotArea::RadialGradient: {
+ QRadialGradient radialGrad(rect.center(), rect.width()/2);
+ radialGrad.setColorAt(0, fillingFirstColor);
+ radialGrad.setColorAt(1, fillingSecondColor);
+ painter->setBrush(QBrush(radialGrad));
+ break;
+ }
+ }
+ } else if (fillingType == PlotArea::Image) {
+ if ( !fillingFileName.trimmed().isEmpty() ) {
+ QPixmap pix(fillingFileName);
+ switch (fillingImageStyle) {
+ case PlotArea::ScaledCropped:
+ pix = pix.scaled(rect.size().toSize(),Qt::KeepAspectRatioByExpanding,Qt::SmoothTransformation);
+ painter->setBrush(QBrush(pix));
+ painter->setBrushOrigin(pix.size().width()/2,pix.size().height()/2);
break;
- }
- case PlotArea::VerticalLinearGradient:{
- QLinearGradient linearGrad(rect.topLeft(), rect.bottomLeft());
- linearGrad.setColorAt(0, fillingFirstColor);
- linearGrad.setColorAt(1, fillingSecondColor);
- painter->setBrush(QBrush(linearGrad));
+ case PlotArea::Scaled:
+ pix = pix.scaled(rect.size().toSize(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation);
+ painter->setBrush(QBrush(pix));
+ painter->setBrushOrigin(pix.size().width()/2,pix.size().height()/2);
break;
- }
- case PlotArea::TopLeftDiagonalLinearGradient:{
- QLinearGradient linearGrad(rect.topLeft(), rect.bottomRight());
- linearGrad.setColorAt(0, fillingFirstColor);
- linearGrad.setColorAt(1, fillingSecondColor);
- painter->setBrush(QBrush(linearGrad));
+ case PlotArea::ScaledAspectRatio:
+ pix = pix.scaled(rect.size().toSize(),Qt::KeepAspectRatio,Qt::SmoothTransformation);
+ painter->setBrush(QBrush(pix));
+ painter->setBrushOrigin(pix.size().width()/2,pix.size().height()/2);
break;
- }
- case PlotArea::BottomLeftDiagonalLinearGradient:{
- QLinearGradient linearGrad(rect.bottomLeft(), rect.topRight());
- linearGrad.setColorAt(0, fillingFirstColor);
- linearGrad.setColorAt(1, fillingSecondColor);
- painter->setBrush(QBrush(linearGrad));
+ case PlotArea::Centered: {
+ QPixmap backpix(rect.size().toSize());
+ backpix.fill();
+ QPainter p(&backpix);
+ p.drawPixmap(QPointF(0,0),pix);
+ p.end();
+ painter->setBrush(QBrush(backpix));
+ painter->setBrushOrigin(-pix.size().width()/2,-pix.size().height()/2);
break;
}
- case PlotArea::RadialGradient:{
- QRadialGradient radialGrad(rect.center(), rect.width()/2);
- radialGrad.setColorAt(0, fillingFirstColor);
- radialGrad.setColorAt(1, fillingSecondColor);
- painter->setBrush(QBrush(radialGrad));
+ case PlotArea::Tiled:
+ painter->setBrush(QBrush(pix));
break;
+ case PlotArea::CenterTiled:
+ painter->setBrush(QBrush(pix));
+ painter->setBrushOrigin(pix.size().width()/2,pix.size().height()/2);
}
}
- }else if (fillingType == PlotArea::Image){
- if ( !fillingFileName.trimmed().isEmpty() ) {
- QPixmap pix(fillingFileName);
- switch (fillingImageStyle){
- case PlotArea::ScaledCropped:
- pix = pix.scaled(rect.size().toSize(),Qt::KeepAspectRatioByExpanding,Qt::SmoothTransformation);
- painter->setBrush(QBrush(pix));
- painter->setBrushOrigin(pix.size().width()/2,pix.size().height()/2);
- break;
- case PlotArea::Scaled:
- pix = pix.scaled(rect.size().toSize(),Qt::IgnoreAspectRatio,Qt::SmoothTransformation);
- painter->setBrush(QBrush(pix));
- painter->setBrushOrigin(pix.size().width()/2,pix.size().height()/2);
- break;
- case PlotArea::ScaledAspectRatio:
- pix = pix.scaled(rect.size().toSize(),Qt::KeepAspectRatio,Qt::SmoothTransformation);
- painter->setBrush(QBrush(pix));
- painter->setBrushOrigin(pix.size().width()/2,pix.size().height()/2);
- break;
- case PlotArea::Centered:{
- QPixmap backpix(rect.size().toSize());
- backpix.fill();
- QPainter p(&backpix);
- p.drawPixmap(QPointF(0,0),pix);
- p.end();
- painter->setBrush(QBrush(backpix));
- painter->setBrushOrigin(-pix.size().width()/2,-pix.size().height()/2);
- break;
- }
- case PlotArea::Tiled:
- painter->setBrush(QBrush(pix));
- break;
- case PlotArea::CenterTiled:
- painter->setBrush(QBrush(pix));
- painter->setBrushOrigin(pix.size().width()/2,pix.size().height()/2);
- }
- }
- } else if (fillingType == PlotArea::Pattern){
+ } else if (fillingType == PlotArea::Pattern) {
painter->setBrush(QBrush(fillingFirstColor,fillingBrushStyle));
}
@@ -2106,12 +2115,12 @@ void \
XYCurvePrivate::hoverLeaveEvent(QGraphicsSceneHoverEvent*) { //################## \
Serialization/Deserialization ########################### \
//############################################################################## //! \
Save as XML
-void XYCurve::save(QXmlStreamWriter* writer) const{
+void XYCurve::save(QXmlStreamWriter* writer) const {
Q_D(const XYCurve);
- writer->writeStartElement( "xyCurve" );
- writeBasicAttributes( writer );
- writeCommentElement( writer );
+ writer->writeStartElement( "xyCurve" );
+ writeBasicAttributes( writer );
+ writeCommentElement( writer );
//general
writer->writeStartElement( "general" );
@@ -2121,7 +2130,7 @@ void XYCurve::save(QXmlStreamWriter* writer) const{
writer->writeEndElement();
//Line
- writer->writeStartElement( "lines" );
+ writer->writeStartElement( "lines" );
writer->writeAttribute( "type", QString::number(d->lineType) );
writer->writeAttribute( "skipGaps", QString::number(d->lineSkipGaps) );
writer->writeAttribute( "interpolationPointsCount", \
QString::number(d->lineInterpolationPointsCount) ); @@ -2164,17 +2173,17 @@ void \
XYCurve::save(QXmlStreamWriter* writer) const{ //Filling
writer->writeStartElement( "filling" );
writer->writeAttribute( "position", QString::number(d->fillingPosition) );
- writer->writeAttribute( "type", QString::number(d->fillingType) );
- writer->writeAttribute( "colorStyle", QString::number(d->fillingColorStyle) );
- writer->writeAttribute( "imageStyle", QString::number(d->fillingImageStyle) );
- writer->writeAttribute( "brushStyle", QString::number(d->fillingBrushStyle) );
- writer->writeAttribute( "firstColor_r", \
QString::number(d->fillingFirstColor.red()) );
- writer->writeAttribute( "firstColor_g", \
QString::number(d->fillingFirstColor.green()) );
- writer->writeAttribute( "firstColor_b", \
QString::number(d->fillingFirstColor.blue()) );
- writer->writeAttribute( "secondColor_r", \
QString::number(d->fillingSecondColor.red()) );
- writer->writeAttribute( "secondColor_g", \
QString::number(d->fillingSecondColor.green()) );
- writer->writeAttribute( "secondColor_b", \
QString::number(d->fillingSecondColor.blue()) );
- writer->writeAttribute( "fileName", d->fillingFileName );
+ writer->writeAttribute( "type", QString::number(d->fillingType) );
+ writer->writeAttribute( "colorStyle", QString::number(d->fillingColorStyle) );
+ writer->writeAttribute( "imageStyle", QString::number(d->fillingImageStyle) );
+ writer->writeAttribute( "brushStyle", QString::number(d->fillingBrushStyle) );
+ writer->writeAttribute( "firstColor_r", QString::number(d->fillingFirstColor.red()) \
); + writer->writeAttribute( "firstColor_g", \
QString::number(d->fillingFirstColor.green()) ); + writer->writeAttribute( \
"firstColor_b", QString::number(d->fillingFirstColor.blue()) ); \
+ writer->writeAttribute( "secondColor_r", \
QString::number(d->fillingSecondColor.red()) ); + writer->writeAttribute( \
"secondColor_g", QString::number(d->fillingSecondColor.green()) ); \
+ writer->writeAttribute( "secondColor_b", \
QString::number(d->fillingSecondColor.blue()) ); + writer->writeAttribute( \
"fileName", d->fillingFileName ); writer->writeAttribute( "opacity", \
QString::number(d->fillingOpacity) ); writer->writeEndElement();
@@ -2196,149 +2205,149 @@ void XYCurve::save(QXmlStreamWriter* writer) const{
}
//! Load from XML
-bool XYCurve::load(XmlStreamReader* reader){
+bool XYCurve::load(XmlStreamReader* reader) {
Q_D(XYCurve);
- if(!reader->isStartElement() || reader->name() != "xyCurve"){
- reader->raiseError(i18n("no xy-curve element found"));
- return false;
- }
+ if(!reader->isStartElement() || reader->name() != "xyCurve") {
+ reader->raiseError(i18n("no xy-curve element found"));
+ return false;
+ }
- if (!readBasicAttributes(reader))
- return false;
+ if (!readBasicAttributes(reader))
+ return false;
- QString attributeWarning = i18n("Attribute '%1' missing or empty, default value \
is used");
- QXmlStreamAttributes attribs;
- QString str;
+ QString attributeWarning = i18n("Attribute '%1' missing or empty, default value is \
used"); + QXmlStreamAttributes attribs;
+ QString str;
- while (!reader->atEnd()){
- reader->readNext();
- if (reader->isEndElement() && reader->name() == "xyCurve")
- break;
+ while (!reader->atEnd()) {
+ reader->readNext();
+ if (reader->isEndElement() && reader->name() == "xyCurve")
+ break;
- if (!reader->isStartElement())
- continue;
+ if (!reader->isStartElement())
+ continue;
- if (reader->name() == "comment"){
- if (!readCommentElement(reader)) return false;
- }else if (reader->name() == "general"){
+ if (reader->name() == "comment") {
+ if (!readCommentElement(reader)) return false;
+ } else if (reader->name() == "general") {
attribs = reader->attributes();
READ_COLUMN(xColumn);
READ_COLUMN(yColumn);
str = attribs.value("visible").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'visible'"));
- else
- d->setVisible(str.toInt());
- }else if (reader->name() == "lines"){
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'visible'"));
+ else
+ d->setVisible(str.toInt());
+ } else if (reader->name() == "lines") {
attribs = reader->attributes();
str = attribs.value("type").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'type'"));
- else
- d->lineType = (XYCurve::LineType)str.toInt();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'type'"));
+ else
+ d->lineType = (XYCurve::LineType)str.toInt();
str = attribs.value("skipGaps").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'skipGps'"));
- else
- d->lineSkipGaps = str.toInt();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'skipGps'"));
+ else
+ d->lineSkipGaps = str.toInt();
str = attribs.value("interpolationPointsCount").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'interpolationPointsCount'"));
- else
- d->lineInterpolationPointsCount = str.toInt();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'interpolationPointsCount'"));
+ else
+ d->lineInterpolationPointsCount = str.toInt();
READ_QPEN(d->linePen);
str = attribs.value("opacity").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'opacity'"));
- else
- d->lineOpacity = str.toDouble();
- }else if (reader->name() == "dropLines"){
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'opacity'"));
+ else
+ d->lineOpacity = str.toDouble();
+ } else if (reader->name() == "dropLines") {
attribs = reader->attributes();
str = attribs.value("type").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'type'"));
- else
- d->dropLineType = (XYCurve::DropLineType)str.toInt();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'type'"));
+ else
+ d->dropLineType = (XYCurve::DropLineType)str.toInt();
READ_QPEN(d->dropLinePen);
str = attribs.value("opacity").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'opacity'"));
- else
- d->dropLineOpacity = str.toDouble();
- }else if (reader->name() == "symbols"){
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'opacity'"));
+ else
+ d->dropLineOpacity = str.toDouble();
+ } else if (reader->name() == "symbols") {
attribs = reader->attributes();
str = attribs.value("symbolsStyle").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'symbolsStyle'"));
- else
- d->symbolsStyle = (Symbol::Style)str.toInt();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'symbolsStyle'"));
+ else
+ d->symbolsStyle = (Symbol::Style)str.toInt();
str = attribs.value("opacity").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'opacity'"));
- else
- d->symbolsOpacity = str.toDouble();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'opacity'"));
+ else
+ d->symbolsOpacity = str.toDouble();
str = attribs.value("rotation").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'rotation'"));
- else
- d->symbolsRotationAngle = str.toDouble();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'rotation'"));
+ else
+ d->symbolsRotationAngle = str.toDouble();
str = attribs.value("size").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'size'"));
- else
- d->symbolsSize = str.toDouble();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'size'"));
+ else
+ d->symbolsSize = str.toDouble();
READ_QBRUSH(d->symbolsBrush);
READ_QPEN(d->symbolsPen);
- }else if (reader->name() == "values"){
+ } else if (reader->name() == "values") {
attribs = reader->attributes();
str = attribs.value("type").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'type'"));
- else
- d->valuesType = (XYCurve::ValuesType)str.toInt();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'type'"));
+ else
+ d->valuesType = (XYCurve::ValuesType)str.toInt();
READ_COLUMN(valuesColumn);
str = attribs.value("position").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'position'"));
- else
- d->valuesPosition = (XYCurve::ValuesPosition)str.toInt();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'position'"));
+ else
+ d->valuesPosition = (XYCurve::ValuesPosition)str.toInt();
str = attribs.value("distance").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'distance'"));
- else
- d->valuesDistance = str.toDouble();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'distance'"));
+ else
+ d->valuesDistance = str.toDouble();
str = attribs.value("rotation").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'rotation'"));
- else
- d->valuesRotationAngle = str.toDouble();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'rotation'"));
+ else
+ d->valuesRotationAngle = str.toDouble();
str = attribs.value("opacity").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'opacity'"));
- else
- d->valuesOpacity = str.toDouble();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'opacity'"));
+ else
+ d->valuesOpacity = str.toDouble();
//don't produce any warning if no prefix or suffix is set (empty string is allowd \
here in xml) d->valuesPrefix = attribs.value("prefix").toString();
@@ -2348,127 +2357,127 @@ bool XYCurve::load(XmlStreamReader* reader){
READ_QFONT(d->valuesFont);
str = attribs.value("opacity").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'opacity'"));
- else
- d->valuesOpacity = str.toDouble();
- }else if (reader->name() == "filling"){
- attribs = reader->attributes();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'opacity'"));
+ else
+ d->valuesOpacity = str.toDouble();
+ } else if (reader->name() == "filling") {
+ attribs = reader->attributes();
str = attribs.value("position").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("position"));
- else
- d->fillingPosition = XYCurve::FillingPosition(str.toInt());
-
- str = attribs.value("type").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("type"));
- else
- d->fillingType = PlotArea::BackgroundType(str.toInt());
-
- str = attribs.value("colorStyle").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("colorStyle"));
- else
- d->fillingColorStyle = PlotArea::BackgroundColorStyle(str.toInt());
-
- str = attribs.value("imageStyle").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("imageStyle"));
- else
- d->fillingImageStyle = PlotArea::BackgroundImageStyle(str.toInt());
-
- str = attribs.value("brushStyle").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("brushStyle"));
- else
- d->fillingBrushStyle = Qt::BrushStyle(str.toInt());
-
- str = attribs.value("firstColor_r").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("firstColor_r"));
- else
- d->fillingFirstColor.setRed(str.toInt());
-
- str = attribs.value("firstColor_g").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("firstColor_g"));
- else
- d->fillingFirstColor.setGreen(str.toInt());
-
- str = attribs.value("firstColor_b").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("firstColor_b"));
- else
- d->fillingFirstColor.setBlue(str.toInt());
-
- str = attribs.value("secondColor_r").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("secondColor_r"));
- else
- d->fillingSecondColor.setRed(str.toInt());
-
- str = attribs.value("secondColor_g").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("secondColor_g"));
- else
- d->fillingSecondColor.setGreen(str.toInt());
-
- str = attribs.value("secondColor_b").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("secondColor_b"));
- else
- d->fillingSecondColor.setBlue(str.toInt());
-
- str = attribs.value("fileName").toString();
- d->fillingFileName = str;
-
- str = attribs.value("opacity").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("opacity"));
- else
- d->fillingOpacity = str.toDouble();
- }else if (reader->name() == "errorBars"){
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("position"));
+ else
+ d->fillingPosition = XYCurve::FillingPosition(str.toInt());
+
+ str = attribs.value("type").toString();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("type"));
+ else
+ d->fillingType = PlotArea::BackgroundType(str.toInt());
+
+ str = attribs.value("colorStyle").toString();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("colorStyle"));
+ else
+ d->fillingColorStyle = PlotArea::BackgroundColorStyle(str.toInt());
+
+ str = attribs.value("imageStyle").toString();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("imageStyle"));
+ else
+ d->fillingImageStyle = PlotArea::BackgroundImageStyle(str.toInt());
+
+ str = attribs.value("brushStyle").toString();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("brushStyle"));
+ else
+ d->fillingBrushStyle = Qt::BrushStyle(str.toInt());
+
+ str = attribs.value("firstColor_r").toString();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("firstColor_r"));
+ else
+ d->fillingFirstColor.setRed(str.toInt());
+
+ str = attribs.value("firstColor_g").toString();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("firstColor_g"));
+ else
+ d->fillingFirstColor.setGreen(str.toInt());
+
+ str = attribs.value("firstColor_b").toString();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("firstColor_b"));
+ else
+ d->fillingFirstColor.setBlue(str.toInt());
+
+ str = attribs.value("secondColor_r").toString();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("secondColor_r"));
+ else
+ d->fillingSecondColor.setRed(str.toInt());
+
+ str = attribs.value("secondColor_g").toString();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("secondColor_g"));
+ else
+ d->fillingSecondColor.setGreen(str.toInt());
+
+ str = attribs.value("secondColor_b").toString();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("secondColor_b"));
+ else
+ d->fillingSecondColor.setBlue(str.toInt());
+
+ str = attribs.value("fileName").toString();
+ d->fillingFileName = str;
+
+ str = attribs.value("opacity").toString();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("opacity"));
+ else
+ d->fillingOpacity = str.toDouble();
+ } else if (reader->name() == "errorBars") {
attribs = reader->attributes();
str = attribs.value("xErrorType").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'xErrorType'"));
- else
- d->xErrorType = (XYCurve::ErrorType)str.toInt();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'xErrorType'"));
+ else
+ d->xErrorType = (XYCurve::ErrorType)str.toInt();
READ_COLUMN(xErrorPlusColumn);
READ_COLUMN(xErrorMinusColumn);
str = attribs.value("yErrorType").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'yErrorType'"));
- else
- d->yErrorType = (XYCurve::ErrorType)str.toInt();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'yErrorType'"));
+ else
+ d->yErrorType = (XYCurve::ErrorType)str.toInt();
READ_COLUMN(yErrorPlusColumn);
READ_COLUMN(yErrorMinusColumn);
str = attribs.value("type").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'type'"));
- else
- d->errorBarsType = (XYCurve::ErrorBarsType)str.toInt();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'type'"));
+ else
+ d->errorBarsType = (XYCurve::ErrorBarsType)str.toInt();
str = attribs.value("capSize").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'capSize'"));
- else
- d->errorBarsCapSize = str.toDouble();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'capSize'"));
+ else
+ d->errorBarsCapSize = str.toDouble();
READ_QPEN(d->errorBarsPen);
str = attribs.value("opacity").toString();
- if(str.isEmpty())
- reader->raiseWarning(attributeWarning.arg("'opacity'"));
- else
- d->errorBarsOpacity = str.toDouble();
+ if(str.isEmpty())
+ reader->raiseWarning(attributeWarning.arg("'opacity'"));
+ else
+ d->errorBarsOpacity = str.toDouble();
}
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic