[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [labplot/histogram_chart] src: line color change; recalculate button added(doc widget updated)
From: Anu Mittal <anu22mittal () gmail ! com>
Date: 2016-08-08 19:21:10
Message-ID: E1bWq6o-00030Z-HC () code ! kde ! org
[Download RAW message or body]
Git commit dc440154e318702ebc614f615b31b4f66f226b34 by Anu Mittal.
Committed on 08/08/2016 at 19:15.
Pushed by anumittal into branch 'histogram_chart'.
line color change; recalculate button added(doc widget updated)
M +9 -3 src/backend/worksheet/plots/cartesian/Histogram.cpp
M +4 -0 src/backend/worksheet/plots/cartesian/Histogram.h
M +28 -1 src/kdefrontend/dockwidgets/HistogramDock.cpp
M +4 -2 src/kdefrontend/dockwidgets/HistogramDock.h
M +103 -82 src/kdefrontend/ui/dockwidgets/histogramdockgeneraltab.ui
http://commits.kde.org/labplot/dc440154e318702ebc614f615b31b4f66f226b34
diff --git a/src/backend/worksheet/plots/cartesian/Histogram.cpp \
b/src/backend/worksheet/plots/cartesian/Histogram.cpp index c76db66..dd9a8fc 100644
--- a/src/backend/worksheet/plots/cartesian/Histogram.cpp
+++ b/src/backend/worksheet/plots/cartesian/Histogram.cpp
@@ -183,6 +183,7 @@ void Histogram::setbinsOption(Histogram::BinsOption binsOption) {
//##############################################################################
BASIC_SHARED_D_READER_IMPL(Histogram, const AbstractColumn*, xColumn, xColumn)
QString& Histogram::xColumnPath() const { return d_ptr->xColumnPath; }
+CLASS_SHARED_D_READER_IMPL(Histogram, QPen, linePen, linePen)
//values
BASIC_SHARED_D_READER_IMPL(Histogram, Histogram::ValuesType, valuesType, valuesType)
@@ -235,7 +236,12 @@ void Histogram::setXColumn(const AbstractColumn* column) {
}
}
}
-
+STD_SETTER_CMD_IMPL_F_S(Histogram, SetLinePen, QPen, linePen, \
recalcShapeAndBoundingRect) +void Histogram::setLinePen(const QPen &pen) {
+ Q_D(Histogram);
+ if (pen != d->linePen)
+ exec(new HistogramSetLinePenCmd(d, pen, i18n("%1: set line style")));
+}
//Values-Tab
STD_SETTER_CMD_IMPL_F_S(Histogram, SetValuesType, Histogram::ValuesType, valuesType, \
updateValues) void Histogram::setValuesType(Histogram::ValuesType type) {
@@ -606,7 +612,7 @@ void HistogramPrivate::updateLines(){
if ( xColumn->isValid(row) && !xColumn->isMasked(row) )
gsl_histogram_increment(histogram,xColumn->valueAt(row));
}
- for(int i=0;i < bins; ++i) {
+ for(size_t i=0;i < bins; ++i) {
tempPoint.setX(xAxisMin);
tempPoint.setY(0.0);
@@ -650,7 +656,7 @@ void HistogramPrivate::updateLines(){
gsl_histogram_increment(histogram,xColumn->valueAt(row));
}
}
- for(int i=0;i < bins; ++i) {
+ for(size_t i=0;i < bins; ++i) {
point+= gsl_histogram_get(histogram,i);
tempPoint.setX(xAxisMin);
tempPoint.setY(0.0);
diff --git a/src/backend/worksheet/plots/cartesian/Histogram.h \
b/src/backend/worksheet/plots/cartesian/Histogram.h index 1460fa2..0ca538e 100644
--- a/src/backend/worksheet/plots/cartesian/Histogram.h
+++ b/src/backend/worksheet/plots/cartesian/Histogram.h
@@ -70,6 +70,7 @@ class Histogram: public WorksheetElement {
BASIC_D_ACCESSOR_DECL(ValuesType, valuesType, ValuesType)
POINTER_D_ACCESSOR_DECL(const AbstractColumn, valuesColumn, ValuesColumn)
QString& valuesColumnPath() const;
+ CLASS_D_ACCESSOR_DECL(QPen, linePen, LinePen)
BASIC_D_ACCESSOR_DECL(ValuesPosition, valuesPosition, ValuesPosition)
BASIC_D_ACCESSOR_DECL(qreal, valuesDistance, ValuesDistance)
BASIC_D_ACCESSOR_DECL(qreal, valuesRotationAngle, ValuesRotationAngle)
@@ -131,6 +132,7 @@ class Histogram: public WorksheetElement {
friend class HistogramSetXColumnCmd;
friend class HistogramSetYColumnCmd;
+ friend class HistogramSetLinePenCmd;
void xColumnChanged(const AbstractColumn*);
void yColumnChanged(const AbstractColumn*);
@@ -156,6 +158,8 @@ class Histogram: public WorksheetElement {
void valuesFontChanged(QFont);
void valuesColorChanged(QColor);
+ void linePenChanged(const QPen&);
+
//Filling
friend class HistogramSetFillingPositionCmd;
friend class HistogramSetFillingTypeCmd;
diff --git a/src/kdefrontend/dockwidgets/HistogramDock.cpp \
b/src/kdefrontend/dockwidgets/HistogramDock.cpp index f39cf8c..7f7722e 100644
--- a/src/kdefrontend/dockwidgets/HistogramDock.cpp
+++ b/src/kdefrontend/dockwidgets/HistogramDock.cpp
@@ -410,8 +410,14 @@ void HistogramDock::initGeneralTab(){
}
uiGeneralTab.chkVisible->setChecked( m_curve->isVisible() );
uiGeneralTab.cbHistogramType->setCurrentIndex(m_curve->getHistrogramType());
+ connect(m_curve, SIGNAL(linePenChanged(QPen)), this, \
SLOT(curveLinePenChanged(QPen))); + connect(m_curve, SIGNAL(visibilityChanged(bool)), \
this, SLOT(curveVisibilityChanged(bool))); +}
+void HistogramDock::curveLinePenChanged(const QPen& pen) {
+ m_initializing = true;
+ uiGeneralTab.kcbLineColor->setColor( pen.color());
+ m_initializing = false;
}
-
//Values-Tab
void HistogramDock::curveValuesTypeChanged(Histogram::ValuesType type) {
m_initializing = true;
@@ -535,6 +541,12 @@ void HistogramDock::valuesColumnChanged(const QModelIndex& \
index){ curve->setValuesColumn(column);
}
}
+void HistogramDock::curveVisibilityChanged(bool on) {
+ m_initializing = true;
+ uiGeneralTab.chkVisible->setChecked(on);
+ m_initializing = false;
+}
+
void HistogramDock::valuesPositionChanged(int index){
if (m_initializing)
@@ -933,6 +945,7 @@ void HistogramDock::setupGeneral() {
connect( uiGeneralTab.leName, SIGNAL(returnPressed()), this, SLOT(nameChanged()) );
connect( uiGeneralTab.leComment, SIGNAL(returnPressed()), this, \
SLOT(commentChanged()) ); connect( uiGeneralTab.chkVisible, SIGNAL(clicked(bool)), \
this, SLOT(visibilityChanged(bool)) ); + connect( uiGeneralTab.kcbLineColor, \
SIGNAL(changed(QColor)), this, SLOT(lineColorChanged(QColor)) ); connect( cbXColumn, \
SIGNAL(currentModelIndexChanged(QModelIndex)), this, \
SLOT(xColumnChanged(QModelIndex)) ); connect( uiGeneralTab.cbHistogramType, \
SIGNAL(currentIndexChanged(int)), this, SLOT(histogramTypeChanged(int)) ); connect( \
uiGeneralTab.cbBins, SIGNAL(currentIndexChanged(int)), this, \
SLOT(binsOptionChanged(int)) ); @@ -953,7 +966,21 @@ void \
HistogramDock::binsOptionChanged(int index){ Histogram::BinsOption binsOption = \
Histogram::BinsOption(index); m_curve->setbinsOption(binsOption);
}
+void HistogramDock::lineColorChanged(const QColor& color){
+ if (m_initializing)
+ return;
+ QPen pen;
+ foreach(Histogram* curve, m_curvesList){
+ pen=curve->linePen();
+ pen.setColor(color);
+ curve->setLinePen(pen);
+ }
+
+/* m_initializing = true;
+ GuiTools::updatePenStyles(ui.cbLineStyle, color);
+ m_initializing = false;*/
+}
void HistogramDock::xColumnChanged(const QModelIndex& index) {
if (m_initializing)
diff --git a/src/kdefrontend/dockwidgets/HistogramDock.h \
b/src/kdefrontend/dockwidgets/HistogramDock.h index 12eae42..2b6f4de 100644
--- a/src/kdefrontend/dockwidgets/HistogramDock.h
+++ b/src/kdefrontend/dockwidgets/HistogramDock.h
@@ -117,12 +117,14 @@ private slots:
void selectFile();
void fileNameChanged();
void fillingOpacityChanged(int);
+ void lineColorChanged(const QColor&);
//SLOTs for changes triggered in Histogram
//General-Tab
/*void curveDescriptionChanged(const AbstractAspect*);
- void curveXColumnChanged(const AbstractColumn*);
- void curveVisibilityChanged(bool);*/
+ void curveXColumnChanged(const AbstractColumn*);*/
+ void curveVisibilityChanged(bool);
+ void curveLinePenChanged(const QPen&);
//Values-Tab
void curveValuesTypeChanged(Histogram::ValuesType);
diff --git a/src/kdefrontend/ui/dockwidgets/histogramdockgeneraltab.ui \
b/src/kdefrontend/ui/dockwidgets/histogramdockgeneraltab.ui index 990ec05..7f00364 \
100644
--- a/src/kdefrontend/ui/dockwidgets/histogramdockgeneraltab.ui
+++ b/src/kdefrontend/ui/dockwidgets/histogramdockgeneraltab.ui
@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>367</width>
- <height>244</height>
+ <height>285</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout">
@@ -26,22 +26,6 @@
<property name="spacing">
<number>2</number>
</property>
- <item row="3" column="0">
- <spacer name="verticalSpacerST">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>32</width>
- <height>18</height>
- </size>
- </property>
- </spacer>
- </item>
<item row="0" column="0">
<widget class="QLabel" name="lName">
<property name="text">
@@ -49,94 +33,65 @@
</property>
</widget>
</item>
- <item row="0" column="1">
- <spacer name="horizontalSpacer_5">
+ <item row="6" column="2">
+ <widget class="QComboBox" name="cbBins"/>
+ </item>
+ <item row="8" column="2">
+ <widget class="KColorButton" name="kcbLineColor">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <spacer name="verticalSpacerST">
<property name="orientation">
- <enum>Qt::Horizontal</enum>
+ <enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
- <width>10</width>
- <height>23</height>
+ <width>32</width>
+ <height>18</height>
</size>
</property>
</spacer>
</item>
- <item row="0" column="2">
- <widget class="KLineEdit" name="leName"/>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="lComment">
- <property name="text">
- <string>Comment</string>
- </property>
- </widget>
- </item>
- <item row="1" column="2">
- <widget class="KLineEdit" name="leComment"/>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="lXColumn">
+ <item row="15" column="0">
+ <widget class="QCheckBox" name="chkVisible">
<property name="text">
- <string>x-data</string>
+ <string>visible</string>
</property>
</widget>
</item>
- <item row="7" column="0">
+ <item row="8" column="0">
<widget class="QLabel" name="lHistogramColour">
<property name="text">
<string>Color</string>
</property>
</widget>
</item>
- <item row="5" column="0">
+ <item row="6" column="0">
<widget class="QLabel" name="lBinCount">
<property name="text">
<string>Bins</string>
</property>
</widget>
</item>
- <item row="11" column="0">
- <widget class="QCheckBox" name="chkVisible">
+ <item row="2" column="0">
+ <widget class="QLabel" name="lXColumn">
<property name="text">
- <string>visible</string>
- </property>
- </widget>
- </item>
- <item row="7" column="2">
- <widget class="KColorButton" name="kcbLineColor">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
+ <string>x-data</string>
</property>
</widget>
</item>
- <item row="9" column="2">
- <widget class="QComboBox" name="cbHistogramType"/>
- </item>
<item row="10" column="0">
- <spacer name="verticalSpacerGeneral">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::MinimumExpanding</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>24</width>
- <height>18</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="lBinSettings">
+ <widget class="QLabel" name="lType">
<property name="font">
<font>
<weight>75</weight>
@@ -144,15 +99,18 @@
</font>
</property>
<property name="text">
- <string>Bin Settings:</string>
+ <string>Histogram type:</string>
</property>
</widget>
</item>
- <item row="5" column="2">
- <widget class="QComboBox" name="cbBins"/>
+ <item row="7" column="2">
+ <widget class="QLineEdit" name="leBins"/>
</item>
- <item row="9" column="0">
- <widget class="QLabel" name="lType">
+ <item row="10" column="2">
+ <widget class="QComboBox" name="cbHistogramType"/>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="lBinSettings">
<property name="font">
<font>
<weight>75</weight>
@@ -160,11 +118,11 @@
</font>
</property>
<property name="text">
- <string>Histogram type</string>
+ <string>Bin Settings:</string>
</property>
</widget>
</item>
- <item row="8" column="0">
+ <item row="11" column="0">
<spacer name="verticalSpacerHT">
<property name="orientation">
<enum>Qt::Vertical</enum>
@@ -180,8 +138,71 @@
</property>
</spacer>
</item>
- <item row="6" column="2">
- <widget class="QLineEdit" name="leBins"/>
+ <item row="13" column="2">
+ <widget class="QPushButton" name="pbRecalculate">
+ <property name="text">
+ <string>Recalculate</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="KLineEdit" name="leName"/>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="lComment">
+ <property name="text">
+ <string>Comment</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="KLineEdit" name="leComment"/>
+ </item>
+ <item row="0" column="1">
+ <spacer name="hsName">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::Fixed</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>10</width>
+ <height>23</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="14" column="0">
+ <spacer name="verticalSpacerGeneral">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>QSizePolicy::MinimumExpanding</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>24</width>
+ <height>18</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="12" column="0" colspan="3">
+ <widget class="Line" name="line_2">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="0" colspan="3">
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
</item>
</layout>
</widget>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic