// This file is generated by kconfig_compiler from breeze.kcfg.
// All changes you do to this file will be lost.
#ifndef BREEZE_STYLECONFIGDATA_H
#define BREEZE_STYLECONFIGDATA_H

#include <kconfigskeleton.h>
#include <kdebug.h>

namespace Breeze {

class StyleConfigData : public KConfigSkeleton
{
  public:
    enum EnumMnemonicsMode { MN_NEVER, MN_AUTO, MN_ALWAYS };
    enum EnumWindowDragMode { WD_NONE, WD_MINIMAL, WD_FULL };

    static StyleConfigData *self();
    ~StyleConfigData();

    /**
      Set ShadowStrength
    */
    static
    void setShadowStrength( int v )
    {
      if (v < 25)
      {
        kDebug() << "setShadowStrength: value " << v << " is less than the minimum value of 25";
        v = 25;
      }

      if (v > 255)
      {
        kDebug() << "setShadowStrength: value " << v << " is greater than the maximum value of 255";
        v = 255;
      }

      if (!self()->isImmutable( QString::fromLatin1( "ShadowStrength" ) ))
        self()->mShadowStrength = v;
    }

    /**
      Get ShadowStrength
    */
    static
    int shadowStrength()
    {
      return self()->mShadowStrength;
    }

    /**
      Set ShadowSize
    */
    static
    void setShadowSize( int v )
    {
      if (v < 6)
      {
        kDebug() << "setShadowSize: value " << v << " is less than the minimum value of 6";
        v = 6;
      }

      if (v > 64)
      {
        kDebug() << "setShadowSize: value " << v << " is greater than the maximum value of 64";
        v = 64;
      }

      if (!self()->isImmutable( QString::fromLatin1( "ShadowSize" ) ))
        self()->mShadowSize = v;
    }

    /**
      Get ShadowSize
    */
    static
    int shadowSize()
    {
      return self()->mShadowSize;
    }

    /**
      Set ShadowColor
    */
    static
    void setShadowColor( const QColor & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShadowColor" ) ))
        self()->mShadowColor = v;
    }

    /**
      Get ShadowColor
    */
    static
    QColor shadowColor()
    {
      return self()->mShadowColor;
    }

    /**
      Set OutlineCloseButton
    */
    static
    void setOutlineCloseButton( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "OutlineCloseButton" ) ))
        self()->mOutlineCloseButton = v;
    }

    /**
      Get OutlineCloseButton
    */
    static
    bool outlineCloseButton()
    {
      return self()->mOutlineCloseButton;
    }

    /**
      Set AnimationsEnabled
    */
    static
    void setAnimationsEnabled( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "AnimationsEnabled" ) ))
        self()->mAnimationsEnabled = v;
    }

    /**
      Get AnimationsEnabled
    */
    static
    bool animationsEnabled()
    {
      return self()->mAnimationsEnabled;
    }

    /**
      Set AnimationSteps
    */
    static
    void setAnimationSteps( int v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "AnimationSteps" ) ))
        self()->mAnimationSteps = v;
    }

    /**
      Get AnimationSteps
    */
    static
    int animationSteps()
    {
      return self()->mAnimationSteps;
    }

    /**
      Set AnimationsDuration
    */
    static
    void setAnimationsDuration( int v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "AnimationsDuration" ) ))
        self()->mAnimationsDuration = v;
    }

    /**
      Get AnimationsDuration
    */
    static
    int animationsDuration()
    {
      return self()->mAnimationsDuration;
    }

    /**
      Set StackedWidgetTransitionsEnabled
    */
    static
    void setStackedWidgetTransitionsEnabled( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "StackedWidgetTransitionsEnabled" ) ))
        self()->mStackedWidgetTransitionsEnabled = v;
    }

    /**
      Get StackedWidgetTransitionsEnabled
    */
    static
    bool stackedWidgetTransitionsEnabled()
    {
      return self()->mStackedWidgetTransitionsEnabled;
    }

    /**
      Set ProgressBarAnimated
    */
    static
    void setProgressBarAnimated( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ProgressBarAnimated" ) ))
        self()->mProgressBarAnimated = v;
    }

    /**
      Get ProgressBarAnimated
    */
    static
    bool progressBarAnimated()
    {
      return self()->mProgressBarAnimated;
    }

    /**
      Set ProgressBarBusyStepDuration
    */
    static
    void setProgressBarBusyStepDuration( int v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ProgressBarBusyStepDuration" ) ))
        self()->mProgressBarBusyStepDuration = v;
    }

    /**
      Get ProgressBarBusyStepDuration
    */
    static
    int progressBarBusyStepDuration()
    {
      return self()->mProgressBarBusyStepDuration;
    }

    /**
      Set ScrollBarAddLineButtons
    */
    static
    void setScrollBarAddLineButtons( int v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ScrollBarAddLineButtons" ) ))
        self()->mScrollBarAddLineButtons = v;
    }

    /**
      Get ScrollBarAddLineButtons
    */
    static
    int scrollBarAddLineButtons()
    {
      return self()->mScrollBarAddLineButtons;
    }

    /**
      Set ScrollBarSubLineButtons
    */
    static
    void setScrollBarSubLineButtons( int v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ScrollBarSubLineButtons" ) ))
        self()->mScrollBarSubLineButtons = v;
    }

    /**
      Get ScrollBarSubLineButtons
    */
    static
    int scrollBarSubLineButtons()
    {
      return self()->mScrollBarSubLineButtons;
    }

    /**
      Set MnemonicsMode
    */
    static
    void setMnemonicsMode( int v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "MnemonicsMode" ) ))
        self()->mMnemonicsMode = v;
    }

    /**
      Get MnemonicsMode
    */
    static
    int mnemonicsMode()
    {
      return self()->mMnemonicsMode;
    }

    /**
      Set ToolBarDrawItemSeparator
    */
    static
    void setToolBarDrawItemSeparator( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ToolBarDrawItemSeparator" ) ))
        self()->mToolBarDrawItemSeparator = v;
    }

    /**
      Get ToolBarDrawItemSeparator
    */
    static
    bool toolBarDrawItemSeparator()
    {
      return self()->mToolBarDrawItemSeparator;
    }

    /**
      Set ViewDrawFocusIndicator
    */
    static
    void setViewDrawFocusIndicator( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ViewDrawFocusIndicator" ) ))
        self()->mViewDrawFocusIndicator = v;
    }

    /**
      Get ViewDrawFocusIndicator
    */
    static
    bool viewDrawFocusIndicator()
    {
      return self()->mViewDrawFocusIndicator;
    }

    /**
      Set SliderDrawTickMarks
    */
    static
    void setSliderDrawTickMarks( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SliderDrawTickMarks" ) ))
        self()->mSliderDrawTickMarks = v;
    }

    /**
      Get SliderDrawTickMarks
    */
    static
    bool sliderDrawTickMarks()
    {
      return self()->mSliderDrawTickMarks;
    }

    /**
      Set ViewDrawTreeBranchLines
    */
    static
    void setViewDrawTreeBranchLines( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ViewDrawTreeBranchLines" ) ))
        self()->mViewDrawTreeBranchLines = v;
    }

    /**
      Get ViewDrawTreeBranchLines
    */
    static
    bool viewDrawTreeBranchLines()
    {
      return self()->mViewDrawTreeBranchLines;
    }

    /**
      Set ViewInvertSortIndicator
    */
    static
    void setViewInvertSortIndicator( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ViewInvertSortIndicator" ) ))
        self()->mViewInvertSortIndicator = v;
    }

    /**
      Get ViewInvertSortIndicator
    */
    static
    bool viewInvertSortIndicator()
    {
      return self()->mViewInvertSortIndicator;
    }

    /**
      Set TabBarDrawCenteredTabs
    */
    static
    void setTabBarDrawCenteredTabs( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "TabBarDrawCenteredTabs" ) ))
        self()->mTabBarDrawCenteredTabs = v;
    }

    /**
      Get TabBarDrawCenteredTabs
    */
    static
    bool tabBarDrawCenteredTabs()
    {
      return self()->mTabBarDrawCenteredTabs;
    }

    /**
      Set TitleWidgetDrawFrame
    */
    static
    void setTitleWidgetDrawFrame( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "TitleWidgetDrawFrame" ) ))
        self()->mTitleWidgetDrawFrame = v;
    }

    /**
      Get TitleWidgetDrawFrame
    */
    static
    bool titleWidgetDrawFrame()
    {
      return self()->mTitleWidgetDrawFrame;
    }

    /**
      Set DockWidgetDrawFrame
    */
    static
    void setDockWidgetDrawFrame( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DockWidgetDrawFrame" ) ))
        self()->mDockWidgetDrawFrame = v;
    }

    /**
      Get DockWidgetDrawFrame
    */
    static
    bool dockWidgetDrawFrame()
    {
      return self()->mDockWidgetDrawFrame;
    }

    /**
      Set SidePanelDrawFrame
    */
    static
    void setSidePanelDrawFrame( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SidePanelDrawFrame" ) ))
        self()->mSidePanelDrawFrame = v;
    }

    /**
      Get SidePanelDrawFrame
    */
    static
    bool sidePanelDrawFrame()
    {
      return self()->mSidePanelDrawFrame;
    }

    /**
      Set MenuItemDrawStrongFocus
    */
    static
    void setMenuItemDrawStrongFocus( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "MenuItemDrawStrongFocus" ) ))
        self()->mMenuItemDrawStrongFocus = v;
    }

    /**
      Get MenuItemDrawStrongFocus
    */
    static
    bool menuItemDrawStrongFocus()
    {
      return self()->mMenuItemDrawStrongFocus;
    }

    /**
      Set WindowDragMode
    */
    static
    void setWindowDragMode( int v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "WindowDragMode" ) ))
        self()->mWindowDragMode = v;
    }

    /**
      Get WindowDragMode
    */
    static
    int windowDragMode()
    {
      return self()->mWindowDragMode;
    }

    /**
      Set WindowDragWhiteList
    */
    static
    void setWindowDragWhiteList( const QStringList & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "WindowDragWhiteList" ) ))
        self()->mWindowDragWhiteList = v;
    }

    /**
      Get WindowDragWhiteList
    */
    static
    QStringList windowDragWhiteList()
    {
      return self()->mWindowDragWhiteList;
    }

    /**
      Set WindowDragBlackList
    */
    static
    void setWindowDragBlackList( const QStringList & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "WindowDragBlackList" ) ))
        self()->mWindowDragBlackList = v;
    }

    /**
      Get WindowDragBlackList
    */
    static
    QStringList windowDragBlackList()
    {
      return self()->mWindowDragBlackList;
    }

    /**
      Set UseWMMoveResize
    */
    static
    void setUseWMMoveResize( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UseWMMoveResize" ) ))
        self()->mUseWMMoveResize = v;
    }

    /**
      Get UseWMMoveResize
    */
    static
    bool useWMMoveResize()
    {
      return self()->mUseWMMoveResize;
    }

    /**
      Set SplitterProxyEnabled
    */
    static
    void setSplitterProxyEnabled( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SplitterProxyEnabled" ) ))
        self()->mSplitterProxyEnabled = v;
    }

    /**
      Get SplitterProxyEnabled
    */
    static
    bool splitterProxyEnabled()
    {
      return self()->mSplitterProxyEnabled;
    }

    /**
      Set SplitterProxyWidth
    */
    static
    void setSplitterProxyWidth( int v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SplitterProxyWidth" ) ))
        self()->mSplitterProxyWidth = v;
    }

    /**
      Get SplitterProxyWidth
    */
    static
    int splitterProxyWidth()
    {
      return self()->mSplitterProxyWidth;
    }

    /**
      Set WidgetExplorerEnabled
    */
    static
    void setWidgetExplorerEnabled( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "WidgetExplorerEnabled" ) ))
        self()->mWidgetExplorerEnabled = v;
    }

    /**
      Get WidgetExplorerEnabled
    */
    static
    bool widgetExplorerEnabled()
    {
      return self()->mWidgetExplorerEnabled;
    }

    /**
      Set DrawWidgetRects
    */
    static
    void setDrawWidgetRects( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DrawWidgetRects" ) ))
        self()->mDrawWidgetRects = v;
    }

    /**
      Get DrawWidgetRects
    */
    static
    bool drawWidgetRects()
    {
      return self()->mDrawWidgetRects;
    }

  protected:
    StyleConfigData();
    friend class StyleConfigDataHelper;


    // Common
    int mShadowStrength;
    int mShadowSize;
    QColor mShadowColor;
    bool mOutlineCloseButton;

    // Style
    bool mAnimationsEnabled;
    int mAnimationSteps;
    int mAnimationsDuration;
    bool mStackedWidgetTransitionsEnabled;
    bool mProgressBarAnimated;
    int mProgressBarBusyStepDuration;
    int mScrollBarAddLineButtons;
    int mScrollBarSubLineButtons;
    int mMnemonicsMode;
    bool mToolBarDrawItemSeparator;
    bool mViewDrawFocusIndicator;
    bool mSliderDrawTickMarks;
    bool mViewDrawTreeBranchLines;
    bool mViewInvertSortIndicator;
    bool mTabBarDrawCenteredTabs;
    bool mTitleWidgetDrawFrame;
    bool mDockWidgetDrawFrame;
    bool mSidePanelDrawFrame;
    bool mMenuItemDrawStrongFocus;
    int mWindowDragMode;
    QStringList mWindowDragWhiteList;
    QStringList mWindowDragBlackList;
    bool mUseWMMoveResize;
    bool mSplitterProxyEnabled;
    int mSplitterProxyWidth;
    bool mWidgetExplorerEnabled;
    bool mDrawWidgetRects;

  private:
};

}

#endif

