[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