[kde-doc-english] [labplot/integrate-cantor] /: Merge branch 'frameworks' into integrate-cantor

Alexander Semke alexander.semke at web.de
Thu May 19 19:24:33 UTC 2016


Git commit bb2ffb74b2223b57d04d8b6d51325615c9b3c6ba by Alexander Semke.
Committed on 19/05/2016 at 19:24.
Pushed by asemke into branch 'integrate-cantor'.

Merge branch 'frameworks' into integrate-cantor

M  +28   -10   CMakeLists.txt
M  +86   -13   doc/index.docbook
M  +11   -4    src/CMakeLists.txt
M  +11   -5    src/backend/core/AspectTreeModel.cpp
M  +2    -6    src/backend/core/Folder.cpp
M  +24   -15   src/backend/core/Project.cpp
M  +156  -9    src/backend/core/column/Column.cpp
M  +40   -0    src/backend/core/column/Column.h
M  +3    -4    src/backend/datasources/FileDataSource.h
M  +4    -3    src/backend/spreadsheet/Spreadsheet.h
M  +3    -3    src/backend/worksheet/TextLabel.cpp
M  +1    -1    src/backend/worksheet/TextLabel.h
M  +3    -3    src/backend/worksheet/Worksheet.h
M  +6    -3    src/backend/worksheet/plots/cartesian/Axis.h
M  +28   -16   src/backend/worksheet/plots/cartesian/CartesianPlot.h
M  +1    -1    src/backend/worksheet/plots/cartesian/XYFitCurve.h
M  +659  -247  src/commonfrontend/spreadsheet/SpreadsheetView.cpp
M  +50   -0    src/commonfrontend/worksheet/WorksheetView.cpp
M  +36   -0    src/kdefrontend/GuiObserver.cpp
M  +29   -17   src/kdefrontend/MainWin.cpp
M  +4    -0    src/kdefrontend/MainWin.h
M  +18   -4    src/kdefrontend/datasources/FileInfoDialog.cpp
M  +2    -1    src/kdefrontend/datasources/ImportFileWidget.cpp
M  +405  -229  src/kdefrontend/dockwidgets/CartesianPlotDock.cpp
M  +5    -2    src/kdefrontend/dockwidgets/XYCurveDock.cpp
M  +3    -2    src/kdefrontend/dockwidgets/XYEquationCurveDock.cpp
M  +18   -9    src/kdefrontend/dockwidgets/XYFitCurveDock.cpp
M  +1    -1    src/kdefrontend/labplot2ui.rc
M  +144  -22   src/kdefrontend/spreadsheet/ExportSpreadsheetDialog.cpp
M  +154  -72   src/kdefrontend/spreadsheet/RandomValuesDialog.cpp
M  +53   -27   src/kdefrontend/widgets/LabelWidget.cpp
M  +4    -2    src/kdefrontend/widgets/LabelWidget.h

http://commits.kde.org/labplot/bb2ffb74b2223b57d04d8b6d51325615c9b3c6ba

diff --cc src/kdefrontend/GuiObserver.cpp
index a40003e,4adfbcf..3fab3f0
--- a/src/kdefrontend/GuiObserver.cpp
+++ b/src/kdefrontend/GuiObserver.cpp
@@@ -55,9 -54,10 +55,11 @@@
  #include "kdefrontend/dockwidgets/XYCurveDock.h"
  #include "kdefrontend/dockwidgets/XYEquationCurveDock.h"
  #include "kdefrontend/dockwidgets/XYFitCurveDock.h"
+ #include "kdefrontend/dockwidgets/XYFourierFilterCurveDock.h"
+ #include "kdefrontend/dockwidgets/XYInterpolationCurveDock.h"
  #include "kdefrontend/dockwidgets/CustomPointDock.h"
  #include "kdefrontend/dockwidgets/WorksheetDock.h"
 +#include "kdefrontend/dockwidgets/CantorWorksheetDock.h"
  #include "kdefrontend/widgets/LabelWidget.h"
  #include "kdefrontend/widgets/DatapickerImageWidget.h"
  #include "kdefrontend/widgets/DatapickerCurveWidget.h"
diff --cc src/kdefrontend/MainWin.cpp
index 1959d00,dd9db31..c16ae19
--- a/src/kdefrontend/MainWin.cpp
+++ b/src/kdefrontend/MainWin.cpp
@@@ -478,18 -435,15 +480,19 @@@ void MainWin::updateGUIOnProjectChanges
  	m_togglePropertiesDockAction->setEnabled(!b);
  
  	if (!m_mdiArea->currentSubWindow()) {
- 		factory->container("worksheet", this)->setEnabled(false);
  		factory->container("spreadsheet", this)->setEnabled(false);
- 		factory->container("datapicker", this)->setEnabled(false);
  		factory->container("matrix", this)->setEnabled(false);
+ 		factory->container("worksheet", this)->setEnabled(false);
+ 		factory->container("analysis", this)->setEnabled(false);
+ 		factory->container("datapicker", this)->setEnabled(false);
+ 		factory->container("spreadsheet_toolbar", this)->hide();
  		factory->container("worksheet_toolbar", this)->hide();
  		factory->container("cartesian_plot_toolbar", this)->hide();
- 		factory->container("spreadsheet_toolbar", this)->hide();
  		factory->container("datapicker_toolbar", this)->hide();
 +#ifdef HAVE_CANTOR_LIBS
 +		factory->container("casWorksheet", this)->setEnabled(false);
 +		factory->container("cantorworksheet_toolbar", this)->hide();
 +#endif
  	}
  
  	factory->container("new", this)->setEnabled(!b);
@@@ -521,18 -475,15 +524,19 @@@ void MainWin::updateGUI() 
  	}
  
  	if (!m_mdiArea->currentSubWindow()) {
- 		factory->container("worksheet", this)->setEnabled(false);
  		factory->container("spreadsheet", this)->setEnabled(false);
- 		factory->container("datapicker", this)->setEnabled(false);
  		factory->container("matrix", this)->setEnabled(false);
+ 		factory->container("worksheet", this)->setEnabled(false);
+ 		factory->container("analysis", this)->setEnabled(false);
+ 		factory->container("datapicker", this)->setEnabled(false);
+ 		factory->container("spreadsheet_toolbar", this)->hide();
  		factory->container("worksheet_toolbar", this)->hide();
  		factory->container("cartesian_plot_toolbar", this)->hide();
- 		factory->container("spreadsheet_toolbar", this)->hide();
  		factory->container("datapicker_toolbar", this)->hide();
 +#ifdef HAVE_CANTOR_LIBS
 +		factory->container("casWorksheet", this)->setEnabled(false);
 +		factory->container("cantorworksheet_toolbar", this)->hide();
 +#endif
  		return;
  	}
  
diff --cc src/kdefrontend/dockwidgets/CartesianPlotDock.cpp
index 1bba819,88d06aa..853dcec
--- a/src/kdefrontend/dockwidgets/CartesianPlotDock.cpp
+++ b/src/kdefrontend/dockwidgets/CartesianPlotDock.cpp
@@@ -226,16 -225,16 +225,16 @@@ void CartesianPlotDock::setPlots(QList<
  	m_initializing = true;
  	m_plotList = list;
  
 -    m_plot=list.first();
 +	m_plot=list.first();
  
 -    QList<TextLabel*> labels;
 -    foreach(CartesianPlot* plot, list)
 -        labels.append(plot->title());
 +	QList<TextLabel*> labels;
 +	foreach(CartesianPlot* plot, list)
 +		labels.append(plot->title());
  
 -    labelWidget->setLabels(labels);
 +	labelWidget->setLabels(labels);
  
  	//if there is more then one plot in the list, disable the name and comment fields in the tab "general"
- 	if (list.size()==1){
+ 	if (list.size()==1) {
  		ui.lName->setEnabled(true);
  		ui.leName->setEnabled(true);
  		ui.lComment->setEnabled(true);
@@@ -249,114 -248,118 +248,160 @@@
  		ui.lComment->setEnabled(false);
  		ui.leComment->setEnabled(false);
  
 -        ui.leName->setText("");
 -        ui.leComment->setText("");
 -    }
 +		ui.leName->setText("");
 +		ui.leComment->setText("");
 +	}
  
  	//show the properties of the first plot
-   	this->load();
- 
-     //update active widgets
-     backgroundTypeChanged(ui.cbBackgroundType->currentIndex());
- 
-     //Deactivate the geometry related widgets, if the worksheet layout is active.
-     //Currently, a plot can only be a child of the worksheet itself, so we only need to ask the parent aspect (=worksheet).
-     //TODO redesign this, if the hierarchy will be changend in future (a plot is a child of a new object group/container or so)
-     Worksheet* w = dynamic_cast<Worksheet*>(m_plot->parentAspect());
-     if (w){
-         bool b = (w->layout()==Worksheet::NoLayout);
-         ui.sbTop->setEnabled(b);
-         ui.sbLeft->setEnabled(b);
-         ui.sbWidth->setEnabled(b);
-         ui.sbHeight->setEnabled(b);
-         connect(w, SIGNAL(layoutChanged(Worksheet::Layout)), this, SLOT(layoutChanged(Worksheet::Layout)));
-     }
+ 	this->load();
+ 
+ 	//update active widgets
+ 	backgroundTypeChanged(ui.cbBackgroundType->currentIndex());
+ 
+ 	//Deactivate the geometry related widgets, if the worksheet layout is active.
+ 	//Currently, a plot can only be a child of the worksheet itself, so we only need to ask the parent aspect (=worksheet).
+ 	//TODO redesign this, if the hierarchy will be changend in future (a plot is a child of a new object group/container or so)
+ 	Worksheet* w = dynamic_cast<Worksheet*>(m_plot->parentAspect());
+ 	if (w) {
+ 		bool b = (w->layout()==Worksheet::NoLayout);
+ 		ui.sbTop->setEnabled(b);
+ 		ui.sbLeft->setEnabled(b);
+ 		ui.sbWidth->setEnabled(b);
+ 		ui.sbHeight->setEnabled(b);
+ 		connect(w, SIGNAL(layoutChanged(Worksheet::Layout)), this, SLOT(layoutChanged(Worksheet::Layout)));
+ 	}
+ 
+ 	//SIGNALs/SLOTs
+ 	connect( m_plot, SIGNAL(aspectDescriptionChanged(const AbstractAspect*)), this, SLOT(plotDescriptionChanged(const AbstractAspect*)) );
+ 	connect( m_plot, SIGNAL(rectChanged(QRectF&)), this, SLOT(plotRectChanged(QRectF&)) );
+ 	connect( m_plot, SIGNAL(xAutoScaleChanged(bool)), this, SLOT(plotXAutoScaleChanged(bool)) );
+ 	connect( m_plot, SIGNAL(xMinChanged(float)), this, SLOT(plotXMinChanged(float)) );
+ 	connect( m_plot, SIGNAL(xMaxChanged(float)), this, SLOT(plotXMaxChanged(float)) );
+ 	connect( m_plot, SIGNAL(xScaleChanged(int)), this, SLOT(plotXScaleChanged(int)) );
+ 	connect( m_plot, SIGNAL(yAutoScaleChanged(bool)), this, SLOT(plotYAutoScaleChanged(bool)) );
+ 	connect( m_plot, SIGNAL(yMinChanged(float)), this, SLOT(plotYMinChanged(float)) );
+ 	connect( m_plot, SIGNAL(yMaxChanged(float)), this, SLOT(plotYMaxChanged(float)) );
+ 	connect( m_plot, SIGNAL(yScaleChanged(int)), this, SLOT(plotYScaleChanged(int)) );
+ 	connect( m_plot, SIGNAL(visibleChanged(bool)), this, SLOT(plotVisibleChanged(bool)) );
+ 
+ 	//range breaks
+ 	connect( m_plot, SIGNAL(xRangeBreakingEnabledChanged(bool)), this, SLOT(plotXRangeBreakingEnabledChanged(bool)) );
+ 	connect( m_plot, SIGNAL(xRangeBreaksChanged(CartesianPlot::RangeBreaks)), this, SLOT(plotXRangeBreaksChanged(CartesianPlot::RangeBreaks)) );
+ 	connect( m_plot, SIGNAL(yRangeBreakingEnabledChanged(bool)), this, SLOT(plotYRangeBreakingEnabledChanged(bool)) );
+ 	connect( m_plot, SIGNAL(yRangeBreaksChanged(CartesianPlot::RangeBreaks)), this, SLOT(plotYRangeBreaksChanged(CartesianPlot::RangeBreaks)) );
+ 
+ 	// Plot Area
+ 	connect( m_plot->plotArea(), SIGNAL(backgroundTypeChanged(PlotArea::BackgroundType)), this, SLOT(plotBackgroundTypeChanged(PlotArea::BackgroundType)) );
+ 	connect( m_plot->plotArea(), SIGNAL(backgroundColorStyleChanged(PlotArea::BackgroundColorStyle)), this, SLOT(plotBackgroundColorStyleChanged(PlotArea::BackgroundColorStyle)) );
+ 	connect( m_plot->plotArea(), SIGNAL(backgroundImageStyleChanged(PlotArea::BackgroundImageStyle)), this, SLOT(plotBackgroundImageStyleChanged(PlotArea::BackgroundImageStyle)) );
+ 	connect( m_plot->plotArea(), SIGNAL(backgroundBrushStyleChanged(Qt::BrushStyle)), this, SLOT(plotBackgroundBrushStyleChanged(Qt::BrushStyle)) );
+ 	connect( m_plot->plotArea(), SIGNAL(backgroundFirstColorChanged(QColor&)), this, SLOT(plotBackgroundFirstColorChanged(QColor&)) );
+ 	connect( m_plot->plotArea(), SIGNAL(backgroundSecondColorChanged(QColor&)), this, SLOT(plotBackgroundSecondColorChanged(QColor&)) );
+ 	connect( m_plot->plotArea(), SIGNAL(backgroundFileNameChanged(QString&)), this, SLOT(plotBackgroundFileNameChanged(QString&)) );
+ 	connect( m_plot->plotArea(), SIGNAL(backgroundOpacityChanged(float)), this, SLOT(plotBackgroundOpacityChanged(float)) );
+ 	connect( m_plot->plotArea(), SIGNAL(borderPenChanged(QPen&)), this, SLOT(plotBorderPenChanged(QPen&)) );
+ 	connect( m_plot->plotArea(), SIGNAL(borderOpacityChanged(float)), this, SLOT(plotBorderOpacityChanged(float)) );
+ 	connect( m_plot, SIGNAL(horizontalPaddingChanged(float)), this, SLOT(plotHorizontalPaddingChanged(float)) );
+ 	connect( m_plot, SIGNAL(verticalPaddingChanged(float)), this, SLOT(plotVerticalPaddingChanged(float)) );
  
-     //SIGNALs/SLOTs
-     connect( m_plot, SIGNAL(aspectDescriptionChanged(const AbstractAspect*)), this, SLOT(plotDescriptionChanged(const AbstractAspect*)) );
-     connect( m_plot, SIGNAL(rectChanged(QRectF&)), this, SLOT(plotRectChanged(QRectF&)) );
-     connect( m_plot, SIGNAL(xMinChanged(float)), this, SLOT(plotXMinChanged(float)) );
-     connect( m_plot, SIGNAL(xMaxChanged(float)), this, SLOT(plotXMaxChanged(float)) );
-     connect( m_plot, SIGNAL(xScaleChanged(int)), this, SLOT(plotXScaleChanged(int)) );
-     connect( m_plot, SIGNAL(xAutoScaleChanged(bool)), this, SLOT(plotXAutoScaleChanged(bool)) );
-     connect( m_plot, SIGNAL(yMinChanged(float)), this, SLOT(plotYMinChanged(float)) );
-     connect( m_plot, SIGNAL(yMaxChanged(float)), this, SLOT(plotYMaxChanged(float)) );
-     connect( m_plot, SIGNAL(yScaleChanged(int)), this, SLOT(plotYScaleChanged(int)) );
-     connect( m_plot, SIGNAL(yAutoScaleChanged(bool)), this, SLOT(plotYAutoScaleChanged(bool)) );
-     connect( m_plot, SIGNAL(xScaleBreakingsChanged(CartesianPlot::ScaleBreakings)), this, SLOT(plotXScaleBreakingChanged(CartesianPlot::ScaleBreakings)) );
-     connect( m_plot, SIGNAL(yScaleBreakingsChanged(CartesianPlot::ScaleBreakings)), this, SLOT(plotYScaleBreakingChanged(CartesianPlot::ScaleBreakings)) );
-     connect( m_plot, SIGNAL(visibleChanged(bool)), this, SLOT(plotVisibleChanged(bool)) );
- 
-     // Plot Area
-     connect( m_plot->plotArea(), SIGNAL(backgroundTypeChanged(PlotArea::BackgroundType)), this, SLOT(plotBackgroundTypeChanged(PlotArea::BackgroundType)) );
-     connect( m_plot->plotArea(), SIGNAL(backgroundColorStyleChanged(PlotArea::BackgroundColorStyle)), this, SLOT(plotBackgroundColorStyleChanged(PlotArea::BackgroundColorStyle)) );
-     connect( m_plot->plotArea(), SIGNAL(backgroundImageStyleChanged(PlotArea::BackgroundImageStyle)), this, SLOT(plotBackgroundImageStyleChanged(PlotArea::BackgroundImageStyle)) );
-     connect( m_plot->plotArea(), SIGNAL(backgroundBrushStyleChanged(Qt::BrushStyle)), this, SLOT(plotBackgroundBrushStyleChanged(Qt::BrushStyle)) );
-     connect( m_plot->plotArea(), SIGNAL(backgroundFirstColorChanged(QColor&)), this, SLOT(plotBackgroundFirstColorChanged(QColor&)) );
-     connect( m_plot->plotArea(), SIGNAL(backgroundSecondColorChanged(QColor&)), this, SLOT(plotBackgroundSecondColorChanged(QColor&)) );
-     connect( m_plot->plotArea(), SIGNAL(backgroundFileNameChanged(QString&)), this, SLOT(plotBackgroundFileNameChanged(QString&)) );
-     connect( m_plot->plotArea(), SIGNAL(backgroundOpacityChanged(float)), this, SLOT(plotBackgroundOpacityChanged(float)) );
-     connect( m_plot->plotArea(), SIGNAL(borderPenChanged(QPen&)), this, SLOT(plotBorderPenChanged(QPen&)) );
-     connect( m_plot->plotArea(), SIGNAL(borderOpacityChanged(float)), this, SLOT(plotBorderOpacityChanged(float)) );
-     connect( m_plot, SIGNAL(horizontalPaddingChanged(float)), this, SLOT(plotHorizontalPaddingChanged(float)) );
-     connect( m_plot, SIGNAL(verticalPaddingChanged(float)), this, SLOT(plotVerticalPaddingChanged(float)) );
- 
-     m_initializing = false;
- }
- 
- void CartesianPlotDock::activateTitleTab(){
+ 	m_initializing = false;
+ }
+ 
+ void CartesianPlotDock::activateTitleTab() {
  	ui.tabWidget->setCurrentWidget(ui.tabTitle);
  }
  
  //************************************************************
  //**** SLOTs for changes triggered in CartesianPlotDock ******
  //************************************************************
- void CartesianPlotDock::retranslateUi(){
+ void CartesianPlotDock::retranslateUi() {
  	m_initializing = true;
  
+     //general
+     ui.cbXScaling->addItem( i18n("linear") );
+     ui.cbXScaling->addItem( i18n("log(x)") );
+     ui.cbXScaling->addItem( i18n("log2(x)") );
+     ui.cbXScaling->addItem( i18n("ln(x)") );
+ 
+     ui.cbYScaling->addItem( i18n("linear") );
+     ui.cbYScaling->addItem( i18n("log(y)") );
+     ui.cbYScaling->addItem( i18n("log2(y)") );
+     ui.cbYScaling->addItem( i18n("ln(y)") );
+ 
+     //scale breakings
+     ui.cbXBreakStyle->addItem( i18n("simple") );
+     ui.cbXBreakStyle->addItem( i18n("vertical") );
+     ui.cbXBreakStyle->addItem( i18n("sloped") );
+ 
+     ui.cbYBreakStyle->addItem( i18n("simple") );
+     ui.cbYBreakStyle->addItem( i18n("vertical") );
+     ui.cbYBreakStyle->addItem( i18n("sloped") );
+ 
+     //plot area
+     ui.cbBackgroundType->addItem(i18n("color"));
+     ui.cbBackgroundType->addItem(i18n("image"));
+     ui.cbBackgroundType->addItem(i18n("pattern"));
+ 
+     ui.cbBackgroundColorStyle->addItem(i18n("single color"));
+     ui.cbBackgroundColorStyle->addItem(i18n("horizontal linear gradient"));
+     ui.cbBackgroundColorStyle->addItem(i18n("vertical linear gradient"));
+     ui.cbBackgroundColorStyle->addItem(i18n("diagonal linear gradient (start from top left)"));
+     ui.cbBackgroundColorStyle->addItem(i18n("diagonal linear gradient (start from bottom left)"));
+     ui.cbBackgroundColorStyle->addItem(i18n("radial gradient"));
+ 
+     ui.cbBackgroundImageStyle->addItem(i18n("scaled and cropped"));
+     ui.cbBackgroundImageStyle->addItem(i18n("scaled"));
+     ui.cbBackgroundImageStyle->addItem(i18n("scaled, keep proportions"));
+     ui.cbBackgroundImageStyle->addItem(i18n("centered"));
+     ui.cbBackgroundImageStyle->addItem(i18n("tiled"));
+     ui.cbBackgroundImageStyle->addItem(i18n("center tiled"));
+ 
+     GuiTools::updatePenStyles(ui.cbBorderStyle, Qt::black);
+     GuiTools::updateBrushStyles(ui.cbBackgroundBrushStyle, Qt::SolidPattern);
+ 
 -    m_initializing = false;
 +	//general
 +	ui.cbXScaling->addItem( i18n("linear") );
 +	ui.cbXScaling->addItem( i18n("log(x)") );
 +	ui.cbXScaling->addItem( i18n("log2(x)") );
 +	ui.cbXScaling->addItem( i18n("ln(x)") );
 +
 +	ui.cbYScaling->addItem( i18n("linear") );
 +	ui.cbYScaling->addItem( i18n("log(y)") );
 +	ui.cbYScaling->addItem( i18n("log2(y)") );
 +	ui.cbYScaling->addItem( i18n("ln(y)") );
 +
 +	//scale breakings
 +	ui.cbXBreakStyle->addItem( i18n("simple") );
 +	ui.cbXBreakStyle->addItem( i18n("vertical") );
 +	ui.cbXBreakStyle->addItem( i18n("sloped") );
 +
 +	ui.cbYBreakStyle->addItem( i18n("simple") );
 +	ui.cbYBreakStyle->addItem( i18n("vertical") );
 +	ui.cbYBreakStyle->addItem( i18n("sloped") );
 +
 +	//plot area
 +	ui.cbBackgroundType->addItem(i18n("color"));
 +	ui.cbBackgroundType->addItem(i18n("image"));
 +	ui.cbBackgroundType->addItem(i18n("pattern"));
 +
 +	ui.cbBackgroundColorStyle->addItem(i18n("single color"));
 +	ui.cbBackgroundColorStyle->addItem(i18n("horizontal linear gradient"));
 +	ui.cbBackgroundColorStyle->addItem(i18n("vertical linear gradient"));
 +	ui.cbBackgroundColorStyle->addItem(i18n("diagonal linear gradient (start from top left)"));
 +	ui.cbBackgroundColorStyle->addItem(i18n("diagonal linear gradient (start from bottom left)"));
 +	ui.cbBackgroundColorStyle->addItem(i18n("radial gradient"));
 +
 +	ui.cbBackgroundImageStyle->addItem(i18n("scaled and cropped"));
 +	ui.cbBackgroundImageStyle->addItem(i18n("scaled"));
 +	ui.cbBackgroundImageStyle->addItem(i18n("scaled, keep proportions"));
 +	ui.cbBackgroundImageStyle->addItem(i18n("centered"));
 +	ui.cbBackgroundImageStyle->addItem(i18n("tiled"));
 +	ui.cbBackgroundImageStyle->addItem(i18n("center tiled"));
 +
 +	GuiTools::updatePenStyles(ui.cbBorderStyle, Qt::black);
 +	GuiTools::updateBrushStyles(ui.cbBackgroundBrushStyle, Qt::SolidPattern);
 +
 +	m_initializing = false;
  }
  
  // "General"-tab
@@@ -422,23 -416,23 +458,23 @@@ void CartesianPlotDock::autoScaleXChang
  	ui.kleXMin->setEnabled(!checked);
  	ui.kleXMax->setEnabled(!checked);
  
 -    if (m_initializing)
 -        return;
 +	if (m_initializing)
 +		return;
  
 -    foreach(CartesianPlot* plot, m_plotList)
 -        plot->setAutoScaleX(checked);
 +	foreach(CartesianPlot* plot, m_plotList)
 +		plot->setAutoScaleX(checked);
  }
  
- void CartesianPlotDock::xMinChanged(){
+ void CartesianPlotDock::xMinChanged() {
  	if (m_initializing)
  		return;
  
 -    float value = ui.kleXMin->text().toDouble();
 -    foreach(CartesianPlot* plot, m_plotList)
 -        plot->setXMin(value);
 +	float value = ui.kleXMin->text().toDouble();
 +	foreach(CartesianPlot* plot, m_plotList)
 +		plot->setXMin(value);
  }
  
- void CartesianPlotDock::xMaxChanged(){
+ void CartesianPlotDock::xMaxChanged() {
  	if (m_initializing)
  		return;
  
@@@ -463,23 -457,23 +499,23 @@@ void CartesianPlotDock::autoScaleYChang
  	ui.kleYMin->setEnabled(!checked);
  	ui.kleYMax->setEnabled(!checked);
  
 -    if (m_initializing)
 -        return;
 +	if (m_initializing)
 +		return;
  
 -    foreach(CartesianPlot* plot, m_plotList)
 -        plot->setAutoScaleY(checked);
 +	foreach(CartesianPlot* plot, m_plotList)
 +		plot->setAutoScaleY(checked);
  }
  
- void CartesianPlotDock::yMinChanged(){
+ void CartesianPlotDock::yMinChanged() {
  	if (m_initializing)
  		return;
  
 -    float value = ui.kleYMin->text().toDouble();
 -    foreach(CartesianPlot* plot, m_plotList)
 -        plot->setYMin(value);
 +	float value = ui.kleYMin->text().toDouble();
 +	foreach(CartesianPlot* plot, m_plotList)
 +		plot->setYMin(value);
  }
  
- void CartesianPlotDock::yMaxChanged(){
+ void CartesianPlotDock::yMaxChanged() {
  	if (m_initializing)
  		return;
  
@@@ -698,15 -817,14 +859,14 @@@ void CartesianPlotDock::backgroundColor
  		ui.cbBackgroundBrushStyle->hide();
  	}
  
 -    if (m_initializing)
 -        return;
 +	if (m_initializing)
 +		return;
  
- 	foreach(CartesianPlot* plot, m_plotList){
+ 	foreach(CartesianPlot* plot, m_plotList)
  		plot->plotArea()->setBackgroundColorStyle(style);
- 	}
  }
  
- void CartesianPlotDock::backgroundImageStyleChanged(int index){
+ void CartesianPlotDock::backgroundImageStyleChanged(int index) {
  	if (m_initializing)
  		return;
  
@@@ -770,11 -884,11 +926,11 @@@ void CartesianPlotDock::selectFile() 
  
  	ui.kleBackgroundFileName->setText( path );
  
 -    foreach(CartesianPlot* plot, m_plotList)
 -        plot->plotArea()->setBackgroundFileName(path);
 +	foreach(CartesianPlot* plot, m_plotList)
 +		plot->plotArea()->setBackgroundFileName(path);
  }
  
- void CartesianPlotDock::fileNameChanged(){
+ void CartesianPlotDock::fileNameChanged() {
  	if (m_initializing)
  		return;
  
@@@ -839,20 -952,20 +994,20 @@@ void CartesianPlotDock::borderCornerRad
  	if (m_initializing)
  		return;
  
 -    foreach(CartesianPlot* plot, m_plotList)
 -        plot->plotArea()->setBorderCornerRadius(Worksheet::convertToSceneUnits(value, Worksheet::Centimeter));
 +	foreach(CartesianPlot* plot, m_plotList)
 +		plot->plotArea()->setBorderCornerRadius(Worksheet::convertToSceneUnits(value, Worksheet::Centimeter));
  }
  
- void CartesianPlotDock::borderOpacityChanged(int value){
+ void CartesianPlotDock::borderOpacityChanged(int value) {
  	if (m_initializing)
  		return;
  
 -    qreal opacity = (float)value/100.;
 -    foreach(CartesianPlot* plot, m_plotList)
 -        plot->plotArea()->setBorderOpacity(opacity);
 +	qreal opacity = (float)value/100.;
 +	foreach(CartesianPlot* plot, m_plotList)
 +		plot->plotArea()->setBorderOpacity(opacity);
  }
  
- void CartesianPlotDock::horizontalPaddingChanged(double value){
+ void CartesianPlotDock::horizontalPaddingChanged(double value) {
  	if (m_initializing)
  		return;
  
@@@ -873,19 -986,19 +1028,19 @@@ void CartesianPlotDock::verticalPadding
  //*************************************************************
  //general
  void CartesianPlotDock::plotDescriptionChanged(const AbstractAspect* aspect) {
 -    if (m_plot != aspect)
 -        return;
 -
 -    m_initializing = true;
 -    if (aspect->name() != ui.leName->text()) {
 -        ui.leName->setText(aspect->name());
 -    } else if (aspect->comment() != ui.leComment->text()) {
 -        ui.leComment->setText(aspect->comment());
 -    }
 -    m_initializing = false;
 +	if (m_plot != aspect)
 +		return;
 +
 +	m_initializing = true;
 +	if (aspect->name() != ui.leName->text()) {
 +		ui.leName->setText(aspect->name());
 +	} else if (aspect->comment() != ui.leComment->text()) {
 +		ui.leComment->setText(aspect->comment());
 +	}
 +	m_initializing = false;
  }
  
- void CartesianPlotDock::plotRectChanged(QRectF& rect){
+ void CartesianPlotDock::plotRectChanged(QRectF& rect) {
  	m_initializing = true;
  	ui.sbLeft->setValue(Worksheet::convertFromSceneUnits(rect.x(), Worksheet::Centimeter));
  	ui.sbTop->setValue(Worksheet::convertFromSceneUnits(rect.y(), Worksheet::Centimeter));
@@@ -1047,26 -1171,26 +1213,26 @@@ void CartesianPlotDock::plotVerticalPad
  //******************** SETTINGS *******************************
  //*************************************************************
  void CartesianPlotDock::loadConfigFromTemplate(KConfig& config) {
 -    //extract the name of the template from the file name
 -    QString name;
 -    int index = config.name().lastIndexOf(QDir::separator());
 -    if (index!=-1)
 -        name = config.name().right(config.name().size() - index - 1);
 -    else
 -        name = config.name();
 +	//extract the name of the template from the file name
 +	QString name;
 +	int index = config.name().lastIndexOf(QDir::separator());
 +	if (index!=-1)
 +		name = config.name().right(config.name().size() - index - 1);
 +	else
 +		name = config.name();
  
 -    int size = m_plotList.size();
 -    if (size>1)
 -        m_plot->beginMacro(i18n("%1 cartesian plots: template \"%2\" loaded", size, name));
 -    else
 -        m_plot->beginMacro(i18n("%1: template \"%2\" loaded", m_plot->name(), name));
 +	int size = m_plotList.size();
 +	if (size>1)
 +		m_plot->beginMacro(i18n("%1 cartesian plots: template \"%2\" loaded", size, name));
 +	else
 +		m_plot->beginMacro(i18n("%1: template \"%2\" loaded", m_plot->name(), name));
  
 -    this->loadConfig(config);
 +	this->loadConfig(config);
  
 -    m_plot->endMacro();
 +	m_plot->endMacro();
  }
  
- void CartesianPlotDock::load(){
+ void CartesianPlotDock::load() {
  	//General-tab
  	ui.chkVisible->setChecked(m_plot->isVisible());
  	ui.sbLeft->setValue(Worksheet::convertFromSceneUnits(m_plot->rect().x(), Worksheet::Centimeter));
@@@ -1205,33 -1340,32 +1382,32 @@@ void CartesianPlotDock::saveConfigAsTem
  //  group.writeEntry("yMax", ui.kleYMax->text());
  //  group.writeEntry("yScale", ui.cbYScaling->currentIndex());
  
 -    //Title
 -    KConfigGroup group = config.group("PlotTitle");
 -    labelWidget->saveConfig(group);
 -
 -    //Scale breakings
 -    //TODO
 -
 -    //Background
 -    group = config.group("PlotArea");
 -    group.writeEntry("BackgroundType", ui.cbBackgroundType->currentIndex());
 -    group.writeEntry("BackgroundColorStyle", ui.cbBackgroundColorStyle->currentIndex());
 -    group.writeEntry("BackgroundImageStyle", ui.cbBackgroundImageStyle->currentIndex());
 -    group.writeEntry("BackgroundBrushStyle", ui.cbBackgroundBrushStyle->currentIndex());
 -    group.writeEntry("BackgroundFileName", ui.kleBackgroundFileName->text());
 -    group.writeEntry("BackgroundFirstColor", ui.kcbBackgroundFirstColor->color());
 -    group.writeEntry("BackgroundSecondColor", ui.kcbBackgroundSecondColor->color());
 -    group.writeEntry("BackgroundOpacity", ui.sbBackgroundOpacity->value()/100.0);
 -    group.writeEntry("HorizontalPadding", Worksheet::convertToSceneUnits(ui.sbPaddingHorizontal->value(), Worksheet::Centimeter));
 -    group.writeEntry("VerticalPadding", Worksheet::convertToSceneUnits(ui.sbPaddingVertical->value(), Worksheet::Centimeter));
 -
 -    //Border
 -    group.writeEntry("BorderStyle", ui.cbBorderStyle->currentIndex());
 -    group.writeEntry("BorderColor", ui.kcbBorderColor->color());
 -    group.writeEntry("BorderWidth", Worksheet::convertToSceneUnits(ui.sbBorderWidth->value(), Worksheet::Point));
 -    group.writeEntry("BorderCornerRadius", Worksheet::convertToSceneUnits(ui.sbBorderCornerRadius->value(), Worksheet::Centimeter));
 -    group.writeEntry("BorderOpacity", ui.sbBorderOpacity->value()/100.0);
 -
 -    config.sync();
 +	//Title
 +	KConfigGroup group = config.group("PlotTitle");
 +	labelWidget->saveConfig(group);
 +
 +	//Scale breakings
 +	//TODO
 +
 +	//Background
 +	group = config.group("PlotArea");
 +	group.writeEntry("BackgroundType", ui.cbBackgroundType->currentIndex());
 +	group.writeEntry("BackgroundColorStyle", ui.cbBackgroundColorStyle->currentIndex());
 +	group.writeEntry("BackgroundImageStyle", ui.cbBackgroundImageStyle->currentIndex());
 +	group.writeEntry("BackgroundBrushStyle", ui.cbBackgroundBrushStyle->currentIndex());
 +	group.writeEntry("BackgroundFileName", ui.kleBackgroundFileName->text());
 +	group.writeEntry("BackgroundFirstColor", ui.kcbBackgroundFirstColor->color());
 +	group.writeEntry("BackgroundSecondColor", ui.kcbBackgroundSecondColor->color());
 +	group.writeEntry("BackgroundOpacity", ui.sbBackgroundOpacity->value()/100.0);
 +	group.writeEntry("HorizontalPadding", Worksheet::convertToSceneUnits(ui.sbPaddingHorizontal->value(), Worksheet::Centimeter));
 +	group.writeEntry("VerticalPadding", Worksheet::convertToSceneUnits(ui.sbPaddingVertical->value(), Worksheet::Centimeter));
 +
 +	//Border
 +	group.writeEntry("BorderStyle", ui.cbBorderStyle->currentIndex());
 +	group.writeEntry("BorderColor", ui.kcbBorderColor->color());
 +	group.writeEntry("BorderWidth", Worksheet::convertToSceneUnits(ui.sbBorderWidth->value(), Worksheet::Point));
 +	group.writeEntry("BorderCornerRadius", Worksheet::convertToSceneUnits(ui.sbBorderCornerRadius->value(), Worksheet::Centimeter));
 +	group.writeEntry("BorderOpacity", ui.sbBorderOpacity->value()/100.0);
 +
 +	config.sync();
  }
- 
diff --cc src/kdefrontend/dockwidgets/XYCurveDock.cpp
index dfbb2e2,7d21920..4843568
--- a/src/kdefrontend/dockwidgets/XYCurveDock.cpp
+++ b/src/kdefrontend/dockwidgets/XYCurveDock.cpp
@@@ -488,7 -488,10 +488,10 @@@ void XYCurveDock::init()
  
  void XYCurveDock::setModel() {
  	QList<const char*>  list;
-         list<<"Folder"<<"Workbook"<<"Datapicker"<<"DatapickerCurve"<<"Spreadsheet"<<"FileDataSource"<<"Column"<<"Worksheet"<<"CartesianPlot"<<"XYFitCurve"<<"CantorWorksheet";
+ 	list<<"Folder"<<"Workbook"<<"Datapicker"<<"DatapickerCurve"<<"Spreadsheet"
 -		<<"FileDataSource"<<"Column"<<"Worksheet"<<"CartesianPlot"
++		<<"FileDataSource"<<"Column"<<"Worksheet"<<"CartesianPlot"<<"CantorWorksheet"
+ 		<<"XYInterpolationCurve"<<"XYFitCurve"<<"XYFourierFilterCurve";
+ 
  	if (cbXColumn) {
  		cbXColumn->setTopLevelClasses(list);
  		cbYColumn->setTopLevelClasses(list);
diff --cc src/kdefrontend/labplot2ui.rc
index 804829b,79108dd..5080a97
--- a/src/kdefrontend/labplot2ui.rc
+++ b/src/kdefrontend/labplot2ui.rc
@@@ -70,9 -62,8 +70,9 @@@
  <Menu name="spreadsheet"><text>&Spreadsheet</text></Menu>
  <Menu name="matrix"><text>&Matrix</text></Menu>
  <Menu name="worksheet"><text>&Worksheet</text></Menu>
 +<Menu name="casWorksheet"><text>&CAS Worksheet</text></Menu>
+ <Menu name="analysis"><text>&Analysis</text></Menu>
  <Menu name="datapicker"><text>&Datapicker</text></Menu>
- <!-- <Menu name="analysis"><text>&Analysis</text></Menu> -->
  <!-- <Menu name="drawing"><text>&Drawing</text></Menu> -->
  <!-- <Menu name="script"><text>&Script</text></Menu> -->
  <Menu name="windows"><text>&Windows</text>
diff --cc src/kdefrontend/spreadsheet/ExportSpreadsheetDialog.cpp
index 0a5a64b,47bc8b8..6bf1fcd
--- a/src/kdefrontend/spreadsheet/ExportSpreadsheetDialog.cpp
+++ b/src/kdefrontend/spreadsheet/ExportSpreadsheetDialog.cpp
@@@ -77,9 -77,10 +77,10 @@@ ExportSpreadsheetDialog::ExportSpreadsh
  	connect( ui.bOpen, SIGNAL(clicked()), this, SLOT (selectFile()) );
  	connect( ui.kleFileName, SIGNAL(textChanged(QString)), this, SLOT(fileNameChanged(QString)) );
  	connect(this,SIGNAL(user1Clicked()), this, SLOT(toggleOptions()));
+ 	connect(ui.cbFormat, SIGNAL(currentIndexChanged(int)), this, SLOT(formatChanged(int)));
  
  	setCaption(i18n("Export spreadsheet"));
 -    setWindowIcon(QIcon::fromTheme("document-export-database"));
 +	setWindowIcon(QIcon::fromTheme("document-export-database"));
  
  	//restore saved settings
  	KConfigGroup conf(KSharedConfig::openConfig(), "ExportSpreadsheetDialog");
diff --cc src/kdefrontend/widgets/LabelWidget.cpp
index 803235e,a220db2..9c1d1a2
--- a/src/kdefrontend/widgets/LabelWidget.cpp
+++ b/src/kdefrontend/widgets/LabelWidget.cpp
@@@ -127,14 -128,17 +128,17 @@@ LabelWidget::LabelWidget(QWidget *paren
  }
  
  void LabelWidget::setLabels(QList<TextLabel*> labels){
 -    m_labelsList = labels;
 -    m_label = labels.first();
 +	m_labelsList = labels;
 +	m_label = labels.first();
  
- 	ui.lOffset->hide();
- 	ui.sbOffset->hide();
+ 	ui.lOffsetX->hide();
+ 	ui.lOffsetY->hide();
+ 
+ 	ui.sbOffsetX->hide();
+ 	ui.sbOffsetY->hide();
  
 -    this->load();
 -    initConnections();
 +	this->load();
 +	initConnections();
  }
  
  void LabelWidget::setAxes(QList<Axis*> axes){
@@@ -434,19 -443,18 +443,18 @@@ void LabelWidget::insertDateTime(QActio
  */
  void LabelWidget::positionXChanged(int index){
  	//Enable/disable the spinbox for the x- oordinates if the "custom position"-item is selected/deselected
- 	if (index == ui.cbPositionX->count()-1 ){
+ 	if (index == ui.cbPositionX->count()-1 )
  		ui.sbPositionX->setEnabled(true);
- 	}else{
+ 	else
  		ui.sbPositionX->setEnabled(false);
- 	}
  
 -    if (m_initializing)
 -        return;
 +	if (m_initializing)
 +		return;
  
 -    TextLabel::PositionWrapper position = m_label->position();
 -    position.horizontalPosition = TextLabel::HorizontalPosition(index);
 -    foreach(TextLabel* label, m_labelsList)
 -        label->setPosition(position);
 +	TextLabel::PositionWrapper position = m_label->position();
 +	position.horizontalPosition = TextLabel::HorizontalPosition(index);
 +	foreach(TextLabel* label, m_labelsList)
 +		label->setPosition(position);
  }
  
  /*!
@@@ -506,14 -514,14 +514,14 @@@ void LabelWidget::verticalAlignmentChan
  }
  
  void LabelWidget::rotationChanged(int value){
 -    if (m_initializing)
 -        return;
 +	if (m_initializing)
 +		return;
  
 -    foreach(TextLabel* label, m_labelsList)
 -        label->setRotationAngle(value);
 +	foreach(TextLabel* label, m_labelsList)
 +		label->setRotationAngle(value);
  }
  
- void LabelWidget::offsetChanged(double value){
+ void LabelWidget::offsetXChanged(double value){
  	if (m_initializing)
  		return;
  
@@@ -576,14 -592,20 +592,20 @@@ void LabelWidget::labelHorizontalAlignm
  }
  
  void LabelWidget::labelVerticalAlignmentChanged(TextLabel::VerticalAlignment index){
 -    m_initializing = true;
 -    ui.cbVerticalAlignment->setCurrentIndex(index);
 -    m_initializing = false;
 +	m_initializing = true;
 +	ui.cbVerticalAlignment->setCurrentIndex(index);
 +	m_initializing = false;
  }
  
- void LabelWidget::labelOffsetChanged(float offset){
+ void LabelWidget::labelOffsetxChanged(float offset){
  	m_initializing = true;
- 	ui.sbOffset->setValue(Worksheet::convertFromSceneUnits(offset, Worksheet::Point));
+ 	ui.sbOffsetX->setValue(Worksheet::convertFromSceneUnits(offset, Worksheet::Point));
+ 	m_initializing = false;
+ }
+ 
+ void LabelWidget::labelOffsetyChanged(float offset){
+ 	m_initializing = true;
+ 	ui.sbOffsetY->setValue(Worksheet::convertFromSceneUnits(offset, Worksheet::Point));
  	m_initializing = false;
  }
  


More information about the kde-doc-english mailing list