[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