[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [labplot/histogram_chart] src: reposition histogram option
From: Anu Mittal <anu22mittal () gmail ! com>
Date: 2016-06-18 10:19:54
Message-ID: E1bEDM2-000462-Ic () code ! kde ! org
[Download RAW message or body]
Git commit aa64081cdcd25aaed1b409ec823e6de4a6ba351d by Anu Mittal.
Committed on 18/06/2016 at 10:19.
Pushed by anumittal into branch 'histogram_chart'.
reposition histogram option
M +8 -1 src/backend/worksheet/plots/cartesian/CartesianPlot.cpp
M +3 -0 src/backend/worksheet/plots/cartesian/CartesianPlot.h
M +2 -22 src/commonfrontend/worksheet/WorksheetView.cpp
M +24 -3 src/kdefrontend/GuiObserver.cpp
M +2 -0 src/kdefrontend/GuiObserver.h
M +13 -1 src/kdefrontend/MainWin.cpp
M +3 -0 src/kdefrontend/MainWin.h
M +1 -1 src/kdefrontend/TemplateHandler.cpp
M +1 -1 src/kdefrontend/TemplateHandler.h
http://commits.kde.org/labplot/aa64081cdcd25aaed1b409ec823e6de4a6ba351d
diff --git a/src/backend/worksheet/plots/cartesian/CartesianPlot.cpp \
b/src/backend/worksheet/plots/cartesian/CartesianPlot.cpp index 8d5cb1b..be3abac \
100644
--- a/src/backend/worksheet/plots/cartesian/CartesianPlot.cpp
+++ b/src/backend/worksheet/plots/cartesian/CartesianPlot.cpp
@@ -346,6 +346,7 @@ void CartesianPlot::initDefault(Type type){
void CartesianPlot::initActions(){
//"add new" actions
addCurveAction = new QAction(QIcon::fromTheme("labplot-xy-curve"), \
i18n("xy-curve"), this); + addHistogramPlot = new \
QAction(QIcon::fromTheme("labplot-xy-fourier_filter-curve"), i18n("Histogram"), \
this); addEquationCurveAction = new \
QAction(QIcon::fromTheme("labplot-xy-equation-curve"), i18n("xy-curve from a \
mathematical equation"), this); addFitCurveAction = new \
QAction(QIcon::fromTheme("labplot-xy-fit-curve"), i18n("xy-curve from a fit to \
data"), this); addFourierFilterCurveAction = new \
QAction(QIcon::fromTheme("labplot-xy-fourier_filter-curve"), i18n("xy-curve from a \
Fourier filter"), this); @@ -356,6 +357,7 @@ void CartesianPlot::initActions(){
addCustomPointAction = new QAction(QIcon::fromTheme("draw-cross"), i18n("custom \
point"), this);
connect(addCurveAction, SIGNAL(triggered()), SLOT(addCurve()));
+ connect(addHistogramPlot,SIGNAL(triggered()), SLOT(addHistogram()));
connect(addEquationCurveAction, SIGNAL(triggered()), SLOT(addEquationCurve()));
connect(addFitCurveAction, SIGNAL(triggered()), SLOT(addFitCurve()));
connect(addFourierFilterCurveAction, SIGNAL(triggered()), \
SLOT(addFourierFilterCurve())); @@ -402,6 +404,7 @@ void \
CartesianPlot::initActions(){ void CartesianPlot::initMenus(){
addNewMenu = new QMenu(i18n("Add new"));
addNewMenu->addAction(addCurveAction);
+ addNewMenu->addAction(addHistogramPlot);
addNewMenu->addAction(addEquationCurveAction);
addNewMenu->addAction(addFitCurveAction);
addNewMenu->addAction(addFourierFilterCurveAction);
@@ -703,7 +706,11 @@ XYEquationCurve* CartesianPlot::addEquationCurve(){
this->addChild(curve);
return curve;
}
-
+Histogram* CartesianPlot::addHistogram(){
+ Histogram* curve= new Histogram("Histogram");
+ this->addChild(curve);
+ return curve;
+}
XYFitCurve* CartesianPlot::addFitCurve(){
XYFitCurve* curve = new XYFitCurve("fit");
this->addChild(curve);
diff --git a/src/backend/worksheet/plots/cartesian/CartesianPlot.h \
b/src/backend/worksheet/plots/cartesian/CartesianPlot.h index b2dd7d6..2ac1cc7 100644
--- a/src/backend/worksheet/plots/cartesian/CartesianPlot.h
+++ b/src/backend/worksheet/plots/cartesian/CartesianPlot.h
@@ -32,6 +32,7 @@
#include "backend/worksheet/plots/AbstractPlot.h"
#include <math.h>
+#include <backend/worksheet/plots/cartesian/Histogram.h>
class QToolBar;
class CartesianPlotPrivate;
@@ -110,6 +111,7 @@ class CartesianPlot:public AbstractPlot{
QAction* addCurveAction;
QAction* addEquationCurveAction;
+ QAction* addHistogramPlot;
QAction* addFitCurveAction;
QAction* addFourierFilterCurveAction;
QAction* addInterpolationCurveAction;
@@ -141,6 +143,7 @@ class CartesianPlot:public AbstractPlot{
void addHorizontalAxis();
void addVerticalAxis();
XYCurve* addCurve();
+ Histogram* addHistogram();
XYEquationCurve* addEquationCurve();
XYFitCurve* addFitCurve();
XYFourierFilterCurve* addFourierFilterCurve();
diff --git a/src/commonfrontend/worksheet/WorksheetView.cpp \
b/src/commonfrontend/worksheet/WorksheetView.cpp index 2f48c18..ad204ec 100644
--- a/src/commonfrontend/worksheet/WorksheetView.cpp
+++ b/src/commonfrontend/worksheet/WorksheetView.cpp
@@ -195,7 +195,6 @@ void WorksheetView::initActions() {
addCartesianPlot4Action = new \
QAction(QIcon::fromTheme("labplot-xy-plot-two-axes-centered-origin"), i18n("two axes, \
crossing at origin"), addNewActionGroup); addTextLabelAction = new \
QAction(QIcon::fromTheme("draw-text"), i18n("text label"), addNewActionGroup); \
addBarChartPlot= new QAction(QIcon::fromTheme("office-chart-line"), i18n("bar \
chart"), addNewActionGroup);
- addHistogram = new \
QAction(QIcon::fromTheme("labplot-xy-plot-two-axes"),i18n("Histogram"),addNewActionGroup);
//Layout actions
verticalLayoutAction = new QAction(QIcon::fromTheme("labplot-editvlayout"), \
i18n("Vertical layout"), layoutActionGroup); \
verticalLayoutAction->setCheckable(true); @@ -237,8 +236,6 @@ void \
WorksheetView::initActions() { this->layoutChanged(m_worksheet->layout());
connect(addNewActionGroup, SIGNAL(triggered(QAction*)), this, \
SLOT(addNew(QAction*)));
- connect(addHistogram, SIGNAL(triggered(QAction*)), this, SLOT(addNew(QAction*)));
- connect(addBarChartPlot,SIGNAL(triggered(QAction*)), this, SLOT(addNew(QAction*)));
connect(mouseModeActionGroup, SIGNAL(triggered(QAction*)), this, \
SLOT(mouseModeChanged(QAction*))); connect(zoomActionGroup, \
SIGNAL(triggered(QAction*)), this, SLOT(changeZoom(QAction*))); \
connect(magnificationActionGroup, SIGNAL(triggered(QAction*)), this, \
SLOT(magnificationChanged(QAction*))); @@ -334,9 +331,7 @@ void \
WorksheetView::initMenus() { \
m_addNewMenu->addMenu(m_addNewCartesianPlotMenu)->setIcon(QIcon::fromTheme("office-chart-line"));
m_addNewMenu->addSeparator();
m_addNewMenu->addAction(addTextLabelAction);
- m_addNewMenu->addAction(addHistogram);
- m_addNewMenu->addAction(addBarChartPlot);
-
+
m_viewMouseModeMenu = new QMenu(i18n("Mouse Mode"), this);
m_viewMouseModeMenu->setIcon(QIcon::fromTheme("input-mouse"));
m_viewMouseModeMenu->addAction(selectionModeAction);
@@ -985,22 +980,7 @@ void WorksheetView::addNew(QAction* action) {
TextLabel* l = new TextLabel(i18n("text label"));
l->setText(i18n("text label"));
aspect = l;
- } else if ( action == addBarChartPlot ) {
- CartesianPlot* plot = new CartesianPlot(i18n("BarChart"));
- plot->initDefault(CartesianPlot::TwoAxes);
- plot->setMouseMode(m_cartesianPlotMouseMode);
- aspect = plot;
- if (tbNewCartesianPlot)
- tbNewCartesianPlot->setDefaultAction(addBarChartPlot);
- } else if ( action == addHistogram ) {
- CartesianPlot* plot = new CartesianPlot(i18n("Histogram"));
- plot->initDefault(CartesianPlot::TwoAxes);
- plot->setMouseMode(m_cartesianPlotMouseMode);
- aspect = plot;
- if (tbNewCartesianPlot)
- tbNewCartesianPlot->setDefaultAction(addHistogram);
- }
-
+ }
if (!aspect)
return;
diff --git a/src/kdefrontend/GuiObserver.cpp b/src/kdefrontend/GuiObserver.cpp
index 4adfbcf..456449e 100644
--- a/src/kdefrontend/GuiObserver.cpp
+++ b/src/kdefrontend/GuiObserver.cpp
@@ -37,6 +37,8 @@
#include "backend/worksheet/plots/cartesian/XYCurve.h"
#include "backend/worksheet/plots/cartesian/Axis.h"
#include "backend/worksheet/plots/cartesian/CustomPoint.h"
+#include "backend/worksheet/plots/cartesian/Histogram.h"
+#include "backend/worksheet/plots/cartesian/BarChartPlot.h"
#include "backend/worksheet/TextLabel.h"
#include "backend/core/Project.h"
#include "backend/datapicker/Datapicker.h"
@@ -52,6 +54,7 @@
#include "kdefrontend/dockwidgets/ProjectDock.h"
#include "kdefrontend/dockwidgets/SpreadsheetDock.h"
#include "kdefrontend/dockwidgets/XYCurveDock.h"
+#include "kdefrontend/dockwidgets/HistogramDock.h"
#include "kdefrontend/dockwidgets/XYEquationCurveDock.h"
#include "kdefrontend/dockwidgets/XYFitCurveDock.h"
#include "kdefrontend/dockwidgets/XYFourierFilterCurveDock.h"
@@ -190,11 +193,12 @@ GuiObserver::GuiObserver(MainWin* mainWin) : \
m_lastCartesianPlot(0){ mainWindow->m_propertiesDock->setWindowTitle(i18n("Cartesian \
plot properties"));
if (!mainWindow->cartesianPlotDock){
- mainWindow->cartesianPlotDock = new CartesianPlotDock(mainWindow->stackedWidget);
- connect(mainWindow->cartesianPlotDock, SIGNAL(info(QString)), \
mainWindow->statusBar(), SLOT(showMessage(QString)));
- mainWindow->stackedWidget->addWidget(mainWindow->cartesianPlotDock);
+ mainWindow->cartesianPlotDock = new CartesianPlotDock(mainWindow->stackedWidget);
+ connect(mainWindow->cartesianPlotDock, SIGNAL(info(QString)), \
mainWindow->statusBar(), SLOT(showMessage(QString))); \
+ mainWindow->stackedWidget->addWidget(mainWindow->cartesianPlotDock); }
+
QList<CartesianPlot*> list;
foreach(aspect, selectedAspects){
list<<qobject_cast<CartesianPlot *>(aspect);
@@ -251,6 +255,23 @@ GuiObserver::GuiObserver(MainWin* mainWin) : \
m_lastCartesianPlot(0){ mainWindow->xyCurveDock->setCurves(list);
mainWindow->stackedWidget->setCurrentWidget(mainWindow->xyCurveDock);
+ }else if (className=="Histogram"){
+ mainWindow->m_propertiesDock->setWindowTitle(i18n("Histogram properties"));
+
+ if (!mainWindow->histogramDock){
+ mainWindow->histogramDock = new HistogramDock(mainWindow->stackedWidget);
+ // mainWindow->histogramDock->setupGeneral();
+ connect(mainWindow->histogramDock, SIGNAL(info(QString)), \
mainWindow->statusBar(), SLOT(showMessage(QString))); + \
mainWindow->stackedWidget->addWidget(mainWindow->histogramDock); + }
+
+ QList<Histogram*> list;
+ foreach(aspect, selectedAspects){
+ list<<qobject_cast<Histogram *>(aspect);
+ }
+ mainWindow->histogramDock->setCurves(list);
+
+ mainWindow->stackedWidget->setCurrentWidget(mainWindow->histogramDock);
}else if (className=="XYEquationCurve"){
mainWindow->m_propertiesDock->setWindowTitle(i18n("xy-equation-curve properties"));
diff --git a/src/kdefrontend/GuiObserver.h b/src/kdefrontend/GuiObserver.h
index 4bc5ba9..ad316c0 100644
--- a/src/kdefrontend/GuiObserver.h
+++ b/src/kdefrontend/GuiObserver.h
@@ -33,6 +33,7 @@
class MainWin;
class AbstractAspect;
class CartesianPlot;
+class Histogram;
class GuiObserver:public QObject {
Q_OBJECT
@@ -43,6 +44,7 @@ class GuiObserver:public QObject {
private:
MainWin* mainWindow;
CartesianPlot* m_lastCartesianPlot;
+ Histogram* m_lastHistogram;
private slots:
void selectedAspectsChanged(QList<AbstractAspect*>&);
diff --git a/src/kdefrontend/MainWin.cpp b/src/kdefrontend/MainWin.cpp
index dd9db31..bbda393 100644
--- a/src/kdefrontend/MainWin.cpp
+++ b/src/kdefrontend/MainWin.cpp
@@ -98,6 +98,7 @@ MainWin::MainWin(QWidget *parent, const QString& filename)
axisDock(0),
cartesianPlotDock(0),
cartesianPlotLegendDock(0),
+ histogramDock(0),
columnDock(0),
matrixDock(0),
spreadsheetDock(0),
@@ -443,6 +444,8 @@ void MainWin::updateGUIOnProjectChanges() {
factory->container("spreadsheet_toolbar", this)->hide();
factory->container("worksheet_toolbar", this)->hide();
factory->container("cartesian_plot_toolbar", this)->hide();
+// factory->container("histogram_toolbar",this)->hide();
+// factory->container("barchart_toolbar",this)->hide();
factory->container("datapicker_toolbar", this)->hide();
}
@@ -482,6 +485,8 @@ void MainWin::updateGUI() {
factory->container("datapicker", this)->setEnabled(false);
factory->container("spreadsheet_toolbar", this)->hide();
factory->container("worksheet_toolbar", this)->hide();
+// factory->container("histogram_toolbar",this)->hide();
+// factory->container("barchart_toolbar",this)->hide();
factory->container("cartesian_plot_toolbar", this)->hide();
factory->container("datapicker_toolbar", this)->hide();
return;
@@ -535,7 +540,14 @@ void MainWin::updateGUI() {
toolbar->setVisible(true);
toolbar->clear();
view->fillCartesianPlotToolBar(toolbar);
-
+ //populate the toolbar for histogram plots
+// toolbar=qobject_cast<QToolBar*>(factory->container("histogram_toolbar", this));
+// if (group.groupList().indexOf("Toolbar histogram_toolbar")==-1)
+// toolbar->setToolButtonStyle(Qt::ToolButtonFollowStyle);
+
+// toolbar->setVisible(true);
+// toolbar->clear();
+// view->fillCartesianPlotToolBar(toolbar);
//hide the spreadsheet toolbar
factory->container("spreadsheet_toolbar", this)->setVisible(false);
} else {
diff --git a/src/kdefrontend/MainWin.h b/src/kdefrontend/MainWin.h
index fe7c16b..6eac223 100644
--- a/src/kdefrontend/MainWin.h
+++ b/src/kdefrontend/MainWin.h
@@ -46,6 +46,8 @@ class Matrix;
class GuiObserver;
class AxisDock;
class CartesianPlotDock;
+class HistogramDock;
+class BarChartPlotDock;
class CartesianPlotLegendDock;
class CustomPointDock;
class ColumnDock;
@@ -157,6 +159,7 @@ private:
AxisDock* axisDock;
CartesianPlotDock* cartesianPlotDock;
CartesianPlotLegendDock* cartesianPlotLegendDock;
+ HistogramDock* histogramDock;
ColumnDock* columnDock;
MatrixDock* matrixDock;
SpreadsheetDock* spreadsheetDock;
diff --git a/src/kdefrontend/TemplateHandler.cpp \
b/src/kdefrontend/TemplateHandler.cpp index 01d6019..06b756e 100644
--- a/src/kdefrontend/TemplateHandler.cpp
+++ b/src/kdefrontend/TemplateHandler.cpp
@@ -89,7 +89,7 @@ TemplateHandler::TemplateHandler(QWidget *parent, ClassName name): \
QWidget(paren className = name;
//synchronize this with the ordering in TemplateHandler::ClassName
- dirNames<<"spreadsheet"<<"matrix"<<"worksheet"<<"cartesianplot"<<"cartesianplotlegend"<<"xycurve"<<"axis"<<"custompoint";
+ dirNames<<"spreadsheet"<<"matrix"<<"worksheet"<<"cartesianplot"<<"cartesianplotlegend"<<"xycurve"<<"histogram"<<"axis"<<"custompoint";
this->retranslateUi();
diff --git a/src/kdefrontend/TemplateHandler.h b/src/kdefrontend/TemplateHandler.h
index 3036a37..fc6bb14 100644
--- a/src/kdefrontend/TemplateHandler.h
+++ b/src/kdefrontend/TemplateHandler.h
@@ -40,7 +40,7 @@ class TemplateHandler : public QWidget{
Q_OBJECT
public:
- enum ClassName {Spreadsheet, Matrix, Worksheet, CartesianPlot, \
CartesianPlotLegend, Histogram, BarChartPlot, XYCurve, Axis, CustomPoint}; + enum \
ClassName {Spreadsheet, Matrix, Worksheet, CartesianPlot, CartesianPlotLegend, \
Histogram, XYCurve, Axis, CustomPoint};
TemplateHandler(QWidget* parent, ClassName);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic