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

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

#include <tdeapplication.h>
#include <tdeglobalsettings.h>
#include <config.h>
class KCalcSettings : public TDEConfigSkeleton
{
  public:

    static KCalcSettings *self();
    ~KCalcSettings();


    /**
      Get The foreground color of the display.
    */
    static
    TQColor foreColor()
    {
      return self()->mForeColor;
    }


    /**
      Get The background color of the display.
    */
    static
    TQColor backColor()
    {
      return self()->mBackColor;
    }


    /**
      Get The color of number buttons.
    */
    static
    TQColor numberButtonsColor()
    {
      return self()->mNumberButtonsColor;
    }


    /**
      Get The color of function buttons.
    */
    static
    TQColor functionButtonsColor()
    {
      return self()->mFunctionButtonsColor;
    }


    /**
      Get The color of statistical buttons.
    */
    static
    TQColor statButtonsColor()
    {
      return self()->mStatButtonsColor;
    }


    /**
      Get The color of hex buttons.
    */
    static
    TQColor hexButtonsColor()
    {
      return self()->mHexButtonsColor;
    }


    /**
      Get The color of memory buttons.
    */
    static
    TQColor memoryButtonsColor()
    {
      return self()->mMemoryButtonsColor;
    }


    /**
      Get The color of operation buttons.
    */
    static
    TQColor operationButtonsColor()
    {
      return self()->mOperationButtonsColor;
    }


    /**
      Get The font to use in the display.
    */
    static
    TQFont font()
    {
      return self()->mFont;
    }


    /**
      Get Maximum number of digits displayed.
    */
    static
    uint precision()
    {
      return self()->mPrecision;
    }


    /**
      Get Number of fixed decimal digits.
    */
    static
    uint fixedPrecision()
    {
      return self()->mFixedPrecision;
    }


    /**
      Get Whether to use fixed decimal places.
    */
    static
    bool fixed()
    {
      return self()->mFixed;
    }


    /**
      Get Whether to beep on error.
    */
    static
    bool beep()
    {
      return self()->mBeep;
    }


    /**
      Get Whether to show the result in the window title.
    */
    static
    bool captionResult()
    {
      return self()->mCaptionResult;
    }


    /**
      Get Whether to group digits.
    */
    static
    bool groupDigits()
    {
      return self()->mGroupDigits;
    }

    /**
      Set Whether to show statistical buttons.
    */
    static
    void setShowStat( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ShowStat" ) ))
        self()->mShowStat = v;
    }

    /**
      Get Whether to show statistical buttons.
    */
    static
    bool showStat()
    {
      return self()->mShowStat;
    }

    /**
      Set Whether to show buttons with functions used in science/engineering,
	     like exp, log, sin etc.
    */
    static
    void setShowScientific( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ShowScientific" ) ))
        self()->mShowScientific = v;
    }

    /**
      Get Whether to show buttons with functions used in science/engineering,
	     like exp, log, sin etc.
    */
    static
    bool showScientific()
    {
      return self()->mShowScientific;
    }

    /**
      Set Whether to show logic buttons.
    */
    static
    void setShowLogic( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ShowLogic" ) ))
        self()->mShowLogic = v;
    }

    /**
      Get Whether to show logic buttons.
    */
    static
    bool showLogic()
    {
      return self()->mShowLogic;
    }

    /**
      Set Whether to show constant buttons.
    */
    static
    void setShowConstants( bool v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "ShowConstants" ) ))
        self()->mShowConstants = v;
    }

    /**
      Get Whether to show constant buttons.
    */
    static
    bool showConstants()
    {
      return self()->mShowConstants;
    }

    /**
      Set Name of the user programmable constants.
    */
    static
    void setNameConstant( int i, const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "nameConstant%1" ).arg( i ) ))
        self()->mNameConstant[i] = v;
    }

    /**
      Get Name of the user programmable constants.
    */
    static
    TQString nameConstant( int i )
    {
      return self()->mNameConstant[i];
    }

    /**
      Set List of user programmable constants
    */
    static
    void setValueConstant( int i, const TQString & v )
    {
      if (!self()->isImmutable( TQString::fromLatin1( "valueConstant%1" ).arg( i ) ))
        self()->mValueConstant[i] = v;
    }

    /**
      Get List of user programmable constants
    */
    static
    TQString valueConstant( int i )
    {
      return self()->mValueConstant[i];
    }

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


    // Colors
    TQColor mForeColor;
    TQColor mBackColor;
    TQColor mNumberButtonsColor;
    TQColor mFunctionButtonsColor;
    TQColor mStatButtonsColor;
    TQColor mHexButtonsColor;
    TQColor mMemoryButtonsColor;
    TQColor mOperationButtonsColor;

    // Font
    TQFont mFont;

    // Precision
    uint mPrecision;
    uint mFixedPrecision;
    bool mFixed;

    // General
    bool mBeep;
    bool mCaptionResult;
    bool mGroupDigits;
    bool mShowStat;
    bool mShowScientific;
    bool mShowLogic;
    bool mShowConstants;

    // UserConstants
    TQString mNameConstant[6];
    TQString mValueConstant[6];

  private:
};

#endif

