File indexing completed on 2024-04-28 11:20:40

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 }