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

List:       kde-commits
Subject:    [labplot/histogram_chart] src: hovering properties and bins types in histogram
From:       Anu Mittal <anu22mittal () gmail ! com>
Date:       2016-08-08 19:21:10
Message-ID: E1bWq6o-00030Z-Fu () code ! kde ! org
[Download RAW message or body]

Git commit 987b64a7d5efa7958a836de0f68af1ba6feff471 by Anu Mittal.
Committed on 08/08/2016 at 15:37.
Pushed by anumittal into branch 'histogram_chart'.

hovering properties and bins types in histogram

M  +20   -21   src/backend/worksheet/plots/cartesian/CartesianPlot.cpp
M  +15   -8    src/backend/worksheet/plots/cartesian/Histogram.cpp
M  +1    -0    src/backend/worksheet/plots/cartesian/Histogram.h
M  +21   -17   src/kdefrontend/dockwidgets/HistogramDock.cpp
M  +1    -0    src/kdefrontend/dockwidgets/HistogramDock.h

http://commits.kde.org/labplot/987b64a7d5efa7958a836de0f68af1ba6feff471

diff --git a/src/backend/worksheet/plots/cartesian/CartesianPlot.cpp \
b/src/backend/worksheet/plots/cartesian/CartesianPlot.cpp index 59462f9..5c82bb3 \
                100644
--- a/src/backend/worksheet/plots/cartesian/CartesianPlot.cpp
+++ b/src/backend/worksheet/plots/cartesian/CartesianPlot.cpp
@@ -1018,18 +1018,6 @@ void CartesianPlot::scaleAutoX(){
 void CartesianPlot::scaleAutoY(){
 	Q_D(CartesianPlot);
 	
-	QList<const Histogram*> childrenHistogram = this->children<const Histogram>();
-	foreach(const Histogram* curve, childrenHistogram) {
-		if (!curve->isVisible())
-			continue;
-			
-		d->curvesYMin = 0.0;
-		if (curve->getYMaximum() != -INFINITY) {
-			if ( curve->getYMaximum() > d->curvesYMax)
-				d->curvesYMax = curve->getYMaximum(); 
-		}
-	}
-
 	//loop over all xy-curves and determine the maximum y-value
 	if (d->curvesYMinMaxIsDirty) {
 		d->curvesYMin = INFINITY;
@@ -1055,6 +1043,16 @@ void CartesianPlot::scaleAutoY(){
 		//qDebug() << "autoscaley Min Y, X: " << d->curvesYMin << d->curvesXMin;
 		d->curvesYMinMaxIsDirty = false;
 	}
+	QList<const Histogram*> childrenHistogram = this->children<const Histogram>();
+	foreach(const Histogram* curve, childrenHistogram) {
+		if (!curve->isVisible())
+			continue;
+		d->curvesYMin = 0.0;
+		if (curve->getYMaximum() != -INFINITY) {
+			if ( curve->getYMaximum() > d->curvesYMax)
+				d->curvesYMax = curve->getYMaximum();
+		}
+	}
 
 	bool update = false;
 	if (d->curvesYMin != d->yMin && d->curvesYMin != INFINITY){
@@ -1149,15 +1147,16 @@ void CartesianPlot::scaleAuto(){
 					d->curvesYMax = curve->yColumn()->maximum();
 			}
 		}
-		foreach(const Histogram* curve, childrenHistogram) {
-			if (!curve->isVisible())
-				continue;
-			
-			d->curvesYMin = 0.0;
-			if (curve->getYMaximum() != -INFINITY){
-				if ( curve->getYMaximum() > d->curvesYMax)
-					d->curvesYMax = curve->getYMaximum();
-			}
+	}
+
+	foreach(const Histogram* curve, childrenHistogram) {
+		if (!curve->isVisible())
+			continue;
+
+		d->curvesYMin = 0.0;
+		if (curve->getYMaximum() != -INFINITY){
+			if ( curve->getYMaximum() > d->curvesYMax)
+				d->curvesYMax = curve->getYMaximum();
 		}
 	}
 
diff --git a/src/backend/worksheet/plots/cartesian/Histogram.cpp \
b/src/backend/worksheet/plots/cartesian/Histogram.cpp index 5b3f093..c76db66 100644
--- a/src/backend/worksheet/plots/cartesian/Histogram.cpp
+++ b/src/backend/worksheet/plots/cartesian/Histogram.cpp
@@ -166,6 +166,12 @@ void Histogram::setPrinting(bool on) {
 
 void Histogram::setHistrogramType(Histogram::HistogramType histogramType) {
 	d_ptr->histogramType = histogramType;
+	qDebug() << histogramType;
+	d_ptr->retransform();
+}
+
+Histogram::HistogramType Histogram::getHistrogramType() {
+	return d_ptr->histogramType;
 }
 
 void Histogram::setbinsOption(Histogram::BinsOption binsOption) {
@@ -434,7 +440,6 @@ QString HistogramPrivate::name() const {
 }
 
 QRectF HistogramPrivate::boundingRect() const {
-	return QRectF(0, 0, 100, 100);
 	return boundingRectangle;
 }
 double HistogramPrivate::getYMaximum() {
@@ -1277,7 +1282,7 @@ void HistogramPrivate::paint(QPainter* painter, const \
QStyleOptionGraphicsItem*  QPixmap pix = m_pixmap;
 			pix.fill(q->selectedPen.color());
 			pix.setAlphaChannel(m_pixmap.alphaChannel());
-			m_selectionEffectImage = blurred(pix.toImage(), m_pixmap.rect(), 5,false);
+			m_selectionEffectImage = blurred(pix.toImage(), m_pixmap.rect(), 5);
 			m_selectionEffectImageIsDirty = false;
 		}
 
@@ -1400,21 +1405,23 @@ void HistogramPrivate::drawFilling(QPainter* painter) {
 }
 
 void HistogramPrivate::hoverEnterEvent(QGraphicsSceneHoverEvent*) {
-	/*const Histogram* plot = dynamic_cast<const Histogram*>(q->parentAspect());
-	if (plot->mouseMode() == Histogram::SelectionMode && !isSelected()) {
+	const CartesianPlot* plot = dynamic_cast<const CartesianPlot*>(q->parentAspect());
+	qDebug() << plot->mouseMode();
+	if (plot->mouseMode() == CartesianPlot::SelectionMode && !isSelected()) {
 		m_hovered = true;
+		qDebug() << "hoverEnterEvent";
 		q->hovered();
 		update();
-	}*/
+	}
 }
 
 void HistogramPrivate::hoverLeaveEvent(QGraphicsSceneHoverEvent*) {
-	/*const Histogram* plot = dynamic_cast<const Histogram*>(q->parentAspect());
-	if (plot->mouseMode() == Histogram::SelectionMode && m_hovered) {
+	const CartesianPlot* plot = dynamic_cast<const CartesianPlot*>(q->parentAspect());
+	if (plot->mouseMode() == CartesianPlot::SelectionMode && m_hovered) {
 		m_hovered = false;
 		q->unhovered();
 		update();
-	}*/
+	}
 }
 
 //##############################################################################
diff --git a/src/backend/worksheet/plots/cartesian/Histogram.h \
b/src/backend/worksheet/plots/cartesian/Histogram.h index 287cc1e..1460fa2 100644
--- a/src/backend/worksheet/plots/cartesian/Histogram.h
+++ b/src/backend/worksheet/plots/cartesian/Histogram.h
@@ -95,6 +95,7 @@ class Histogram: public WorksheetElement {
 		void suppressRetransform(bool);
 		double getYMaximum() const;
 		void setHistrogramType(Histogram::HistogramType);
+		Histogram::HistogramType getHistrogramType();
 		void setbinsOption(Histogram::BinsOption);
 
 		typedef WorksheetElement BaseClass;
diff --git a/src/kdefrontend/dockwidgets/HistogramDock.cpp \
b/src/kdefrontend/dockwidgets/HistogramDock.cpp index ffbd093..f39cf8c 100644
--- a/src/kdefrontend/dockwidgets/HistogramDock.cpp
+++ b/src/kdefrontend/dockwidgets/HistogramDock.cpp
@@ -408,24 +408,8 @@ void HistogramDock::initGeneralTab(){
 		uiGeneralTab.leName->setText("");
 		uiGeneralTab.leComment->setText("");
 	}
-
-	//show the properties of the first curve
 	uiGeneralTab.chkVisible->setChecked( m_curve->isVisible() );
-	//bins option
-	uiGeneralTab.cbBins->clear();
-	uiGeneralTab.cbBins->addItem(i18n("By Number"));
-	uiGeneralTab.cbBins->addItem(i18n("By width"));
-	uiGeneralTab.cbBins->addItem(i18n("Square-root rule"));
-	uiGeneralTab.cbBins->addItem(i18n("Rice rule"));
-	uiGeneralTab.cbBins->addItem(i18n("Sturgis rule"));
-	
-	//connect( uiGeneralTab.cbHistogramType, SIGNAL(currentIndexChanged(int)), this, \
                SLOT(histogramTypeChanged(int)) );
-	//types options
-	uiGeneralTab.cbHistogramType->clear();
-	uiGeneralTab.cbHistogramType->addItem(i18n("Ordinary Histogram"));
-	uiGeneralTab.cbHistogramType->addItem(i18n("Cummulative Histogram"));
-	uiGeneralTab.cbHistogramType->addItem(i18n("AvgShifted Histogram"));
-	
+	uiGeneralTab.cbHistogramType->setCurrentIndex(m_curve->getHistrogramType());
 }
 
 //Values-Tab
@@ -931,6 +915,20 @@ void HistogramDock::setupGeneral() {
 	cbXColumn = new TreeViewComboBox(generalTab);
 	gridLayout->addWidget(cbXColumn, 2, 2, 1, 1);
 
+	//show the properties of the first curve
+	//bins option
+	uiGeneralTab.cbBins->addItem(i18n("By Number"));
+	uiGeneralTab.cbBins->addItem(i18n("By width"));
+	uiGeneralTab.cbBins->addItem(i18n("Square-root rule"));
+	uiGeneralTab.cbBins->addItem(i18n("Rice rule"));
+	uiGeneralTab.cbBins->addItem(i18n("Sturgis rule"));
+
+	//connect( uiGeneralTab.cbHistogramType, SIGNAL(currentIndexChanged(int)), this, \
SLOT(histogramTypeChanged(int)) ); +	//types options
+	uiGeneralTab.cbHistogramType->addItem(i18n("Ordinary Histogram"));
+	uiGeneralTab.cbHistogramType->addItem(i18n("Cummulative Histogram"));
+	uiGeneralTab.cbHistogramType->addItem(i18n("AvgShifted Histogram"));
+
 	//General
 	connect( uiGeneralTab.leName, SIGNAL(returnPressed()), this, SLOT(nameChanged()) );
 	connect( uiGeneralTab.leComment, SIGNAL(returnPressed()), this, \
SLOT(commentChanged()) ); @@ -938,6 +936,8 @@ void HistogramDock::setupGeneral() {
 	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)) ); +	connect( uiGeneralTab.leBins, \
SIGNAL(returnPressed()), this, SLOT(binValueChanged()) ); +	
 }
 
 void HistogramDock::histogramTypeChanged(int index) {
@@ -945,6 +945,10 @@ void HistogramDock::histogramTypeChanged(int index) {
 	m_curve->setHistrogramType(histogramType);
 }
 
+void HistogramDock::binValueChanged() {
+	uiGeneralTab.leBins->text();
+}
+
 void HistogramDock::binsOptionChanged(int index){
 	Histogram::BinsOption binsOption = Histogram::BinsOption(index);
 	m_curve->setbinsOption(binsOption);
diff --git a/src/kdefrontend/dockwidgets/HistogramDock.h \
b/src/kdefrontend/dockwidgets/HistogramDock.h index b372a52..12eae42 100644
--- a/src/kdefrontend/dockwidgets/HistogramDock.h
+++ b/src/kdefrontend/dockwidgets/HistogramDock.h
@@ -92,6 +92,7 @@ private slots:
 	void histogramTypeChanged(int);
 	//bins setting
 	void binsOptionChanged(int);
+	void binValueChanged();
 
 	//Values-Tab
 	void valuesTypeChanged(int);


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

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