[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