// This file is generated by kconfig_compiler from runconfig.kcfg.
// All changes you do to this file will be lost.
#ifndef RUNSETTINGS_H
#define RUNSETTINGS_H

#include <project/projectconfigskeleton.h>

#include <kconfigskeleton.h>
#include <kdebug.h>

class RunSettings : public KDevelop::ProjectConfigSkeleton
{
  public:
    ~RunSettings();


    /**
      Get Executable
    */
//     static
//     KUrl executable()
//     {
//       return self()->mExecutable;
//     }

    /**
      Get Item object corresponding to executable()
    */
    ItemUrl *executableItem()
    {
      return mExecutableItem;
    }


    /**
      Get Environment
    */
//     static
//     QString environment()
//     {
//       return self()->mEnvironment;
//     }

    /**
      Get Item object corresponding to environment()
    */
    ItemString *environmentItem()
    {
      return mEnvironmentItem;
    }


    /**
      Get Arguments
    */
//     static
//     QString arguments()
//     {
//       return self()->mArguments;
//     }

    /**
      Get Item object corresponding to arguments()
    */
    ItemString *argumentsItem()
    {
      return mArgumentsItem;
    }


    /**
      Get Working Directory
    */
//     static
//     KUrl workingDirectory()
//     {
//       return self()->mWorkingDirectory;
//     }

    /**
      Get Item object corresponding to workingDirectory()
    */
    ItemUrl *workingDirectoryItem()
    {
      return mWorkingDirectoryItem;
    }


    /**
      Get Install Before Execution
    */
//     static
//     bool autoinstall()
//     {
//       return self()->mAutoinstall;
//     }

    /**
      Get Item object corresponding to autoinstall()
    */
//     ItemBool *autoinstallItem()
//     {
//       return mAutoinstallItem;
//     }


    /**
      Get Super User Install
    */
//     static
//     bool autosu()
//     {
//       return self()->mAutosu;
//     }

    /**
      Get Item object corresponding to autosu()
    */
//     ItemBool *autosuItem()
//     {
//       return mAutosuItem;
//     }


    /**
      Get Start In Terminal
    */
//     static
//     bool startinterminal()
//     {
//       return self()->mStartinterminal;
//     }

    /**
      Get Item object corresponding to startinterminal()
    */
    ItemBool *startinterminalItem()
    {
      return mStartinterminalItem;
    }

    RunSettings(const QString& prefix, const QString& arg);
  protected:
    // Run Options
    KUrl mExecutable;
    QString mEnvironment;
    QString mArguments;
    KUrl mWorkingDirectory;
//     bool mAutocompile;
//     bool mAutoinstall;
//     bool mAutosu;
    bool mStartinterminal;
    QString mRunItem;
    int mBeforeExec;

  private:
    ItemUrl *mExecutableItem;
    ItemString *mEnvironmentItem;
    ItemString *mArgumentsItem;
    ItemUrl *mWorkingDirectoryItem;
//     ItemBool *mAutocompileItem;
//     ItemBool *mAutoinstallItem;
//     ItemBool *mAutosuItem;
    ItemBool *mStartinterminalItem;
    ItemString* mRunItemItem;
    ItemInt* mBeforeExecItem;
};

#endif

