// This file is generated by kconfig_compiler_kf6 from rserver.kcfg.
// All changes you do to this file will be lost.
#ifndef RSERVERSETTINGS_H
#define RSERVERSETTINGS_H

#include <kconfigskeleton.h>
#include <QCoreApplication>
#include <QDebug>

class RServerSettings : public KConfigSkeleton
{
  public:
    class EnumInlinePlotFormat
    {
      public:
      enum type { pdf, svg, png, COUNT };
    };

    static RServerSettings *self();
    ~RServerSettings() override;

    /**
      Get Url to the local R documentation
    */
    static
    QUrl localDoc()
    {
      return self()->mLocalDoc;
    }

    /**
      Is Url to the local R documentation Immutable
    */
    static
    bool isLocalDocImmutable()
    {
      return self()->isImmutable( QStringLiteral( "localDoc" ) );
    }

    /**
      Get Integrate Plots into the Worksheet
    */
    static
    bool integratePlots()
    {
      return self()->mIntegratePlots;
    }

    /**
      Is Integrate Plots into the Worksheet Immutable
    */
    static
    bool isIntegratePlotsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "integratePlots" ) );
    }

    /**
      Get Enable Variable Management
    */
    static
    bool variableManagement()
    {
      return self()->mVariableManagement;
    }

    /**
      Is Enable Variable Management Immutable
    */
    static
    bool isVariableManagementImmutable()
    {
      return self()->isImmutable( QStringLiteral( "variableManagement" ) );
    }

    /**
      Get List of scripts to autorun at the beginning of session
    */
    static
    QStringList autorunScripts()
    {
      return self()->mAutorunScripts;
    }

    /**
      Is List of scripts to autorun at the beginning of session Immutable
    */
    static
    bool isAutorunScriptsImmutable()
    {
      return self()->isImmutable( QStringLiteral( "autorunScripts" ) );
    }

    /**
      Get inlinePlotFormat
    */
    static
    int inlinePlotFormat()
    {
      return self()->mInlinePlotFormat;
    }

    /**
      Is inlinePlotFormat Immutable
    */
    static
    bool isInlinePlotFormatImmutable()
    {
      return self()->isImmutable( QStringLiteral( "inlinePlotFormat" ) );
    }

    /**
      Get Default plot width
    */
    static
    double plotWidth()
    {
      return self()->mPlotWidth;
    }

    /**
      Is Default plot width Immutable
    */
    static
    bool isPlotWidthImmutable()
    {
      return self()->isImmutable( QStringLiteral( "plotWidth" ) );
    }

    /**
      Get Default plot height
    */
    static
    double plotHeight()
    {
      return self()->mPlotHeight;
    }

    /**
      Is Default plot height Immutable
    */
    static
    bool isPlotHeightImmutable()
    {
      return self()->isImmutable( QStringLiteral( "plotHeight" ) );
    }

  protected:
    RServerSettings();
    friend class RServerSettingsHelper;


    // RBackend
    QUrl mLocalDoc;
    bool mIntegratePlots;
    bool mVariableManagement;
    QStringList mAutorunScripts;
    int mInlinePlotFormat;
    double mPlotWidth;
    double mPlotHeight;
};

#endif

