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

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

#include <QFontDatabase>

class RulerSettings : public KConfigSkeleton
{
  public:

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

    /**
      Set Background color of the ruler.
    */
    static
    void setBgColor( const QColor & v )
    {
      if (!self()->isBgColorImmutable())
        self()->mBgColor = v;
    }

    /**
      Get Background color of the ruler.
    */
    static
    QColor bgColor()
    {
      return self()->mBgColor;
    }

    /**
      Is Background color of the ruler. Immutable
    */
    static
    bool isBgColorImmutable()
    {
      return self()->isImmutable( QStringLiteral( "BgColor" ) );
    }

    /**
      Set Length of the ruler.
    */
    static
    void setLength( int v )
    {
      if (!self()->isLengthImmutable())
        self()->mLength = v;
    }

    /**
      Get Length of the ruler.
    */
    static
    int length()
    {
      return self()->mLength;
    }

    /**
      Is Length of the ruler. Immutable
    */
    static
    bool isLengthImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Length" ) );
    }

    /**
      Set Font of the text on the ruler scale.
    */
    static
    void setScaleFont( const QFont & v )
    {
      if (!self()->isScaleFontImmutable())
        self()->mScaleFont = v;
    }

    /**
      Get Font of the text on the ruler scale.
    */
    static
    QFont scaleFont()
    {
      return self()->mScaleFont;
    }

    /**
      Is Font of the text on the ruler scale. Immutable
    */
    static
    bool isScaleFontImmutable()
    {
      return self()->isImmutable( QStringLiteral( "ScaleFont" ) );
    }

    /**
      Set Horizontal ruler
    */
    static
    void setHorizontal( bool v )
    {
      if (!self()->isHorizontalImmutable())
        self()->mHorizontal = v;
    }

    /**
      Get Horizontal ruler
    */
    static
    bool horizontal()
    {
      return self()->mHorizontal;
    }

    /**
      Is Horizontal ruler Immutable
    */
    static
    bool isHorizontalImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Horizontal" ) );
    }

    /**
      Set Direction of the ruler
    */
    static
    void setLeftToRight( bool v )
    {
      if (!self()->isLeftToRightImmutable())
        self()->mLeftToRight = v;
    }

    /**
      Get Direction of the ruler
    */
    static
    bool leftToRight()
    {
      return self()->mLeftToRight;
    }

    /**
      Is Direction of the ruler Immutable
    */
    static
    bool isLeftToRightImmutable()
    {
      return self()->isImmutable( QStringLiteral( "LeftToRight" ) );
    }

    /**
      Set Offset of the origin
    */
    static
    void setOffset( int v )
    {
      if (!self()->isOffsetImmutable())
        self()->mOffset = v;
    }

    /**
      Get Offset of the origin
    */
    static
    int offset()
    {
      return self()->mOffset;
    }

    /**
      Is Offset of the origin Immutable
    */
    static
    bool isOffsetImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Offset" ) );
    }

    /**
      Set Is the scale of the ruler relative (percentage)
    */
    static
    void setRelativeScale( bool v )
    {
      if (!self()->isRelativeScaleImmutable())
        self()->mRelativeScale = v;
    }

    /**
      Get Is the scale of the ruler relative (percentage)
    */
    static
    bool relativeScale()
    {
      return self()->mRelativeScale;
    }

    /**
      Is Is the scale of the ruler relative (percentage) Immutable
    */
    static
    bool isRelativeScaleImmutable()
    {
      return self()->isImmutable( QStringLiteral( "RelativeScale" ) );
    }

    /**
      Set Is a tray icon used
    */
    static
    void setTrayIcon( bool v )
    {
      if (!self()->isTrayIconImmutable())
        self()->mTrayIcon = v;
    }

    /**
      Get Is a tray icon used
    */
    static
    bool trayIcon()
    {
      return self()->mTrayIcon;
    }

    /**
      Is Is a tray icon used Immutable
    */
    static
    bool isTrayIconImmutable()
    {
      return self()->isImmutable( QStringLiteral( "TrayIcon" ) );
    }

    /**
      Set Opacity of the window
    */
    static
    void setOpacity( int v )
    {
      if (!self()->isOpacityImmutable())
        self()->mOpacity = v;
    }

    /**
      Get Opacity of the window
    */
    static
    int opacity()
    {
      return self()->mOpacity;
    }

    /**
      Is Opacity of the window Immutable
    */
    static
    bool isOpacityImmutable()
    {
      return self()->isImmutable( QStringLiteral( "Opacity" ) );
    }

    /**
      Set Is always on top
    */
    static
    void setAlwaysOnTop( bool v )
    {
      if (!self()->isAlwaysOnTopImmutable())
        self()->mAlwaysOnTop = v;
    }

    /**
      Get Is always on top
    */
    static
    bool alwaysOnTop()
    {
      return self()->mAlwaysOnTop;
    }

    /**
      Is Is always on top Immutable
    */
    static
    bool isAlwaysOnTopImmutable()
    {
      return self()->isImmutable( QStringLiteral( "AlwaysOnTop" ) );
    }

  protected:
    RulerSettings();
    friend class RulerSettingsHelper;


    // StoredSettings
    QColor mBgColor;
    int mLength;
    QFont mScaleFont;
    bool mHorizontal;
    bool mLeftToRight;
    int mOffset;
    bool mRelativeScale;
    bool mTrayIcon;
    int mOpacity;
    bool mAlwaysOnTop;
};

#endif

