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

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

namespace KWin {

class DesktopGridConfig : public KConfigSkeleton
{
  public:

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

    /**
      Set BorderActivate
    */
    static
    void setBorderActivate( const QList<int> & v )
    {
      if (!self()->isBorderActivateImmutable())
        self()->mBorderActivate = v;
    }

    /**
      Get BorderActivate
    */
    static
    QList<int> borderActivate()
    {
      return self()->mBorderActivate;
    }

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

    /**
      Set TouchBorderActivate
    */
    static
    void setTouchBorderActivate( const QList<int> & v )
    {
      if (!self()->isTouchBorderActivateImmutable())
        self()->mTouchBorderActivate = v;
    }

    /**
      Get TouchBorderActivate
    */
    static
    QList<int> touchBorderActivate()
    {
      return self()->mTouchBorderActivate;
    }

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

    /**
      Set DesktopNameAlignment
    */
    static
    void setDesktopNameAlignment( int v )
    {
      if (!self()->isDesktopNameAlignmentImmutable())
        self()->mDesktopNameAlignment = v;
    }

    /**
      Get DesktopNameAlignment
    */
    static
    int desktopNameAlignment()
    {
      return self()->mDesktopNameAlignment;
    }

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

    /**
      Set LayoutMode
    */
    static
    void setLayoutMode( int v )
    {
      if (!self()->isLayoutModeImmutable())
        self()->mLayoutMode = v;
    }

    /**
      Get LayoutMode
    */
    static
    int layoutMode()
    {
      return self()->mLayoutMode;
    }

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

    /**
      Set DesktopLayoutMode
    */
    static
    void setDesktopLayoutMode( int v )
    {
      if (!self()->isDesktopLayoutModeImmutable())
        self()->mDesktopLayoutMode = v;
    }

    /**
      Get DesktopLayoutMode
    */
    static
    int desktopLayoutMode()
    {
      return self()->mDesktopLayoutMode;
    }

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

    /**
      Set CustomLayoutRows
    */
    static
    void setCustomLayoutRows( int v )
    {
      if (!self()->isCustomLayoutRowsImmutable())
        self()->mCustomLayoutRows = v;
    }

    /**
      Get CustomLayoutRows
    */
    static
    int customLayoutRows()
    {
      return self()->mCustomLayoutRows;
    }

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

    /**
      Set ShowAddRemove
    */
    static
    void setShowAddRemove( bool v )
    {
      if (!self()->isShowAddRemoveImmutable())
        self()->mShowAddRemove = v;
    }

    /**
      Get ShowAddRemove
    */
    static
    bool showAddRemove()
    {
      return self()->mShowAddRemove;
    }

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

  protected:
    DesktopGridConfig(KSharedConfig::Ptr config);
    friend class DesktopGridConfigHelper;


    // Effect-desktopgrid
    QList<int> mBorderActivate;
    QList<int> mTouchBorderActivate;
    int mDesktopNameAlignment;
    int mLayoutMode;
    int mDesktopLayoutMode;
    int mCustomLayoutRows;
    bool mShowAddRemove;
};

}

#endif

