File indexing completed on 2023-10-01 07:35:55
0001 /* 0002 SPDX-License-Identifier: GPL-2.0-or-later 0003 SPDX-FileCopyrightText: 2009 Alexander Rieder <alexanderrieder@gmail.com> 0004 */ 0005 0006 #include "rextensions.h" 0007 0008 #include <KLocalizedString> 0009 0010 RScriptExtension::RScriptExtension(QObject* parent) : Cantor::ScriptExtension(parent) 0011 { 0012 0013 } 0014 0015 QString RScriptExtension::runExternalScript(const QString& path) 0016 { 0017 return QString::fromLatin1("source(\"%1\")").arg(path); 0018 } 0019 0020 QString RScriptExtension::scriptFileFilter() 0021 { 0022 return i18n("R script file (*.R)"); 0023 } 0024 0025 QString RScriptExtension::highlightingMode() 0026 { 0027 return QLatin1String("r script"); 0028 } 0029 0030 RPlotExtension::RPlotExtension(QObject* parent) : Cantor::AdvancedPlotExtension(parent) 0031 { 0032 } 0033 // TODO: injection prevention 0034 QString RPlotExtension::accept(const Cantor::PlotTitleDirective& directive) const 0035 { 0036 return QLatin1String("main=\"")+directive.title()+QLatin1String("\""); 0037 } 0038 0039 QString RPlotExtension::accept(const Cantor::OrdinateScaleDirective& directive) const 0040 { 0041 return QLatin1String("ylim=range(")+QString::number(directive.min())+QLatin1String(",")+QString::number(directive.max())+QLatin1String(")"); 0042 } 0043 0044 QString RPlotExtension::accept(const Cantor::AbscissScaleDirective& directive) const 0045 { 0046 return QLatin1String("xlim=range(")+QString::number(directive.min())+QLatin1String(",")+QString::number(directive.max())+QLatin1String(")"); 0047 } 0048 0049 RVariableManagementExtension::RVariableManagementExtension(QObject* parent) : Cantor::VariableManagementExtension(parent) 0050 { 0051 0052 } 0053 0054 QString RVariableManagementExtension::addVariable(const QString& name, const QString& value) 0055 { 0056 return setValue(name, value); 0057 } 0058 0059 QString RVariableManagementExtension::setValue(const QString& name, const QString& value) 0060 { 0061 return QString::fromLatin1("%1 = %2").arg(name, value); 0062 } 0063 0064 QString RVariableManagementExtension::removeVariable(const QString& name) 0065 { 0066 return QString::fromLatin1("remove(%1)").arg(name); 0067 } 0068 0069 QString RVariableManagementExtension::saveVariables(const QString& fileName) 0070 { 0071 Q_UNUSED(fileName); 0072 return QString(); 0073 } 0074 0075 QString RVariableManagementExtension::loadVariables(const QString& fileName) 0076 { 0077 Q_UNUSED(fileName); 0078 return QString(); 0079 } 0080 0081 QString RVariableManagementExtension::clearVariables() 0082 { 0083 return QLatin1String("rm(list=ls())"); 0084 }