// This file is generated by kconfig_compiler_kf5 from customtemplates_kfg.kcfg.
// All changes you do to this file will be lost.
#ifndef TEMPLATEPARSER_CTEMPLATES_H
#define TEMPLATEPARSER_CTEMPLATES_H

#include "templateparser_export.h"

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

namespace TemplateParser {

class TEMPLATEPARSER_EXPORT CTemplates : public KConfigSkeleton
{
  public:

    CTemplates( const QString & name );
    ~CTemplates() override;

    /**
      Set Template content
    */
    void setContent( const QString & v )
    {
      if (!isContentImmutable())
        mContent = v;
    }

    /**
      Get Template content
    */
    QString content() const
    {
      return mContent;
    }

    /**
      Is Template content Immutable
    */
    bool isContentImmutable() const
    {
      return isImmutable( QStringLiteral( "Content" ) );
    }

    /**
      Get Item object corresponding to Content()
    */
    ItemString *contentItem()
    {
      return mContentItem;
    }

    /**
      Set Template shortcut
    */
    void setShortcut( const QString & v )
    {
      if (!isShortcutImmutable())
        mShortcut = v;
    }

    /**
      Get Template shortcut
    */
    QString shortcut() const
    {
      return mShortcut;
    }

    /**
      Is Template shortcut Immutable
    */
    bool isShortcutImmutable() const
    {
      return isImmutable( QStringLiteral( "Shortcut" ) );
    }

    /**
      Get Item object corresponding to Shortcut()
    */
    ItemString *shortcutItem()
    {
      return mShortcutItem;
    }

    /**
      Set Template type
    */
    void setType( int v )
    {
      if (!isTypeImmutable())
        mType = v;
    }

    /**
      Get Template type
    */
    int type() const
    {
      return mType;
    }

    /**
      Is Template type Immutable
    */
    bool isTypeImmutable() const
    {
      return isImmutable( QStringLiteral( "Type" ) );
    }

    /**
      Get Item object corresponding to Type()
    */
    ItemInt *typeItem()
    {
      return mTypeItem;
    }

    /**
      Set To
    */
    void setTo( const QString & v )
    {
      if (!isToImmutable())
        mTo = v;
    }

    /**
      Get To
    */
    QString to() const
    {
      return mTo;
    }

    /**
      Is To Immutable
    */
    bool isToImmutable() const
    {
      return isImmutable( QStringLiteral( "To" ) );
    }

    /**
      Get Item object corresponding to To()
    */
    ItemString *toItem()
    {
      return mToItem;
    }

    /**
      Set CC
    */
    void setCC( const QString & v )
    {
      if (!isCCImmutable())
        mCC = v;
    }

    /**
      Get CC
    */
    QString cC() const
    {
      return mCC;
    }

    /**
      Is CC Immutable
    */
    bool isCCImmutable() const
    {
      return isImmutable( QStringLiteral( "CC" ) );
    }

    /**
      Get Item object corresponding to CC()
    */
    ItemString *cCItem()
    {
      return mCCItem;
    }

  protected:
    QString mParamname;

    // CTemplates #$(name)
    QString mContent;
    QString mShortcut;
    int mType;
    QString mTo;
    QString mCC;

  private:
    ItemString *mContentItem;
    ItemString *mShortcutItem;
    ItemInt *mTypeItem;
    ItemString *mToItem;
    ItemString *mCCItem;
};

}

#endif

