[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