// This file is generated by tdeconfig_compiler from klettres.kcfg.
// All changes you do to this file will be lost.
#ifndef PREFS_H
#define PREFS_H

#include <kdebug.h>

#include <tdeconfigskeleton.h>
#include <kdebug.h>

class Prefs : public TDEConfigSkeleton
{
  public:
    class EnumTheme
    {
      public:
      enum type { classroom, arctic, desert, COUNT };
    };
    class EnumMode
    {
      public:
      enum type { kid, grownup, COUNT };
    };

    static Prefs *self();
    ~Prefs();

    /**
      Set Language
    */
    static
    void setLanguage( const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "Language" ) ))
        self()->mLanguage = v;
    }

    /**
      Get Language
    */
    static
    TQString language()
    {
      return self()->mLanguage;
    }

    /**
      Set Theme
    */
    static
    void setTheme( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "Theme" ) ))
        self()->mTheme = v;
    }

    /**
      Get Theme
    */
    static
    int theme()
    {
      return self()->mTheme;
    }

    /**
      Set Mode
    */
    static
    void setMode( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "Mode" ) ))
        self()->mMode = v;
    }

    /**
      Get Mode
    */
    static
    int mode()
    {
      return self()->mMode;
    }

    /**
      Set Difficulty level.
    */
    static
    void setLevel( int v )
    {
      if (v < 1)
      {
        kdDebug() << "setLevel: value " << v << " is less than the minimum value of 1" << endl;
        v = 1;
      }

      if (v > 4)
      {
        kdDebug() << "setLevel: value " << v << " is greater than the maximum value of 4" << endl;
        v = 4;
      }

      if (!self()->isImmutable( TQString::fromLatin1( "Level" ) ))
        self()->mLevel = v;
    }

    /**
      Get Difficulty level.
    */
    static
    int level()
    {
      return self()->mLevel;
    }

    /**
      Set Kid Timer
    */
    static
    void setKidTimer( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "KidTimer" ) ))
        self()->mKidTimer = v;
    }

    /**
      Get Kid Timer
    */
    static
    int kidTimer()
    {
      return self()->mKidTimer;
    }

    /**
      Set Grown-up Timer
    */
    static
    void setGrownTimer( int v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "GrownTimer" ) ))
        self()->mGrownTimer = v;
    }

    /**
      Get Grown-up Timer
    */
    static
    int grownTimer()
    {
      return self()->mGrownTimer;
    }

    /**
      Set Font
    */
    static
    void setFont( const TQFont & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "Font" ) ))
        self()->mFont = v;
    }

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

    static
    void writeConfig()
    {
      static_cast<TDEConfigSkeleton*>(self())->writeConfig();
    }
  protected:
    Prefs();
    static Prefs *mSelf;


    // General
    TQString mLanguage;
    int mTheme;
    int mMode;
    int mLevel;
    int mKidTimer;
    int mGrownTimer;

    // mFont
    TQFont mFont;

  private:
    // Include custom additions
    #include "prefs_addons.h"
};

#endif

