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

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

namespace KWin {

class MouseClickConfig : public KConfigSkeleton
{
  public:

    static MouseClickConfig *self();
    static void instance(const QString& cfgfilename);
    static void instance(KSharedConfig::Ptr config);
    ~MouseClickConfig() override;

    /**
      Set Color1
    */
    static
    void setColor1( const QColor & v )
    {
      if (!self()->isColor1Immutable())
        self()->mColor1 = v;
    }

    /**
      Get Color1
    */
    static
    QColor color1()
    {
      return self()->mColor1;
    }

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

    /**
      Set Color2
    */
    static
    void setColor2( const QColor & v )
    {
      if (!self()->isColor2Immutable())
        self()->mColor2 = v;
    }

    /**
      Get Color2
    */
    static
    QColor color2()
    {
      return self()->mColor2;
    }

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

    /**
      Set Color3
    */
    static
    void setColor3( const QColor & v )
    {
      if (!self()->isColor3Immutable())
        self()->mColor3 = v;
    }

    /**
      Get Color3
    */
    static
    QColor color3()
    {
      return self()->mColor3;
    }

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

    /**
      Set LineWidth
    */
    static
    void setLineWidth( double v )
    {
      if (!self()->isLineWidthImmutable())
        self()->mLineWidth = v;
    }

    /**
      Get LineWidth
    */
    static
    double lineWidth()
    {
      return self()->mLineWidth;
    }

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

    /**
      Set RingLife
    */
    static
    void setRingLife( uint v )
    {
      if (!self()->isRingLifeImmutable())
        self()->mRingLife = v;
    }

    /**
      Get RingLife
    */
    static
    uint ringLife()
    {
      return self()->mRingLife;
    }

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

    /**
      Set RingSize
    */
    static
    void setRingSize( uint v )
    {
      if (!self()->isRingSizeImmutable())
        self()->mRingSize = v;
    }

    /**
      Get RingSize
    */
    static
    uint ringSize()
    {
      return self()->mRingSize;
    }

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

    /**
      Set RingCount
    */
    static
    void setRingCount( uint v )
    {
      if (!self()->isRingCountImmutable())
        self()->mRingCount = v;
    }

    /**
      Get RingCount
    */
    static
    uint ringCount()
    {
      return self()->mRingCount;
    }

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

    /**
      Set ShowText
    */
    static
    void setShowText( bool v )
    {
      if (!self()->isShowTextImmutable())
        self()->mShowText = v;
    }

    /**
      Get ShowText
    */
    static
    bool showText()
    {
      return self()->mShowText;
    }

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

    /**
      Set Font
    */
    static
    void setFont( const QFont & v )
    {
      if (!self()->isFontImmutable())
        self()->mFont = v;
    }

    /**
      Get Font
    */
    static
    QFont font()
    {
      return self()->mFont;
    }

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

  protected:
    MouseClickConfig(KSharedConfig::Ptr config);
    friend class MouseClickConfigHelper;


    // Effect-mouseclick
    QColor mColor1;
    QColor mColor2;
    QColor mColor3;
    double mLineWidth;
    uint mRingLife;
    uint mRingSize;
    uint mRingCount;
    bool mShowText;
    QFont mFont;
};

}

#endif

