[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [labplot] src: Added filling properties to XYCurve and to XYCurveDock.
From:       Alexander Semke <alexander.semke () web ! de>
Date:       2015-04-24 20:38:32
Message-ID: E1YlkMq-0001LE-2P () scm ! kde ! org
[Download RAW message or body]

Git commit c8af5d47ca66ab8bab22ccec49a161d96fff75c5 by Alexander Semke.
Committed on 24/04/2015 at 20:38.
Pushed by asemke into branch 'master'.

Added filling properties to XYCurve and to XYCurveDock.

M  +184  -0    src/backend/worksheet/plots/cartesian/XYCurve.cpp
M  +33   -1    src/backend/worksheet/plots/cartesian/XYCurve.h
M  +18   -0    src/backend/worksheet/plots/cartesian/XYCurvePrivate.h
M  +318  -36   src/kdefrontend/dockwidgets/XYCurveDock.cpp
M  +24   -0    src/kdefrontend/dockwidgets/XYCurveDock.h
M  +18   -18   src/kdefrontend/ui/dockwidgets/xycurvedock.ui

http://commits.kde.org/labplot/c8af5d47ca66ab8bab22ccec49a161d96fff75c5

diff --git a/src/backend/worksheet/plots/cartesian/XYCurve.cpp \
b/src/backend/worksheet/plots/cartesian/XYCurve.cpp index 1418c1d..83eaffa 100644
--- a/src/backend/worksheet/plots/cartesian/XYCurve.cpp
+++ b/src/backend/worksheet/plots/cartesian/XYCurve.cpp
@@ -126,6 +126,16 @@ void XYCurve::init(){
 	d->valuesFont.setPixelSize( Worksheet::convertToSceneUnits( 8, Worksheet::Point ) \
);  d->valuesColor = group.readEntry("ValuesColor", QColor(Qt::black));
 
+	d->fillingPosition = (XYCurve::FillingPosition) group.readEntry("FillingPosition", \
(int)XYCurve::NoFilling); +	d->fillingType = (PlotArea::BackgroundType) \
group.readEntry("FillingType", (int)PlotArea::Color); +	d->fillingColorStyle = \
(PlotArea::BackgroundColorStyle) group.readEntry("FillingColorStyle", (int) \
PlotArea::SingleColor); +	d->fillingImageStyle = (PlotArea::BackgroundImageStyle) \
group.readEntry("FillingImageStyle", (int) PlotArea::Scaled); +	d->fillingBrushStyle \
= (Qt::BrushStyle) group.readEntry("FillingBrushStyle", (int) Qt::SolidPattern); \
+	d->fillingFileName = group.readEntry("FillingFileName", QString()); \
+	d->fillingFirstColor = group.readEntry("FillingFirstColor", QColor(Qt::white)); \
+	d->fillingSecondColor = group.readEntry("FillingSecondColor", QColor(Qt::black)); \
+	d->fillingOpacity = group.readEntry("FillingOpacity", 1.0); +
 	d->xErrorType = (XYCurve::ErrorType) group.readEntry("XErrorType", \
(int)XYCurve::NoError);  d->xErrorPlusColumn = NULL;
 	d->xErrorMinusColumn = NULL;
@@ -224,6 +234,17 @@ CLASS_SHARED_D_READER_IMPL(XYCurve, QString, valuesSuffix, \
valuesSuffix)  CLASS_SHARED_D_READER_IMPL(XYCurve, QColor, valuesColor, valuesColor)
 CLASS_SHARED_D_READER_IMPL(XYCurve, QFont, valuesFont, valuesFont)
 
+//filling
+BASIC_SHARED_D_READER_IMPL(XYCurve, XYCurve::FillingPosition, fillingPosition, \
fillingPosition) +BASIC_SHARED_D_READER_IMPL(XYCurve, PlotArea::BackgroundType, \
fillingType, fillingType) +BASIC_SHARED_D_READER_IMPL(XYCurve, \
PlotArea::BackgroundColorStyle, fillingColorStyle, fillingColorStyle) \
+BASIC_SHARED_D_READER_IMPL(XYCurve, PlotArea::BackgroundImageStyle, \
fillingImageStyle, fillingImageStyle) +CLASS_SHARED_D_READER_IMPL(XYCurve, \
Qt::BrushStyle, fillingBrushStyle, fillingBrushStyle) \
+CLASS_SHARED_D_READER_IMPL(XYCurve, QColor, fillingFirstColor, fillingFirstColor) \
+CLASS_SHARED_D_READER_IMPL(XYCurve, QColor, fillingSecondColor, fillingSecondColor) \
+CLASS_SHARED_D_READER_IMPL(XYCurve, QString, fillingFileName, fillingFileName) \
+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) @@ -465,6 +486,70 @@ void XYCurve::setValuesColor(const QColor& \
color) {  exec(new XYCurveSetValuesColorCmd(d, color, i18n("%1: set values color")));
 }
 
+//Filling
+STD_SETTER_CMD_IMPL_F_S(XYCurve, SetFillingPosition, XYCurve::FillingPosition, \
fillingPosition, updateFilling) +void XYCurve::setFillingPosition(FillingPosition \
position) { +	Q_D(XYCurve);
+	if (position != d->fillingPosition)
+		exec(new XYCurveSetFillingPositionCmd(d, position, i18n("%1: filling position \
changed"))); +}
+
+STD_SETTER_CMD_IMPL_F_S(XYCurve, SetFillingType, PlotArea::BackgroundType, \
fillingType, updateFilling) +void XYCurve::setFillingType(PlotArea::BackgroundType \
type) { +	Q_D(XYCurve);
+	if (type != d->fillingType)
+		exec(new XYCurveSetFillingTypeCmd(d, type, i18n("%1: filling type changed")));
+}
+
+STD_SETTER_CMD_IMPL_F_S(XYCurve, SetFillingColorStyle, \
PlotArea::BackgroundColorStyle, fillingColorStyle, updateFilling) +void \
XYCurve::setFillingColorStyle(PlotArea::BackgroundColorStyle style) { +	Q_D(XYCurve);
+	if (style != d->fillingColorStyle)
+		exec(new XYCurveSetFillingColorStyleCmd(d, style, i18n("%1: filling color style \
changed"))); +}
+
+STD_SETTER_CMD_IMPL_F_S(XYCurve, SetFillingImageStyle, \
PlotArea::BackgroundImageStyle, fillingImageStyle, updateFilling) +void \
XYCurve::setFillingImageStyle(PlotArea::BackgroundImageStyle style) { +	Q_D(XYCurve);
+	if (style != d->fillingImageStyle)
+		exec(new XYCurveSetFillingImageStyleCmd(d, style, i18n("%1: filling image style \
changed"))); +}
+
+STD_SETTER_CMD_IMPL_F_S(XYCurve, SetFillingBrushStyle, Qt::BrushStyle, \
fillingBrushStyle, updateFilling) +void XYCurve::setFillingBrushStyle(Qt::BrushStyle \
style) { +	Q_D(XYCurve);
+	if (style != d->fillingBrushStyle)
+		exec(new XYCurveSetFillingBrushStyleCmd(d, style, i18n("%1: filling brush style \
changed"))); +}
+
+STD_SETTER_CMD_IMPL_F_S(XYCurve, SetFillingFirstColor, QColor, fillingFirstColor, \
updateFilling) +void XYCurve::setFillingFirstColor(const QColor& color) {
+	Q_D(XYCurve);
+	if (color!= d->fillingFirstColor)
+		exec(new XYCurveSetFillingFirstColorCmd(d, color, i18n("%1: set filling first \
color"))); +}
+
+STD_SETTER_CMD_IMPL_F_S(XYCurve, SetFillingSecondColor, QColor, fillingSecondColor, \
updateFilling) +void XYCurve::setFillingSecondColor(const QColor& color) {
+	Q_D(XYCurve);
+	if (color!= d->fillingSecondColor)
+		exec(new XYCurveSetFillingSecondColorCmd(d, color, i18n("%1: set filling second \
color"))); +}
+
+STD_SETTER_CMD_IMPL_F_S(XYCurve, SetFillingFileName, QString, fillingFileName, \
updateFilling) +void XYCurve::setFillingFileName(const QString& fileName) {
+	Q_D(XYCurve);
+	if (fileName!= d->fillingFileName)
+		exec(new XYCurveSetFillingFileNameCmd(d, fileName, i18n("%1: set filling \
image"))); +}
+
+STD_SETTER_CMD_IMPL_F_S(XYCurve, SetFillingOpacity, qreal, fillingOpacity, \
updateFilling) +void XYCurve::setFillingOpacity(qreal opacity) {
+	Q_D(XYCurve);
+	if (opacity != d->fillingOpacity)
+		exec(new XYCurveSetFillingOpacityCmd(d, opacity, i18n("%1: set filling \
opacity"))); +}
+
 //Error bars
 STD_SETTER_CMD_IMPL_F_S(XYCurve, SetXErrorType, XYCurve::ErrorType, xErrorType, \
updateErrorBars)  void XYCurve::setXErrorType(ErrorType type) {
@@ -673,6 +758,7 @@ QString XYCurve::symbolsNameFromStyle(XYCurve::SymbolsStyle \
style) {  
 	return name;
 }
+
 //##############################################################################
 //#################################  SLOTS  ####################################
 //##############################################################################
@@ -898,6 +984,7 @@ void XYCurvePrivate::retransform(){
 	updateSymbols();
 	updateValues();
 	m_suppressRecalc = false;
+	updateFilling();
 	updateErrorBars();
 }
 
@@ -1360,6 +1447,17 @@ void XYCurvePrivate::updateValues(){
 	recalcShapeAndBoundingRect();
 }
 
+void XYCurvePrivate::updateFilling() {
+	fillingPath = QPainterPath();
+
+	if (fillingPosition!=XYCurve::NoFilling) {
+		QRectF rect = linePath.boundingRect();
+		fillingPath.addRect(rect);
+	}
+
+	updatePixmap();
+}
+
 void XYCurvePrivate::updateErrorBars(){
   	errorBarsPath = QPainterPath();
 	if (xErrorType==XYCurve::NoError && yErrorType==XYCurve::NoError){
@@ -1581,6 +1679,92 @@ void XYCurvePrivate::draw(QPainter *painter) {
 		drawValues(painter);
 	}
 
+	//draw filling
+	if (fillingPosition != XYCurve::NoFilling) {
+		painter->setOpacity(fillingOpacity);
+		painter->setPen(Qt::NoPen);
+		QRectF rect = fillingPath.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));
+					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::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:
+	// 					painter->drawPixmap(QPointF(rect.center().x()-pix.size().width()/2,rect.center().y()-pix.size().height()/2),pix);
 +						break;
+					case PlotArea::Tiled:
+						painter->setBrush(QBrush(pix));
+	// 					painter->drawRoundedRect(rect, borderCornerRadius, borderCornerRadius);
+						break;
+					case PlotArea::CenterTiled:
+						painter->setBrush(QBrush(pix));
+						painter->setBrushOrigin(pix.size().width()/2,pix.size().height()/2);
+	// 					painter->drawRoundedRect(rect, borderCornerRadius, borderCornerRadius);
+				}
+			}
+		} else if (fillingType == PlotArea::Pattern){
+			painter->setBrush(QBrush(fillingFirstColor,fillingBrushStyle));
+		}
+
+		painter->drawPath(fillingPath);
+	}
+
 }
 
 void XYCurvePrivate::updatePixmap() {
diff --git a/src/backend/worksheet/plots/cartesian/XYCurve.h \
b/src/backend/worksheet/plots/cartesian/XYCurve.h index ef7b605..552527c 100644
--- a/src/backend/worksheet/plots/cartesian/XYCurve.h
+++ b/src/backend/worksheet/plots/cartesian/XYCurve.h
@@ -31,6 +31,7 @@
 #define XYCURVE_H
 
 #include "backend/worksheet/WorksheetElement.h"
+#include "backend/worksheet/plots/PlotArea.h"
 #include "backend/lib/macros.h"
 #include "backend/core/AbstractColumn.h"
 
@@ -51,6 +52,7 @@ class XYCurve: public WorksheetElement {
 		enum ValuesType {NoValues, ValuesX, ValuesY, ValuesXY, ValuesXYBracketed, \
ValuesCustomColumn};  enum ValuesPosition {ValuesAbove, ValuesUnder, ValuesLeft, \
ValuesRight};  enum ErrorType {NoError, SymmetricError, AsymmetricError};
+		enum FillingPosition {NoFilling, FillingAbove, FillingBelow, FillingLeft, \
FillingRight};  enum ErrorBarsType {ErrorBarsSimple, ErrorBarsWithEnds};
 
 		explicit XYCurve(const QString &name);
@@ -96,6 +98,16 @@ class XYCurve: public WorksheetElement {
 		CLASS_D_ACCESSOR_DECL(QColor, valuesColor, ValuesColor)
 		CLASS_D_ACCESSOR_DECL(QFont, valuesFont, ValuesFont)
 
+		BASIC_D_ACCESSOR_DECL(FillingPosition, fillingPosition, FillingPosition)
+		BASIC_D_ACCESSOR_DECL(PlotArea::BackgroundType, fillingType, FillingType)
+		BASIC_D_ACCESSOR_DECL(PlotArea::BackgroundColorStyle, fillingColorStyle, \
FillingColorStyle) +		BASIC_D_ACCESSOR_DECL(PlotArea::BackgroundImageStyle, \
fillingImageStyle, FillingImageStyle) +		BASIC_D_ACCESSOR_DECL(Qt::BrushStyle, \
fillingBrushStyle, FillingBrushStyle) +		CLASS_D_ACCESSOR_DECL(QColor, \
fillingFirstColor, FillingFirstColor) +		CLASS_D_ACCESSOR_DECL(QColor, \
fillingSecondColor, FillingSecondColor) +		CLASS_D_ACCESSOR_DECL(QString, \
fillingFileName, FillingFileName) +		BASIC_D_ACCESSOR_DECL(qreal, fillingOpacity, \
FillingOpacity) +
 		BASIC_D_ACCESSOR_DECL(ErrorType, xErrorType, XErrorType)
 		POINTER_D_ACCESSOR_DECL(const AbstractColumn, xErrorPlusColumn, XErrorPlusColumn)
 		QString& xErrorPlusColumnPath() const;
@@ -216,7 +228,27 @@ class XYCurve: public WorksheetElement {
 		void valuesFontChanged(QFont);
 		void valuesColorChanged(QColor);
 
-		//"Error bars"-Tab
+		//Filling
+		friend class XYCurveSetFillingPositionCmd;
+		friend class XYCurveSetFillingTypeCmd;
+		friend class XYCurveSetFillingColorStyleCmd;
+		friend class XYCurveSetFillingImageStyleCmd;
+		friend class XYCurveSetFillingBrushStyleCmd;
+		friend class XYCurveSetFillingFirstColorCmd;
+		friend class XYCurveSetFillingSecondColorCmd;
+		friend class XYCurveSetFillingFileNameCmd;
+		friend class XYCurveSetFillingOpacityCmd;
+		void fillingPositionChanged(XYCurve::FillingPosition);
+		void fillingTypeChanged(PlotArea::BackgroundType);
+		void fillingColorStyleChanged(PlotArea::BackgroundColorStyle);
+		void fillingImageStyleChanged(PlotArea::BackgroundImageStyle);
+		void fillingBrushStyleChanged(Qt::BrushStyle);
+		void fillingFirstColorChanged(QColor&);
+		void fillingSecondColorChanged(QColor&);
+		void fillingFileNameChanged(QString&);
+		void fillingOpacityChanged(float);
+
+		//Error bars
 		friend class XYCurveSetXErrorTypeCmd;
 		friend class XYCurveSetXErrorPlusColumnCmd;
 		friend class XYCurveSetXErrorMinusColumnCmd;
diff --git a/src/backend/worksheet/plots/cartesian/XYCurvePrivate.h \
b/src/backend/worksheet/plots/cartesian/XYCurvePrivate.h index 76b30fd..6af8e3e \
                100644
--- a/src/backend/worksheet/plots/cartesian/XYCurvePrivate.h
+++ b/src/backend/worksheet/plots/cartesian/XYCurvePrivate.h
@@ -56,6 +56,7 @@ class XYCurvePrivate: public QGraphicsItem {
 		void updateDropLines();
 		void updateSymbols();
 		void updateValues();
+		void updateFilling();
 		void updateErrorBars();
 		bool swapVisible(bool on);
 		void recalcShapeAndBoundingRect();
@@ -66,21 +67,25 @@ class XYCurvePrivate: public QGraphicsItem {
 
 		virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget* widget = \
0);  
+		//data columns
 		const AbstractColumn* xColumn;
 		const AbstractColumn* yColumn;
 		QString xColumnPath;
 		QString yColumnPath;
 
+		//line
 		XYCurve::LineType lineType;
 		bool lineSkipGaps;
 		int lineInterpolationPointsCount;
 		QPen linePen;
 		qreal lineOpacity;
 
+		//drop lines
 		XYCurve::DropLineType dropLineType;
 		QPen dropLinePen;
 		qreal dropLineOpacity;
 
+		//symbols
 		XYCurve::SymbolsStyle symbolsStyle;
 		QBrush symbolsBrush;
 		QPen symbolsPen;
@@ -89,6 +94,7 @@ class XYCurvePrivate: public QGraphicsItem {
 		qreal symbolsSize;
 		qreal symbolsAspectRatio;
 
+		//values
 		XYCurve::ValuesType valuesType;
 		const AbstractColumn* valuesColumn;
 		QString valuesColumnPath;
@@ -101,6 +107,17 @@ class XYCurvePrivate: public QGraphicsItem {
 		QFont valuesFont;
 		QColor valuesColor;
 
+		//filling
+		XYCurve::FillingPosition fillingPosition;
+		PlotArea::BackgroundType fillingType;
+		PlotArea::BackgroundColorStyle fillingColorStyle;
+		PlotArea::BackgroundImageStyle fillingImageStyle;
+		Qt::BrushStyle fillingBrushStyle;
+		QColor fillingFirstColor;
+		QColor fillingSecondColor;
+		QString fillingFileName;
+		qreal fillingOpacity;
+
 		//error bars
 		XYCurve::ErrorType xErrorType;
 		const AbstractColumn* xErrorPlusColumn;
@@ -122,6 +139,7 @@ class XYCurvePrivate: public QGraphicsItem {
 		QPainterPath linePath;
 		QPainterPath dropLinePath;
 		QPainterPath valuesPath;
+		QPainterPath fillingPath;
 		QPainterPath errorBarsPath;
 		QPainterPath symbolsPath;
 		QRectF boundingRectangle;
diff --git a/src/kdefrontend/dockwidgets/XYCurveDock.cpp \
b/src/kdefrontend/dockwidgets/XYCurveDock.cpp index db2d2bc..e022fa5 100644
--- a/src/kdefrontend/dockwidgets/XYCurveDock.cpp
+++ b/src/kdefrontend/dockwidgets/XYCurveDock.cpp
@@ -64,12 +64,12 @@ XYCurveDock::XYCurveDock(QWidget *parent): QWidget(parent), \
cbXColumn(0), cbYCol  gridLayout->addWidget(cbValuesColumn, 2, 2, 1, 1);
 
 	//Tab "Filling"
-	ui.cbFillingBackgroundColorStyle->setSizeAdjustPolicy(QComboBox::AdjustToMinimumContentsLengthWithIcon);
                
-	ui.kleFillingBackgroundFileName->setClearButtonShown(true);
+	ui.cbFillingColorStyle->setSizeAdjustPolicy(QComboBox::AdjustToMinimumContentsLengthWithIcon);
 +	ui.kleFillingFileName->setClearButtonShown(true);
 	ui.bFillingOpen->setIcon( KIcon("document-open") );
 
 	KUrlCompletion *comp = new KUrlCompletion();
-	ui.kleFillingBackgroundFileName->setCompletionObject(comp);
+	ui.kleFillingFileName->setCompletionObject(comp);
 
 	//Tab "Error bars"
 	gridLayout = qobject_cast<QGridLayout*>(ui.tabErrorBars->layout());
@@ -141,6 +141,19 @@ XYCurveDock::XYCurveDock(QWidget *parent): QWidget(parent), \
cbXColumn(0), cbYCol  connect( ui.kfrValuesFont, SIGNAL(fontSelected(QFont)), this, \
SLOT(valuesFontChanged(QFont)) );  connect( ui.kcbValuesColor, \
SIGNAL(changed(QColor)), this, SLOT(valuesColorChanged(QColor)) );  
+	//Filling
+	connect( ui.cbFillingPosition, SIGNAL(currentIndexChanged(int)), this, \
SLOT(fillingPositionChanged(int)) ); +	connect( ui.cbFillingType, \
SIGNAL(currentIndexChanged(int)), this, SLOT(fillingTypeChanged(int)) ); +	connect( \
ui.cbFillingColorStyle, SIGNAL(currentIndexChanged(int)), this, \
SLOT(fillingColorStyleChanged(int)) ); +	connect( ui.cbFillingImageStyle, \
SIGNAL(currentIndexChanged(int)), this, SLOT(fillingImageStyleChanged(int)) ); \
+	connect( ui.cbFillingBrushStyle, SIGNAL(currentIndexChanged(int)), this, \
SLOT(fillingBrushStyleChanged(int)) ); +	connect(ui.bFillingOpen, \
SIGNAL(clicked(bool)), this, SLOT(selectFile())); +	connect( ui.kleFillingFileName, \
SIGNAL(returnPressed()), this, SLOT(fileNameChanged()) ); +	connect( \
ui.kleFillingFileName, SIGNAL(clearButtonClicked()), this, SLOT(fileNameChanged()) ); \
+	connect( ui.kcbFillingFirstColor, SIGNAL(changed(QColor)), this, \
SLOT(fillingFirstColorChanged(QColor)) ); +	connect( ui.kcbFillingSecondColor, \
SIGNAL(changed(QColor)), this, SLOT(fillingSecondColorChanged(QColor)) ); +	connect( \
ui.sbFillingOpacity, SIGNAL(valueChanged(int)), this, \
SLOT(fillingOpacityChanged(int)) ); +
 	//Error bars
 	connect( ui.cbXErrorType, SIGNAL(currentIndexChanged(int)), this, \
SLOT(xErrorTypeChanged(int)) );  connect( cbXErrorPlusColumn, \
SIGNAL(currentModelIndexChanged(QModelIndex)), this, \
SLOT(xErrorPlusColumnChanged(QModelIndex)) ); @@ -400,33 +413,34 @@ void \
XYCurveDock::init(){  ui.cbValuesPosition->addItem(i18n("right"));
 
 	//Filling
-	ui.cbFillingDirection->clear();
-	ui.cbFillingDirection->addItem(i18n("above"));
-	ui.cbFillingDirection->addItem(i18n("below"));
-	ui.cbFillingDirection->addItem(i18n("left"));
-	ui.cbFillingDirection->addItem(i18n("right"));
-
-	ui.cbFillingBackgroundType->clear();
-	ui.cbFillingBackgroundType->addItem(i18n("color"));
-	ui.cbFillingBackgroundType->addItem(i18n("image"));
-	ui.cbFillingBackgroundType->addItem(i18n("pattern"));
-
-	ui.cbFillingBackgroundColorStyle->clear();
-	ui.cbFillingBackgroundColorStyle->addItem(i18n("single color"));
-	ui.cbFillingBackgroundColorStyle->addItem(i18n("horizontal linear gradient"));
-	ui.cbFillingBackgroundColorStyle->addItem(i18n("vertical linear gradient"));
-	ui.cbFillingBackgroundColorStyle->addItem(i18n("diagonal linear gradient (start \
                from top left)"));
-	ui.cbFillingBackgroundColorStyle->addItem(i18n("diagonal linear gradient (start \
                from bottom left)"));
-	ui.cbFillingBackgroundColorStyle->addItem(i18n("radial gradient"));
-
-	ui.cbFillingBackgroundImageStyle->clear();
-	ui.cbFillingBackgroundImageStyle->addItem(i18n("scaled and cropped"));
-	ui.cbFillingBackgroundImageStyle->addItem(i18n("scaled"));
-	ui.cbFillingBackgroundImageStyle->addItem(i18n("scaled, keep proportions"));
-	ui.cbFillingBackgroundImageStyle->addItem(i18n("centered"));
-	ui.cbFillingBackgroundImageStyle->addItem(i18n("tiled"));
-	ui.cbFillingBackgroundImageStyle->addItem(i18n("center tiled"));
-	GuiTools::updateBrushStyles(ui.cbFillingBackgroundBrushStyle, Qt::SolidPattern);
+	ui.cbFillingPosition->clear();
+	ui.cbFillingPosition->addItem(i18n("none"));
+	ui.cbFillingPosition->addItem(i18n("above"));
+	ui.cbFillingPosition->addItem(i18n("below"));
+	ui.cbFillingPosition->addItem(i18n("left"));
+	ui.cbFillingPosition->addItem(i18n("right"));
+
+	ui.cbFillingType->clear();
+	ui.cbFillingType->addItem(i18n("color"));
+	ui.cbFillingType->addItem(i18n("image"));
+	ui.cbFillingType->addItem(i18n("pattern"));
+
+	ui.cbFillingColorStyle->clear();
+	ui.cbFillingColorStyle->addItem(i18n("single color"));
+	ui.cbFillingColorStyle->addItem(i18n("horizontal linear gradient"));
+	ui.cbFillingColorStyle->addItem(i18n("vertical linear gradient"));
+	ui.cbFillingColorStyle->addItem(i18n("diagonal linear gradient (start from top \
left)")); +	ui.cbFillingColorStyle->addItem(i18n("diagonal linear gradient (start \
from bottom left)")); +	ui.cbFillingColorStyle->addItem(i18n("radial gradient"));
+
+	ui.cbFillingImageStyle->clear();
+	ui.cbFillingImageStyle->addItem(i18n("scaled and cropped"));
+	ui.cbFillingImageStyle->addItem(i18n("scaled"));
+	ui.cbFillingImageStyle->addItem(i18n("scaled, keep proportions"));
+	ui.cbFillingImageStyle->addItem(i18n("centered"));
+	ui.cbFillingImageStyle->addItem(i18n("tiled"));
+	ui.cbFillingImageStyle->addItem(i18n("center tiled"));
+	GuiTools::updateBrushStyles(ui.cbFillingBrushStyle, Qt::SolidPattern);
 
 	//Error-bars
 	pm.fill(Qt::transparent);
@@ -612,6 +626,17 @@ void XYCurveDock::initTabs() {
 	connect(m_curve, SIGNAL(valuesFontChanged(QFont)), this, \
SLOT(curveValuesFontChanged(QFont)));  connect(m_curve, \
SIGNAL(valuesColorChanged(QColor)), this, SLOT(curveValuesColorChanged(QColor)));  
+	//Filling-Tab
+	connect( m_curve, SIGNAL(fillingPositionChanged(XYCurve::FillingPosition)), this, \
SLOT(curveFillingPositionChanged(XYCurve::FillingPosition)) ); +	connect( m_curve, \
SIGNAL(fillingTypeChanged(PlotArea::BackgroundType)), this, \
SLOT(curveFillingTypeChanged(PlotArea::BackgroundType)) ); +	connect( m_curve, \
SIGNAL(fillingColorStyleChanged(PlotArea::BackgroundColorStyle)), this, \
SLOT(curveFillingColorStyleChanged(PlotArea::BackgroundColorStyle)) ); +	connect( \
m_curve, SIGNAL(fillingImageStyleChanged(PlotArea::BackgroundImageStyle)), this, \
SLOT(curveFillingImageStyleChanged(PlotArea::BackgroundImageStyle)) ); +	connect( \
m_curve, SIGNAL(fillingBrushStyleChanged(Qt::BrushStyle)), this, \
SLOT(curveFillingBrushStyleChanged(Qt::BrushStyle)) ); +	connect( m_curve, \
SIGNAL(fillingFirstColorChanged(QColor&)), this, \
SLOT(curveFillingFirstColorChanged(QColor&)) ); +	connect( m_curve, \
SIGNAL(fillingSecondColorChanged(QColor&)), this, \
SLOT(curveFillingSecondColorChanged(QColor&)) ); +	connect( m_curve, \
SIGNAL(fillingFileNameChanged(QString&)), this, \
SLOT(curveFillingFileNameChanged(QString&)) ); +	connect( m_curve, \
SIGNAL(fillingOpacityChanged(float)), this, SLOT(curveFillingOpacityChanged(float)) \
); +
 	//"Error bars"-Tab
 	connect(m_curve, SIGNAL(xErrorTypeChanged(XYCurve::ErrorType)), this, \
SLOT(curveXErrorTypeChanged(XYCurve::ErrorType)));  connect(m_curve, \
SIGNAL(xErrorPlusColumnChanged(const AbstractColumn*)), this, \
SLOT(curveXErrorPlusColumnChanged(const AbstractColumn*))); @@ -991,7 +1016,6 @@ void \
XYCurveDock::dropLineOpacityChanged(int value){  
 //"Symbol"-tab
 void XYCurveDock::symbolsStyleChanged(int index){
-  Q_UNUSED(index);
   XYCurve::SymbolsStyle style = XYCurve::SymbolsStyle(index);
 
   if (style==XYCurve::NoSymbols){
@@ -1286,6 +1310,189 @@ void XYCurveDock::valuesColorChanged(const QColor& color){
 		curve->setValuesColor(color);
 }
 
+//Filling-tab
+void XYCurveDock::fillingPositionChanged(int index){
+  XYCurve::FillingPosition fillingPosition = XYCurve::FillingPosition(index);
+
+  if ( fillingPosition == XYCurve::NoFilling){
+
+  }
+
+  if (m_initializing)
+	return;
+
+  foreach(XYCurve* curve, m_curvesList)
+	curve->setFillingPosition(fillingPosition);
+}
+
+void XYCurveDock::fillingTypeChanged(int index){
+	PlotArea::BackgroundType type = (PlotArea::BackgroundType)index;
+
+	if (type == PlotArea::Color){
+		ui.lFillingColorStyle->show();
+		ui.cbFillingColorStyle->show();
+		ui.lFillingImageStyle->hide();
+		ui.cbFillingImageStyle->hide();
+		ui.lFillingBrushStyle->hide();
+		ui.cbFillingBrushStyle->hide();
+
+		ui.lFillingFileName->hide();
+		ui.kleFillingFileName->hide();
+		ui.bFillingOpen->hide();
+
+		ui.lFillingFirstColor->show();
+		ui.kcbFillingFirstColor->show();
+
+		PlotArea::BackgroundColorStyle style =
+			(PlotArea::BackgroundColorStyle) ui.cbFillingColorStyle->currentIndex();
+		if (style == PlotArea::SingleColor){
+			ui.lFillingFirstColor->setText(i18n("Color"));
+			ui.lFillingSecondColor->hide();
+			ui.kcbFillingSecondColor->hide();
+		}else{
+			ui.lFillingFirstColor->setText(i18n("First Color"));
+			ui.lFillingSecondColor->show();
+			ui.kcbFillingSecondColor->show();
+		}
+	}else if(type == PlotArea::Image){
+		ui.lFillingColorStyle->hide();
+		ui.cbFillingColorStyle->hide();
+		ui.lFillingImageStyle->show();
+		ui.cbFillingImageStyle->show();
+		ui.lFillingBrushStyle->hide();
+		ui.cbFillingBrushStyle->hide();
+		ui.lFillingFileName->show();
+		ui.kleFillingFileName->show();
+		ui.bFillingOpen->show();
+
+		ui.lFillingFirstColor->hide();
+		ui.kcbFillingFirstColor->hide();
+		ui.lFillingSecondColor->hide();
+		ui.kcbFillingSecondColor->hide();
+	}else if(type == PlotArea::Pattern) {
+		ui.lFillingFirstColor->setText(i18n("Color"));
+		ui.lFillingColorStyle->hide();
+		ui.cbFillingColorStyle->hide();
+		ui.lFillingImageStyle->hide();
+		ui.cbFillingImageStyle->hide();
+		ui.lFillingBrushStyle->show();
+		ui.cbFillingBrushStyle->show();
+		ui.lFillingFileName->hide();
+		ui.kleFillingFileName->hide();
+		ui.bFillingOpen->hide();
+
+		ui.lFillingFirstColor->show();
+		ui.kcbFillingFirstColor->show();
+		ui.lFillingSecondColor->hide();
+		ui.kcbFillingSecondColor->hide();
+	}
+
+	if (m_initializing)
+		return;
+
+	foreach(XYCurve* curve, m_curvesList)
+		curve->setFillingType(type);
+}
+
+void XYCurveDock::fillingColorStyleChanged(int index){
+	PlotArea::BackgroundColorStyle style = (PlotArea::BackgroundColorStyle)index;
+
+	if (style == PlotArea::SingleColor){
+		ui.lFillingFirstColor->setText(i18n("Color"));
+		ui.lFillingSecondColor->hide();
+		ui.kcbFillingSecondColor->hide();
+		ui.lFillingBrushStyle->show();
+		ui.cbFillingBrushStyle->show();
+	}else{
+		ui.lFillingFirstColor->setText(i18n("First Color"));
+		ui.lFillingSecondColor->show();
+		ui.kcbFillingSecondColor->show();
+		ui.lFillingBrushStyle->hide();
+		ui.cbFillingBrushStyle->hide();
+	}
+
+	if (m_initializing)
+		return;
+
+	foreach(XYCurve* curve, m_curvesList)
+		curve->setFillingColorStyle(style);
+}
+
+void XYCurveDock::fillingImageStyleChanged(int index){
+	if (m_initializing)
+		return;
+
+	PlotArea::BackgroundImageStyle style = (PlotArea::BackgroundImageStyle)index;
+	foreach(XYCurve* curve, m_curvesList)
+		curve->setFillingImageStyle(style);
+}
+
+void XYCurveDock::fillingBrushStyleChanged(int index){
+	if (m_initializing)
+		return;
+
+	Qt::BrushStyle style = (Qt::BrushStyle)index;
+	foreach(XYCurve* curve, m_curvesList)
+		curve->setFillingBrushStyle(style);
+}
+
+void XYCurveDock::fillingFirstColorChanged(const QColor& c){
+	if (m_initializing)
+		return;
+
+	foreach(XYCurve* curve, m_curvesList)
+		curve->setFillingFirstColor(c);
+}
+
+void XYCurveDock::fillingSecondColorChanged(const QColor& c){
+	if (m_initializing)
+		return;
+
+	foreach(XYCurve* curve, m_curvesList)
+		curve->setFillingSecondColor(c);
+}
+
+/*!
+	opens a file dialog and lets the user select the image file.
+*/
+void XYCurveDock::selectFile() {
+	KConfigGroup conf(KSharedConfig::openConfig(), "XYCurveDock");
+	QString dir = conf.readEntry("LastImageDir", "");
+    QString path = QFileDialog::getOpenFileName(this, i18n("Select the image file"), \
dir); +    if (path.isEmpty())
+        return; //cancel was clicked in the file-dialog
+
+	int pos = path.lastIndexOf(QDir::separator());
+	if (pos!=-1) {
+		QString newDir = path.left(pos);
+		if (newDir!=dir)
+			conf.writeEntry("LastImageDir", newDir);
+	}
+
+    ui.kleFillingFileName->setText( path );
+
+	foreach(XYCurve* curve, m_curvesList)
+		curve->setFillingFileName(path);
+}
+
+void XYCurveDock::fileNameChanged(){
+	if (m_initializing)
+		return;
+
+	QString fileName = ui.kleFillingFileName->text();
+	foreach(XYCurve* curve, m_curvesList)
+		curve->setFillingFileName(fileName);
+}
+
+void XYCurveDock::fillingOpacityChanged(int value){
+	if (m_initializing)
+		return;
+
+	qreal opacity = (float)value/100.;
+	foreach(XYCurve* curve, m_curvesList)
+		curve->setFillingOpacity(opacity);
+}
+
 //"Error bars"-Tab
 void XYCurveDock::xErrorTypeChanged(int index) const {
 	if (index == 0) {
@@ -1665,6 +1872,54 @@ void XYCurveDock::curveValuesColorChanged(QColor color) {
 	m_initializing = false;
 }
 
+//Filling
+void XYCurveDock::curveFillingPositionChanged(XYCurve::FillingPosition position) {
+	m_initializing = true;
+	ui.cbFillingPosition->setCurrentIndex((int)position);
+	m_initializing = false;
+}
+void XYCurveDock::curveFillingTypeChanged(PlotArea::BackgroundType type){
+	m_initializing = true;
+	ui.cbFillingType->setCurrentIndex(type);
+	m_initializing = false;
+}
+void XYCurveDock::curveFillingColorStyleChanged(PlotArea::BackgroundColorStyle \
style){ +	m_initializing = true;
+	ui.cbFillingColorStyle->setCurrentIndex(style);
+	m_initializing = false;
+}
+void XYCurveDock::curveFillingImageStyleChanged(PlotArea::BackgroundImageStyle \
style){ +	m_initializing = true;
+	ui.cbFillingImageStyle->setCurrentIndex(style);
+	m_initializing = false;
+}
+void XYCurveDock::curveFillingBrushStyleChanged(Qt::BrushStyle style){
+	m_initializing = true;
+	ui.cbFillingBrushStyle->setCurrentIndex(style);
+	m_initializing = false;
+}
+void XYCurveDock::curveFillingFirstColorChanged(QColor& color){
+	m_initializing = true;
+	ui.kcbFillingFirstColor->setColor(color);
+	m_initializing = false;
+}
+void XYCurveDock::curveFillingSecondColorChanged(QColor& color){
+	m_initializing = true;
+	ui.kcbFillingSecondColor->setColor(color);
+	m_initializing = false;
+}
+void XYCurveDock::curveFillingFileNameChanged(QString& filename){
+	m_initializing = true;
+	ui.kleFillingFileName->setText(filename);
+	m_initializing = false;
+}
+void XYCurveDock::curveFillingOpacityChanged(float opacity){
+	m_initializing = true;
+	ui.sbFillingOpacity->setValue( round(opacity*100.0) );
+	m_initializing = false;
+}
+
+
 //"Error bars"-Tab
 void XYCurveDock::curveXErrorTypeChanged(XYCurve::ErrorType type) {
 	m_initializing = true;
@@ -1769,9 +2024,18 @@ void XYCurveDock::load() {
   	ui.kfrValuesFont->setFont(valuesFont);
   	ui.kcbValuesColor->setColor( m_curve->valuesColor() );
 
-	//TODO: Area Filling
+	//Filling
+	ui.cbFillingPosition->setCurrentIndex( (int) m_curve->fillingPosition() );
+	ui.cbFillingType->setCurrentIndex( (int)m_curve->fillingType() );
+	ui.cbFillingColorStyle->setCurrentIndex( (int) m_curve->fillingColorStyle() );
+	ui.cbFillingImageStyle->setCurrentIndex( (int) m_curve->fillingImageStyle() );
+	ui.cbFillingBrushStyle->setCurrentIndex( (int) m_curve->fillingBrushStyle() );
+	ui.kleFillingFileName->setText( m_curve->fillingFileName() );
+	ui.kcbFillingFirstColor->setColor( m_curve->fillingFirstColor() );
+	ui.kcbFillingSecondColor->setColor( m_curve->fillingSecondColor() );
+	ui.sbFillingOpacity->setValue( round(m_curve->fillingOpacity()*100.0) );
 
-	//"Error bars"-Tab
+	//Error bars
 	ui.cbXErrorType->setCurrentIndex( (int) m_curve->xErrorType() );
 	ui.cbYErrorType->setCurrentIndex( (int) m_curve->yErrorType() );
 	ui.cbErrorBarsType->setCurrentIndex( (int) m_curve->errorBarsType() );
@@ -1859,9 +2123,18 @@ void XYCurveDock::loadConfig(KConfig& config) {
   	ui.kfrValuesFont->setFont( group.readEntry("ValuesFont", valuesFont) );
   	ui.kcbValuesColor->setColor( group.readEntry("ValuesColor", \
m_curve->valuesColor()) );  
-	//TODO: Area Filling
+	//Filling
+	ui.cbFillingPosition->setCurrentIndex( group.readEntry("FillingPosition", (int) \
m_curve->fillingPosition()) ); +	ui.cbFillingType->setCurrentIndex( \
group.readEntry("FillingType", (int) m_curve->fillingType()) ); \
+	ui.cbFillingColorStyle->setCurrentIndex( group.readEntry("FillingColorStyle", (int) \
m_curve->fillingColorStyle()) ); +	ui.cbFillingImageStyle->setCurrentIndex( \
group.readEntry("FillingImageStyle", (int) m_curve->fillingImageStyle()) ); \
+	ui.cbFillingBrushStyle->setCurrentIndex( group.readEntry("FillingBrushStyle", (int) \
m_curve->fillingBrushStyle()) ); +	ui.kleFillingFileName->setText( \
group.readEntry("FillingFileName", m_curve->fillingFileName()) ); \
+	ui.kcbFillingFirstColor->setColor( group.readEntry("FillingFirstColor", \
m_curve->fillingFirstColor()) ); +	ui.kcbFillingSecondColor->setColor( \
group.readEntry("FillingSecondColor", m_curve->fillingSecondColor()) ); \
+	ui.sbFillingOpacity->setValue( round(group.readEntry("FillingOpacity", \
m_curve->fillingOpacity())*100.0) );  
-	//"Error bars"-Tab
+	//Error bars
 	ui.cbXErrorType->setCurrentIndex( group.readEntry("XErrorType", (int) \
m_curve->xErrorType()) );  ui.cbYErrorType->setCurrentIndex( \
group.readEntry("YErrorType", (int) m_curve->yErrorType()) );  \
ui.cbErrorBarsType->setCurrentIndex( group.readEntry("ErrorBarsType", (int) \
m_curve->errorBarsType()) ); @@ -1924,7 +2197,16 @@ void \
XYCurveDock::saveConfig(KConfig& config){  group.writeEntry("ValuesFont", \
ui.kfrValuesFont->font());  group.writeEntry("ValuesColor", \
ui.kcbValuesColor->color());  
-	//TODO: Area Filling,
+	//Filling
+	group.writeEntry("FillingPosition", ui.cbFillingPosition->currentIndex());
+	group.writeEntry("FillingType", ui.cbFillingType->currentIndex());
+	group.writeEntry("FillingColorStyle", ui.cbFillingColorStyle->currentIndex());
+	group.writeEntry("FillingImageStyle", ui.cbFillingImageStyle->currentIndex());
+	group.writeEntry("FillingBrushStyle", ui.cbFillingBrushStyle->currentIndex());
+	group.writeEntry("FillingFileName", ui.kleFillingFileName->text());
+	group.writeEntry("FillingFirstColor", ui.kcbFillingFirstColor->color());
+	group.writeEntry("FillingSecondColor", ui.kcbFillingSecondColor->color());
+	group.writeEntry("FillingOpacity", ui.sbFillingOpacity->value()/100.0);
 
 	//Error bars
 	group.writeEntry("XErrorType", ui.cbXErrorType->currentIndex());
diff --git a/src/kdefrontend/dockwidgets/XYCurveDock.h \
b/src/kdefrontend/dockwidgets/XYCurveDock.h index 1b6fc49..8a9173c 100644
--- a/src/kdefrontend/dockwidgets/XYCurveDock.h
+++ b/src/kdefrontend/dockwidgets/XYCurveDock.h
@@ -32,6 +32,7 @@
 
 #include "backend/core/AbstractColumn.h"
 #include "backend/worksheet/plots/cartesian/XYCurve.h"
+#include "backend/worksheet/plots/PlotArea.h"
 #include "ui_xycurvedock.h"
 #include "ui_xycurvedockgeneraltab.h"
 
@@ -128,6 +129,18 @@ private slots:
 	void valuesFontChanged(const QFont&);
 	void valuesColorChanged(const QColor&);
 
+	//Filling-tab
+	void fillingPositionChanged(int);
+  	void fillingTypeChanged(int);
+	void fillingColorStyleChanged(int);
+	void fillingImageStyleChanged(int);
+	void fillingBrushStyleChanged(int);
+	void fillingFirstColorChanged(const QColor&);
+	void fillingSecondColorChanged(const QColor&);
+	void selectFile();
+	void fileNameChanged();
+	void fillingOpacityChanged(int);
+
 	//"Error bars"-Tab
 	void xErrorTypeChanged(int) const;
 	void yErrorTypeChanged(int) const;
@@ -178,6 +191,17 @@ private slots:
 	void curveValuesFontChanged(QFont);
 	void curveValuesColorChanged(QColor);
 
+	//Filling-Tab
+	void curveFillingPositionChanged(XYCurve::FillingPosition);
+	void curveFillingTypeChanged(PlotArea::BackgroundType);
+	void curveFillingColorStyleChanged(PlotArea::BackgroundColorStyle);
+	void curveFillingImageStyleChanged(PlotArea::BackgroundImageStyle);
+	void curveFillingBrushStyleChanged(Qt::BrushStyle);
+	void curveFillingFirstColorChanged(QColor&);
+	void curveFillingSecondColorChanged(QColor&);
+	void curveFillingFileNameChanged(QString&);
+	void curveFillingOpacityChanged(float);
+
 	//"Error bars"-Tab
 	void curveXErrorTypeChanged(XYCurve::ErrorType);
 	void curveXErrorPlusColumnChanged(const AbstractColumn*);
diff --git a/src/kdefrontend/ui/dockwidgets/xycurvedock.ui \
b/src/kdefrontend/ui/dockwidgets/xycurvedock.ui index 1e66731..c5593f6 100644
--- a/src/kdefrontend/ui/dockwidgets/xycurvedock.ui
+++ b/src/kdefrontend/ui/dockwidgets/xycurvedock.ui
@@ -986,7 +986,7 @@
       </attribute>
       <layout class="QGridLayout" name="gridLayout_5">
        <item row="0" column="0">
-        <widget class="QLabel" name="lFillingDirection">
+        <widget class="QLabel" name="lFillingPosition">
          <property name="text">
           <string>Direction</string>
          </property>
@@ -1009,7 +1009,7 @@
         </spacer>
        </item>
        <item row="0" column="2">
-        <widget class="KComboBox" name="cbFillingDirection">
+        <widget class="KComboBox" name="cbFillingPosition">
          <property name="sizePolicy">
           <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
            <horstretch>0</horstretch>
@@ -1019,14 +1019,14 @@
         </widget>
        </item>
        <item row="1" column="0">
-        <widget class="QLabel" name="lFillingBackgroundType">
+        <widget class="QLabel" name="lFillingType">
          <property name="text">
           <string>Type</string>
          </property>
         </widget>
        </item>
        <item row="1" column="2">
-        <widget class="KComboBox" name="cbFillingBackgroundType">
+        <widget class="KComboBox" name="cbFillingType">
          <property name="sizePolicy">
           <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
            <horstretch>0</horstretch>
@@ -1036,14 +1036,14 @@
         </widget>
        </item>
        <item row="2" column="0">
-        <widget class="QLabel" name="lFillingBackgroundFileName">
+        <widget class="QLabel" name="lFillingFileName">
          <property name="text">
           <string>File name</string>
          </property>
         </widget>
        </item>
        <item row="2" column="2">
-        <widget class="KLineEdit" name="kleFillingBackgroundFileName">
+        <widget class="KLineEdit" name="kleFillingFileName">
          <property name="toolTip">
           <string>Specify the name of the image file.</string>
          </property>
@@ -1069,64 +1069,64 @@
         </widget>
        </item>
        <item row="3" column="0">
-        <widget class="QLabel" name="lFillingBackgroundColorStyle">
+        <widget class="QLabel" name="lFillingColorStyle">
          <property name="text">
           <string>Color Style</string>
          </property>
         </widget>
        </item>
        <item row="3" column="2">
-        <widget class="KComboBox" name="cbFillingBackgroundColorStyle"/>
+        <widget class="KComboBox" name="cbFillingColorStyle"/>
        </item>
        <item row="4" column="0">
-        <widget class="QLabel" name="lFillingBackgroundImageStyle">
+        <widget class="QLabel" name="lFillingImageStyle">
          <property name="text">
           <string>Image Style</string>
          </property>
         </widget>
        </item>
        <item row="4" column="2">
-        <widget class="KComboBox" name="cbFillingBackgroundImageStyle"/>
+        <widget class="KComboBox" name="cbFillingImageStyle"/>
        </item>
        <item row="5" column="0">
-        <widget class="QLabel" name="lFillingBackgroundBrushStyle">
+        <widget class="QLabel" name="lFillingBrushStyle">
          <property name="text">
           <string>Brush Style</string>
          </property>
         </widget>
        </item>
        <item row="5" column="2">
-        <widget class="KComboBox" name="cbFillingBackgroundBrushStyle"/>
+        <widget class="KComboBox" name="cbFillingBrushStyle"/>
        </item>
        <item row="6" column="0">
-        <widget class="QLabel" name="lFillingBackgroundFirstColor">
+        <widget class="QLabel" name="lFillingFirstColor">
          <property name="text">
           <string>First color</string>
          </property>
         </widget>
        </item>
        <item row="6" column="2">
-        <widget class="KColorButton" name="kcbFillingBackgroundFirstColor"/>
+        <widget class="KColorButton" name="kcbFillingFirstColor"/>
        </item>
        <item row="7" column="0">
-        <widget class="QLabel" name="lFillingBackgroundSecondColor">
+        <widget class="QLabel" name="lFillingSecondColor">
          <property name="text">
           <string>Second color</string>
          </property>
         </widget>
        </item>
        <item row="7" column="2">
-        <widget class="KColorButton" name="kcbFillingBackgroundSecondColor"/>
+        <widget class="KColorButton" name="kcbFillingSecondColor"/>
        </item>
        <item row="8" column="0">
-        <widget class="QLabel" name="lFillingBackgroundOpacity">
+        <widget class="QLabel" name="lFillingOpacity">
          <property name="text">
           <string>Opacity</string>
          </property>
         </widget>
        </item>
        <item row="8" column="2">
-        <widget class="QSpinBox" name="sbFillingBackgroundOpacity">
+        <widget class="QSpinBox" name="sbFillingOpacity">
          <property name="sizePolicy">
           <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
            <horstretch>0</horstretch>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic