// This file is generated by kconfig_compiler_kf5 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();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /**
      Set Is native moving (possibly wobbling windows) active
    */
    static
    void setNativeMoving( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "NativeMoving" ) ))
        self()->mNativeMoving = v;
    }

    /**
      Get Is native moving (possibly wobbling windows) active
    */
    static
    bool nativeMoving()
    {
      return self()->mNativeMoving;
    }

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

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

  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 mNativeMoving;
    bool mAlwaysOnTop;

  private:
};

#endif

