// This file is generated by kconfig_compiler_kf5 from kstars.kcfg.
// All changes you do to this file will be lost.
#ifndef OPTIONS_H
#define OPTIONS_H

#include <qpoint.h>

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

class Options : public KConfigSkeleton
{
  public:

    static Options *self();
    ~Options();

    /**
      Set Position of the time InfoBox.
    */
    static
    void setPositionTimeBox( const QPoint & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "PositionTimeBox" ) ))
        self()->mPositionTimeBox = v;
    }

    /**
      Get Position of the time InfoBox.
    */
    static
    QPoint positionTimeBox()
    {
      return self()->mPositionTimeBox;
    }

    /**
      Set Position of the focus InfoBox.
    */
    static
    void setPositionFocusBox( const QPoint & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "PositionFocusBox" ) ))
        self()->mPositionFocusBox = v;
    }

    /**
      Get Position of the focus InfoBox.
    */
    static
    QPoint positionFocusBox()
    {
      return self()->mPositionFocusBox;
    }

    /**
      Set Position of the geographic InfoBox.
    */
    static
    void setPositionGeoBox( const QPoint & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "PositionGeoBox" ) ))
        self()->mPositionGeoBox = v;
    }

    /**
      Get Position of the geographic InfoBox.
    */
    static
    QPoint positionGeoBox()
    {
      return self()->mPositionGeoBox;
    }

    /**
      Set Is the time InfoBox in the "shaded" state?
    */
    static
    void setShadeTimeBox( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShadeTimeBox" ) ))
        self()->mShadeTimeBox = v;
    }

    /**
      Get Is the time InfoBox in the "shaded" state?
    */
    static
    bool shadeTimeBox()
    {
      return self()->mShadeTimeBox;
    }

    /**
      Set Is the focus InfoBox in the "shaded" state?
    */
    static
    void setShadeFocusBox( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShadeFocusBox" ) ))
        self()->mShadeFocusBox = v;
    }

    /**
      Get Is the focus InfoBox in the "shaded" state?
    */
    static
    bool shadeFocusBox()
    {
      return self()->mShadeFocusBox;
    }

    /**
      Set Is the geographic InfoBox in the "shaded" state?
    */
    static
    void setShadeGeoBox( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShadeGeoBox" ) ))
        self()->mShadeGeoBox = v;
    }

    /**
      Get Is the geographic InfoBox in the "shaded" state?
    */
    static
    bool shadeGeoBox()
    {
      return self()->mShadeGeoBox;
    }

    /**
      Set Meta-option to toggle display of all InfoBoxes
    */
    static
    void setShowInfoBoxes( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowInfoBoxes" ) ))
        self()->mShowInfoBoxes = v;
    }

    /**
      Get Meta-option to toggle display of all InfoBoxes
    */
    static
    bool showInfoBoxes()
    {
      return self()->mShowInfoBoxes;
    }

    /**
      Set Display the time InfoBox?
    */
    static
    void setShowTimeBox( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowTimeBox" ) ))
        self()->mShowTimeBox = v;
    }

    /**
      Get Display the time InfoBox?
    */
    static
    bool showTimeBox()
    {
      return self()->mShowTimeBox;
    }

    /**
      Set Display the focus InfoBox?
    */
    static
    void setShowFocusBox( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowFocusBox" ) ))
        self()->mShowFocusBox = v;
    }

    /**
      Get Display the focus InfoBox?
    */
    static
    bool showFocusBox()
    {
      return self()->mShowFocusBox;
    }

    /**
      Set Display the geographic InfoBox?
    */
    static
    void setShowGeoBox( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowGeoBox" ) ))
        self()->mShowGeoBox = v;
    }

    /**
      Get Display the geographic InfoBox?
    */
    static
    bool showGeoBox()
    {
      return self()->mShowGeoBox;
    }

    /**
      Set Time InfoBox anchor flag
    */
    static
    void setStickyTimeBox( int v )
    {
      if (v < 0)
      {
        qDebug() << "setStickyTimeBox: value " << v << " is less than the minimum value of 0";
        v = 0;
      }

      if (v > 3)
      {
        qDebug() << "setStickyTimeBox: value " << v << " is greater than the maximum value of 3";
        v = 3;
      }

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

    /**
      Get Time InfoBox anchor flag
    */
    static
    int stickyTimeBox()
    {
      return self()->mStickyTimeBox;
    }

    /**
      Set Time InfoBox anchor flag
    */
    static
    void setStickyFocusBox( int v )
    {
      if (v < 0)
      {
        qDebug() << "setStickyFocusBox: value " << v << " is less than the minimum value of 0";
        v = 0;
      }

      if (v > 3)
      {
        qDebug() << "setStickyFocusBox: value " << v << " is greater than the maximum value of 3";
        v = 3;
      }

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

    /**
      Get Time InfoBox anchor flag
    */
    static
    int stickyFocusBox()
    {
      return self()->mStickyFocusBox;
    }

    /**
      Set Geographic InfoBox anchor flag
    */
    static
    void setStickyGeoBox( int v )
    {
      if (v < 0)
      {
        qDebug() << "setStickyGeoBox: value " << v << " is less than the minimum value of 0";
        v = 0;
      }

      if (v > 3)
      {
        qDebug() << "setStickyGeoBox: value " << v << " is greater than the maximum value of 3";
        v = 3;
      }

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

    /**
      Get Geographic InfoBox anchor flag
    */
    static
    int stickyGeoBox()
    {
      return self()->mStickyGeoBox;
    }

    /**
      Set Display the statusbar?
    */
    static
    void setShowStatusBar( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowStatusBar" ) ))
        self()->mShowStatusBar = v;
    }

    /**
      Get Display the statusbar?
    */
    static
    bool showStatusBar()
    {
      return self()->mShowStatusBar;
    }

    /**
      Set Display Alt/Az coordinates in the statusbar?
    */
    static
    void setShowAltAzField( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowAltAzField" ) ))
        self()->mShowAltAzField = v;
    }

    /**
      Get Display Alt/Az coordinates in the statusbar?
    */
    static
    bool showAltAzField()
    {
      return self()->mShowAltAzField;
    }

    /**
      Set Display RA/Dec coordinates in the statusbar?
    */
    static
    void setShowRADecField( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowRADecField" ) ))
        self()->mShowRADecField = v;
    }

    /**
      Get Display RA/Dec coordinates in the statusbar?
    */
    static
    bool showRADecField()
    {
      return self()->mShowRADecField;
    }

    /**
      Set Width of main window, in pixels
    */
    static
    void setWindowWidth( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "WindowWidth" ) ))
        self()->mWindowWidth = v;
    }

    /**
      Get Width of main window, in pixels
    */
    static
    uint windowWidth()
    {
      return self()->mWindowWidth;
    }

    /**
      Set Height of main window, in pixels
    */
    static
    void setWindowHeight( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "WindowHeight" ) ))
        self()->mWindowHeight = v;
    }

    /**
      Get Height of main window, in pixels
    */
    static
    uint windowHeight()
    {
      return self()->mWindowHeight;
    }

    /**
      Set Run Startup Wizard when KStars launches?
    */
    static
    void setRunStartupWizard( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "RunStartupWizard" ) ))
        self()->mRunStartupWizard = v;
    }

    /**
      Get Run Startup Wizard when KStars launches?
    */
    static
    bool runStartupWizard()
    {
      return self()->mRunStartupWizard;
    }

    /**
      Set Filenames of defined custom object catalogs.
    */
    static
    void setCatalogFile( const QStringList & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "CatalogFile" ) ))
        self()->mCatalogFile = v;
    }

    /**
      Get Filenames of defined custom object catalogs.
    */
    static
    QStringList catalogFile()
    {
      return self()->mCatalogFile;
    }

    /**
      Set List of toggles for displaying custom object catalogs.
    */
    static
    void setShowCatalog( const QList<int> & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowCatalog" ) ))
        self()->mShowCatalog = v;
    }

    /**
      Get List of toggles for displaying custom object catalogs.
    */
    static
    QList<int> showCatalog()
    {
      return self()->mShowCatalog;
    }

    /**
      Set List for displaying custom object catalogs.
    */
    static
    void setShowCatalogNames( const QStringList & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowCatalogNames" ) ))
        self()->mShowCatalogNames = v;
    }

    /**
      Get List for displaying custom object catalogs.
    */
    static
    QStringList showCatalogNames()
    {
      return self()->mShowCatalogNames;
    }

    /**
      Set Automatically updates geographic location?
    */
    static
    void setUseGeographicUpdate( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "useGeographicUpdate" ) ))
        self()->mUseGeographicUpdate = v;
    }

    /**
      Get Automatically updates geographic location?
    */
    static
    bool useGeographicUpdate()
    {
      return self()->mUseGeographicUpdate;
    }

    /**
      Set Automatically updates time and date?
    */
    static
    void setUseTimeUpdate( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "useTimeUpdate" ) ))
        self()->mUseTimeUpdate = v;
    }

    /**
      Get Automatically updates time and date?
    */
    static
    bool useTimeUpdate()
    {
      return self()->mUseTimeUpdate;
    }

    /**
      Set Draw crosshairs at telescope position in the sky map?
    */
    static
    void setShowTargetCrosshair( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "showTargetCrosshair" ) ))
        self()->mShowTargetCrosshair = v;
    }

    /**
      Get Draw crosshairs at telescope position in the sky map?
    */
    static
    bool showTargetCrosshair()
    {
      return self()->mShowTargetCrosshair;
    }

    /**
      Set Display INDI messages in the statusbar?
    */
    static
    void setShowINDIMessages( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "showINDIMessages" ) ))
        self()->mShowINDIMessages = v;
    }

    /**
      Get Display INDI messages in the statusbar?
    */
    static
    bool showINDIMessages()
    {
      return self()->mShowINDIMessages;
    }

    /**
      Set Display FITS automatically when an image is captured?
    */
    static
    void setShowFITS( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "showFITS" ) ))
        self()->mShowFITS = v;
    }

    /**
      Get Display FITS automatically when an image is captured?
    */
    static
    bool showFITS()
    {
      return self()->mShowFITS;
    }

    /**
      Set Preview FITS in a single tab?
    */
    static
    void setSinglePreviewFITS( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "singlePreviewFITS" ) ))
        self()->mSinglePreviewFITS = v;
    }

    /**
      Get Preview FITS in a single tab?
    */
    static
    bool singlePreviewFITS()
    {
      return self()->mSinglePreviewFITS;
    }

    /**
      Set Display all FITS in one window?
    */
    static
    void setSingleWindowFITS( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "singleWindowFITS" ) ))
        self()->mSingleWindowFITS = v;
    }

    /**
      Get Display all FITS in one window?
    */
    static
    bool singleWindowFITS()
    {
      return self()->mSingleWindowFITS;
    }

    /**
      Set INDI Telescope port
    */
    static
    void setTelescopePort( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "telescopePort" ) ))
        self()->mTelescopePort = v;
    }

    /**
      Get INDI Telescope port
    */
    static
    QString telescopePort()
    {
      return self()->mTelescopePort;
    }

    /**
      Set INDI Focuser port
    */
    static
    void setFocuserPort( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "focuserPort" ) ))
        self()->mFocuserPort = v;
    }

    /**
      Get INDI Focuser port
    */
    static
    QString focuserPort()
    {
      return self()->mFocuserPort;
    }

    /**
      Set INDI Filter port
    */
    static
    void setFilterPort( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "filterPort" ) ))
        self()->mFilterPort = v;
    }

    /**
      Get INDI Filter port
    */
    static
    QString filterPort()
    {
      return self()->mFilterPort;
    }

    /**
      Set INDI Auxiliary port
    */
    static
    void setAuxPort( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "auxPort" ) ))
        self()->mAuxPort = v;
    }

    /**
      Get INDI Auxiliary port
    */
    static
    QString auxPort()
    {
      return self()->mAuxPort;
    }

    /**
      Set INDI Video port
    */
    static
    void setVideoPort( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "videoPort" ) ))
        self()->mVideoPort = v;
    }

    /**
      Get INDI Video port
    */
    static
    QString videoPort()
    {
      return self()->mVideoPort;
    }

    /**
      Set Use computer time and location for synchronization?
    */
    static
    void setUseComputerSource( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "useComputerSource" ) ))
        self()->mUseComputerSource = v;
    }

    /**
      Get Use computer time and location for synchronization?
    */
    static
    bool useComputerSource()
    {
      return self()->mUseComputerSource;
    }

    /**
      Set Use device time and location for synchronization?
    */
    static
    void setUseDeviceSource( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "useDeviceSource" ) ))
        self()->mUseDeviceSource = v;
    }

    /**
      Get Use device time and location for synchronization?
    */
    static
    bool useDeviceSource()
    {
      return self()->mUseDeviceSource;
    }

    /**
      Set FITS Default directory
    */
    static
    void setFitsDir( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "fitsDir" ) ))
        self()->mFitsDir = v;
    }

    /**
      Get FITS Default directory
    */
    static
    QString fitsDir()
    {
      return self()->mFitsDir;
    }

    /**
      Set INDI Server Start Port
    */
    static
    void setServerPortStart( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "serverPortStart" ) ))
        self()->mServerPortStart = v;
    }

    /**
      Get INDI Server Start Port
    */
    static
    QString serverPortStart()
    {
      return self()->mServerPortStart;
    }

    /**
      Set INDI Server Final Port
    */
    static
    void setServerPortEnd( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "serverPortEnd" ) ))
        self()->mServerPortEnd = v;
    }

    /**
      Get INDI Server Final Port
    */
    static
    QString serverPortEnd()
    {
      return self()->mServerPortEnd;
    }

    /**
      Set Aliases for filter wheel slots.
    */
    static
    void setFilterAlias( const QStringList & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "filterAlias" ) ))
        self()->mFilterAlias = v;
    }

    /**
      Get Aliases for filter wheel slots.
    */
    static
    QStringList filterAlias()
    {
      return self()->mFilterAlias;
    }

    /**
      Set PATH to indiserver binary
    */
    static
    void setIndiServer( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "indiServer" ) ))
        self()->mIndiServer = v;
    }

    /**
      Get PATH to indiserver binary
    */
    static
    QString indiServer()
    {
      return self()->mIndiServer;
    }

    /**
      Set PATH to indi drivers directory
    */
    static
    void setIndiDriversDir( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "indiDriversDir" ) ))
        self()->mIndiDriversDir = v;
    }

    /**
      Get PATH to indi drivers directory
    */
    static
    QString indiDriversDir()
    {
      return self()->mIndiDriversDir;
    }

    /**
      Set City name of geographic location.
    */
    static
    void setCityName( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "CityName" ) ))
        self()->mCityName = v;
    }

    /**
      Get City name of geographic location.
    */
    static
    QString cityName()
    {
      return self()->mCityName;
    }

    /**
      Set Province name of geographic location.
    */
    static
    void setProvinceName( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ProvinceName" ) ))
        self()->mProvinceName = v;
    }

    /**
      Get Province name of geographic location.
    */
    static
    QString provinceName()
    {
      return self()->mProvinceName;
    }

    /**
      Set Country name of geographic location.
    */
    static
    void setCountryName( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "CountryName" ) ))
        self()->mCountryName = v;
    }

    /**
      Get Country name of geographic location.
    */
    static
    QString countryName()
    {
      return self()->mCountryName;
    }

    /**
      Set Geographic Longitude, in degrees.
    */
    static
    void setLongitude( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "Longitude" ) ))
        self()->mLongitude = v;
    }

    /**
      Get Geographic Longitude, in degrees.
    */
    static
    double longitude()
    {
      return self()->mLongitude;
    }

    /**
      Set Geographic Latitude, in degrees.
    */
    static
    void setLatitude( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "Latitude" ) ))
        self()->mLatitude = v;
    }

    /**
      Get Geographic Latitude, in degrees.
    */
    static
    double latitude()
    {
      return self()->mLatitude;
    }

    /**
      Set Elevation above sea level of geographic location, in meters.
    */
    static
    void setElevation( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "Elevation" ) ))
        self()->mElevation = v;
    }

    /**
      Get Elevation above sea level of geographic location, in meters.
    */
    static
    double elevation()
    {
      return self()->mElevation;
    }

    /**
      Set Time Zone offset of geographic location, in hours.
    */
    static
    void setTimeZone( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "TimeZone" ) ))
        self()->mTimeZone = v;
    }

    /**
      Get Time Zone offset of geographic location, in hours.
    */
    static
    double timeZone()
    {
      return self()->mTimeZone;
    }

    /**
      Set Two-letter code for daylight savings time rule used by geographic location.
    */
    static
    void setDST( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DST" ) ))
        self()->mDST = v;
    }

    /**
      Get Two-letter code for daylight savings time rule used by geographic location.
    */
    static
    QString dST()
    {
      return self()->mDST;
    }

    /**
      Set Use animated slewing effects when changing focus position?
    */
    static
    void setUseAnimatedSlewing( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UseAnimatedSlewing" ) ))
        self()->mUseAnimatedSlewing = v;
    }

    /**
      Get Use animated slewing effects when changing focus position?
    */
    static
    bool useAnimatedSlewing()
    {
      return self()->mUseAnimatedSlewing;
    }

    /**
      Set Name of selected FOV indicators
    */
    static
    void setFOVNames( const QStringList & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "FOVNames" ) ))
        self()->mFOVNames = v;
    }

    /**
      Get Name of selected FOV indicators
    */
    static
    QStringList fOVNames()
    {
      return self()->mFOVNames;
    }

    /**
      Set Fade planet trails to background color?
    */
    static
    void setFadePlanetTrails( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "FadePlanetTrails" ) ))
        self()->mFadePlanetTrails = v;
    }

    /**
      Get Fade planet trails to background color?
    */
    static
    bool fadePlanetTrails()
    {
      return self()->mFadePlanetTrails;
    }

    /**
      Set Right Ascension of focus position
    */
    static
    void setFocusRA( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "FocusRA" ) ))
        self()->mFocusRA = v;
    }

    /**
      Get Right Ascension of focus position
    */
    static
    double focusRA()
    {
      return self()->mFocusRA;
    }

    /**
      Set Declination of focus position
    */
    static
    void setFocusDec( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "FocusDec" ) ))
        self()->mFocusDec = v;
    }

    /**
      Get Declination of focus position
    */
    static
    double focusDec()
    {
      return self()->mFocusDec;
    }

    /**
      Set Name of focused object
    */
    static
    void setFocusObject( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "FocusObject" ) ))
        self()->mFocusObject = v;
    }

    /**
      Get Name of focused object
    */
    static
    QString focusObject()
    {
      return self()->mFocusObject;
    }

    /**
      Set Is tracking engaged?
    */
    static
    void setIsTracking( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "IsTracking" ) ))
        self()->mIsTracking = v;
    }

    /**
      Get Is tracking engaged?
    */
    static
    bool isTracking()
    {
      return self()->mIsTracking;
    }

    /**
      Set Hide objects while moving?
    */
    static
    void setHideOnSlew( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "HideOnSlew" ) ))
        self()->mHideOnSlew = v;
    }

    /**
      Get Hide objects while moving?
    */
    static
    bool hideOnSlew()
    {
      return self()->mHideOnSlew;
    }

    /**
      Set Hide constellation boundaries while moving?
    */
    static
    void setHideCBounds( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "HideCBounds" ) ))
        self()->mHideCBounds = v;
    }

    /**
      Get Hide constellation boundaries while moving?
    */
    static
    bool hideCBounds()
    {
      return self()->mHideCBounds;
    }

    /**
      Set Hide constellation lines while moving?
    */
    static
    void setHideCLines( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "HideCLines" ) ))
        self()->mHideCLines = v;
    }

    /**
      Get Hide constellation lines while moving?
    */
    static
    bool hideCLines()
    {
      return self()->mHideCLines;
    }

    /**
      Set Sky culture
    */
    static
    void setSkyCulture( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SkyCulture" ) ))
        self()->mSkyCulture = v;
    }

    /**
      Get Sky culture
    */
    static
    uint skyCulture()
    {
      return self()->mSkyCulture;
    }

    /**
      Set Hide constellation names while moving?
    */
    static
    void setHideCNames( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "HideCNames" ) ))
        self()->mHideCNames = v;
    }

    /**
      Get Hide constellation names while moving?
    */
    static
    bool hideCNames()
    {
      return self()->mHideCNames;
    }

    /**
      Set Hide coordinate grids while moving?
    */
    static
    void setHideGrids( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "HideGrids" ) ))
        self()->mHideGrids = v;
    }

    /**
      Get Hide coordinate grids while moving?
    */
    static
    bool hideGrids()
    {
      return self()->mHideGrids;
    }

    /**
      Set Hide Milky Way contour while moving?
    */
    static
    void setHideMilkyWay( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "HideMilkyWay" ) ))
        self()->mHideMilkyWay = v;
    }

    /**
      Get Hide Milky Way contour while moving?
    */
    static
    bool hideMilkyWay()
    {
      return self()->mHideMilkyWay;
    }

    /**
      Set Hide IC objects while moving?
    */
    static
    void setHideIC( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "HideIC" ) ))
        self()->mHideIC = v;
    }

    /**
      Get Hide IC objects while moving?
    */
    static
    bool hideIC()
    {
      return self()->mHideIC;
    }

    /**
      Set Hide Messier objects while moving?
    */
    static
    void setHideMessier( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "HideMessier" ) ))
        self()->mHideMessier = v;
    }

    /**
      Get Hide Messier objects while moving?
    */
    static
    bool hideMessier()
    {
      return self()->mHideMessier;
    }

    /**
      Set Hide NGC objects while moving?
    */
    static
    void setHideNGC( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "HideNGC" ) ))
        self()->mHideNGC = v;
    }

    /**
      Get Hide NGC objects while moving?
    */
    static
    bool hideNGC()
    {
      return self()->mHideNGC;
    }

    /**
      Set Hide extra objects while moving?
    */
    static
    void setHideOther( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "HideOther" ) ))
        self()->mHideOther = v;
    }

    /**
      Get Hide extra objects while moving?
    */
    static
    bool hideOther()
    {
      return self()->mHideOther;
    }

    /**
      Set Hide solar system objects while moving?
    */
    static
    void setHidePlanets( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "HidePlanets" ) ))
        self()->mHidePlanets = v;
    }

    /**
      Get Hide solar system objects while moving?
    */
    static
    bool hidePlanets()
    {
      return self()->mHidePlanets;
    }

    /**
      Set Hide faint stars while moving?
    */
    static
    void setHideStars( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "HideStars" ) ))
        self()->mHideStars = v;
    }

    /**
      Get Hide faint stars while moving?
    */
    static
    bool hideStars()
    {
      return self()->mHideStars;
    }

    /**
      Set Hide object name labels while moving?
    */
    static
    void setHideLabels( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "HideLabels" ) ))
        self()->mHideLabels = v;
    }

    /**
      Get Hide object name labels while moving?
    */
    static
    bool hideLabels()
    {
      return self()->mHideLabels;
    }

    /**
      Set Draw asteroids in the sky map?
    */
    static
    void setShowAsteroids( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowAsteroids" ) ))
        self()->mShowAsteroids = v;
    }

    /**
      Get Draw asteroids in the sky map?
    */
    static
    bool showAsteroids()
    {
      return self()->mShowAsteroids;
    }

    /**
      Set Label asteroid names in the sky map?
    */
    static
    void setShowAsteroidNames( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowAsteroidNames" ) ))
        self()->mShowAsteroidNames = v;
    }

    /**
      Get Label asteroid names in the sky map?
    */
    static
    bool showAsteroidNames()
    {
      return self()->mShowAsteroidNames;
    }

    /**
      Set Draw comets in the sky map?
    */
    static
    void setShowComets( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowComets" ) ))
        self()->mShowComets = v;
    }

    /**
      Get Draw comets in the sky map?
    */
    static
    bool showComets()
    {
      return self()->mShowComets;
    }

    /**
      Set Label comet names in the sky map?
    */
    static
    void setShowCometNames( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowCometNames" ) ))
        self()->mShowCometNames = v;
    }

    /**
      Get Label comet names in the sky map?
    */
    static
    bool showCometNames()
    {
      return self()->mShowCometNames;
    }

    /**
      Set Draw supernovae in the sky map?
    */
    static
    void setShowSupernovae( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowSupernovae" ) ))
        self()->mShowSupernovae = v;
    }

    /**
      Get Draw supernovae in the sky map?
    */
    static
    bool showSupernovae()
    {
      return self()->mShowSupernovae;
    }

    /**
      Set Label Supernova Names in the sky map?
    */
    static
    void setShowSupernovaNames( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowSupernovaNames" ) ))
        self()->mShowSupernovaNames = v;
    }

    /**
      Get Label Supernova Names in the sky map?
    */
    static
    bool showSupernovaNames()
    {
      return self()->mShowSupernovaNames;
    }

    /**
      Set Set magnitude limit for supernovae to be shown on the skymap
    */
    static
    void setMagnitudeLimitShowSupernovae( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "MagnitudeLimitShowSupernovae" ) ))
        self()->mMagnitudeLimitShowSupernovae = v;
    }

    /**
      Get Set magnitude limit for supernovae to be shown on the skymap
    */
    static
    double magnitudeLimitShowSupernovae()
    {
      return self()->mMagnitudeLimitShowSupernovae;
    }

    /**
      Set Show supernova alerts?
    */
    static
    void setShowSupernovaAlerts( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowSupernovaAlerts" ) ))
        self()->mShowSupernovaAlerts = v;
    }

    /**
      Get Show supernova alerts?
    */
    static
    bool showSupernovaAlerts()
    {
      return self()->mShowSupernovaAlerts;
    }

    /**
      Set Set magnitude limit for supernovae to be alerted
    */
    static
    void setMagnitudeLimitAlertSupernovae( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "MagnitudeLimitAlertSupernovae" ) ))
        self()->mMagnitudeLimitAlertSupernovae = v;
    }

    /**
      Get Set magnitude limit for supernovae to be alerted
    */
    static
    double magnitudeLimitAlertSupernovae()
    {
      return self()->mMagnitudeLimitAlertSupernovae;
    }

    /**
      Set Update recent supernovae list on startup?
    */
    static
    void setUpdateSupernovaeOnStartup( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UpdateSupernovaeOnStartup" ) ))
        self()->mUpdateSupernovaeOnStartup = v;
    }

    /**
      Get Update recent supernovae list on startup?
    */
    static
    bool updateSupernovaeOnStartup()
    {
      return self()->mUpdateSupernovaeOnStartup;
    }

    /**
      Set Draw constellation boundaries in the sky map?
    */
    static
    void setShowCBounds( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowCBounds" ) ))
        self()->mShowCBounds = v;
    }

    /**
      Get Draw constellation boundaries in the sky map?
    */
    static
    bool showCBounds()
    {
      return self()->mShowCBounds;
    }

    /**
      Set Highlight the central constellation boundary in the sky map?
    */
    static
    void setShowHighlightedCBound( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowHighlightedCBound" ) ))
        self()->mShowHighlightedCBound = v;
    }

    /**
      Get Highlight the central constellation boundary in the sky map?
    */
    static
    bool showHighlightedCBound()
    {
      return self()->mShowHighlightedCBound;
    }

    /**
      Set Draw constellation lines in the sky map?
    */
    static
    void setShowCLines( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowCLines" ) ))
        self()->mShowCLines = v;
    }

    /**
      Get Draw constellation lines in the sky map?
    */
    static
    bool showCLines()
    {
      return self()->mShowCLines;
    }

    /**
      Set Draw constellation names in the sky map?
    */
    static
    void setShowCNames( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowCNames" ) ))
        self()->mShowCNames = v;
    }

    /**
      Get Draw constellation names in the sky map?
    */
    static
    bool showCNames()
    {
      return self()->mShowCNames;
    }

    /**
      Set Draw "deep sky" objects in the sky map?
    */
    static
    void setShowDeepSky( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowDeepSky" ) ))
        self()->mShowDeepSky = v;
    }

    /**
      Get Draw "deep sky" objects in the sky map?
    */
    static
    bool showDeepSky()
    {
      return self()->mShowDeepSky;
    }

    /**
      Set Draw ecliptic line in the sky map?
    */
    static
    void setShowEcliptic( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowEcliptic" ) ))
        self()->mShowEcliptic = v;
    }

    /**
      Get Draw ecliptic line in the sky map?
    */
    static
    bool showEcliptic()
    {
      return self()->mShowEcliptic;
    }

    /**
      Set Draw equator line in the sky map?
    */
    static
    void setShowEquator( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowEquator" ) ))
        self()->mShowEquator = v;
    }

    /**
      Get Draw equator line in the sky map?
    */
    static
    bool showEquator()
    {
      return self()->mShowEquator;
    }

    /**
      Set Draw grids according to active coordinate system?
    */
    static
    void setAutoSelectGrid( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "AutoSelectGrid" ) ))
        self()->mAutoSelectGrid = v;
    }

    /**
      Get Draw grids according to active coordinate system?
    */
    static
    bool autoSelectGrid()
    {
      return self()->mAutoSelectGrid;
    }

    /**
      Set Draw equatorial coordinate grid in the sky map?
    */
    static
    void setShowEquatorialGrid( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowEquatorialGrid" ) ))
        self()->mShowEquatorialGrid = v;
    }

    /**
      Get Draw equatorial coordinate grid in the sky map?
    */
    static
    bool showEquatorialGrid()
    {
      return self()->mShowEquatorialGrid;
    }

    /**
      Set Draw horizontal coordinate grid in the sky map?
    */
    static
    void setShowHorizontalGrid( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowHorizontalGrid" ) ))
        self()->mShowHorizontalGrid = v;
    }

    /**
      Get Draw horizontal coordinate grid in the sky map?
    */
    static
    bool showHorizontalGrid()
    {
      return self()->mShowHorizontalGrid;
    }

    /**
      Set Draw opaque ground in the sky map?
    */
    static
    void setShowGround( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowGround" ) ))
        self()->mShowGround = v;
    }

    /**
      Get Draw opaque ground in the sky map?
    */
    static
    bool showGround()
    {
      return self()->mShowGround;
    }

    /**
      Set Draw horizon line in the sky map?
    */
    static
    void setShowHorizon( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowHorizon" ) ))
        self()->mShowHorizon = v;
    }

    /**
      Get Draw horizon line in the sky map?
    */
    static
    bool showHorizon()
    {
      return self()->mShowHorizon;
    }

    /**
      Set Draw flags in the sky map?
    */
    static
    void setShowFlags( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowFlags" ) ))
        self()->mShowFlags = v;
    }

    /**
      Get Draw flags in the sky map?
    */
    static
    bool showFlags()
    {
      return self()->mShowFlags;
    }

    /**
      Set Draw IC objects in the sky map?
    */
    static
    void setShowIC( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowIC" ) ))
        self()->mShowIC = v;
    }

    /**
      Get Draw IC objects in the sky map?
    */
    static
    bool showIC()
    {
      return self()->mShowIC;
    }

    /**
      Set Draw NGC objects in the sky map?
    */
    static
    void setShowNGC( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowNGC" ) ))
        self()->mShowNGC = v;
    }

    /**
      Get Draw NGC objects in the sky map?
    */
    static
    bool showNGC()
    {
      return self()->mShowNGC;
    }

    /**
      Set Draw Messier objects in the sky map?
    */
    static
    void setShowMessier( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowMessier" ) ))
        self()->mShowMessier = v;
    }

    /**
      Get Draw Messier objects in the sky map?
    */
    static
    bool showMessier()
    {
      return self()->mShowMessier;
    }

    /**
      Set Draw Messier object images in the sky map?
    */
    static
    void setShowMessierImages( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowMessierImages" ) ))
        self()->mShowMessierImages = v;
    }

    /**
      Get Draw Messier object images in the sky map?
    */
    static
    bool showMessierImages()
    {
      return self()->mShowMessierImages;
    }

    /**
      Set Draw extra deep-sky objects in the sky map?
    */
    static
    void setShowOther( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowOther" ) ))
        self()->mShowOther = v;
    }

    /**
      Get Draw extra deep-sky objects in the sky map?
    */
    static
    bool showOther()
    {
      return self()->mShowOther;
    }

    /**
      Set Draw Milky Way contour in the sky map?
    */
    static
    void setShowMilkyWay( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowMilkyWay" ) ))
        self()->mShowMilkyWay = v;
    }

    /**
      Get Draw Milky Way contour in the sky map?
    */
    static
    bool showMilkyWay()
    {
      return self()->mShowMilkyWay;
    }

    /**
      Set Fill Milky Way contour? (false means use outline only)
    */
    static
    void setFillMilkyWay( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "FillMilkyWay" ) ))
        self()->mFillMilkyWay = v;
    }

    /**
      Get Fill Milky Way contour? (false means use outline only)
    */
    static
    bool fillMilkyWay()
    {
      return self()->mFillMilkyWay;
    }

    /**
      Set Meta-option for all planets in the sky map.
    */
    static
    void setShowSolarSystem( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowSolarSystem" ) ))
        self()->mShowSolarSystem = v;
    }

    /**
      Get Meta-option for all planets in the sky map.
    */
    static
    bool showSolarSystem()
    {
      return self()->mShowSolarSystem;
    }

    /**
      Set Draw planets as images in the sky map?
    */
    static
    void setShowPlanetImages( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowPlanetImages" ) ))
        self()->mShowPlanetImages = v;
    }

    /**
      Get Draw planets as images in the sky map?
    */
    static
    bool showPlanetImages()
    {
      return self()->mShowPlanetImages;
    }

    /**
      Set Label planet names in the sky map?
    */
    static
    void setShowPlanetNames( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowPlanetNames" ) ))
        self()->mShowPlanetNames = v;
    }

    /**
      Get Label planet names in the sky map?
    */
    static
    bool showPlanetNames()
    {
      return self()->mShowPlanetNames;
    }

    /**
      Set Draw Sun in the sky map?
    */
    static
    void setShowSun( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowSun" ) ))
        self()->mShowSun = v;
    }

    /**
      Get Draw Sun in the sky map?
    */
    static
    bool showSun()
    {
      return self()->mShowSun;
    }

    /**
      Set Draw Moon in the sky map?
    */
    static
    void setShowMoon( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowMoon" ) ))
        self()->mShowMoon = v;
    }

    /**
      Get Draw Moon in the sky map?
    */
    static
    bool showMoon()
    {
      return self()->mShowMoon;
    }

    /**
      Set Draw Mercury in the sky map?
    */
    static
    void setShowMercury( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowMercury" ) ))
        self()->mShowMercury = v;
    }

    /**
      Get Draw Mercury in the sky map?
    */
    static
    bool showMercury()
    {
      return self()->mShowMercury;
    }

    /**
      Set Draw Venus in the sky map?
    */
    static
    void setShowVenus( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowVenus" ) ))
        self()->mShowVenus = v;
    }

    /**
      Get Draw Venus in the sky map?
    */
    static
    bool showVenus()
    {
      return self()->mShowVenus;
    }

    /**
      Set Draw Mars in the sky map?
    */
    static
    void setShowMars( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowMars" ) ))
        self()->mShowMars = v;
    }

    /**
      Get Draw Mars in the sky map?
    */
    static
    bool showMars()
    {
      return self()->mShowMars;
    }

    /**
      Set Draw Jupiter in the sky map?
    */
    static
    void setShowJupiter( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowJupiter" ) ))
        self()->mShowJupiter = v;
    }

    /**
      Get Draw Jupiter in the sky map?
    */
    static
    bool showJupiter()
    {
      return self()->mShowJupiter;
    }

    /**
      Set Draw Saturn in the sky map?
    */
    static
    void setShowSaturn( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowSaturn" ) ))
        self()->mShowSaturn = v;
    }

    /**
      Get Draw Saturn in the sky map?
    */
    static
    bool showSaturn()
    {
      return self()->mShowSaturn;
    }

    /**
      Set Draw Uranus in the sky map?
    */
    static
    void setShowUranus( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowUranus" ) ))
        self()->mShowUranus = v;
    }

    /**
      Get Draw Uranus in the sky map?
    */
    static
    bool showUranus()
    {
      return self()->mShowUranus;
    }

    /**
      Set Draw Neptune in the sky map?
    */
    static
    void setShowNeptune( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowNeptune" ) ))
        self()->mShowNeptune = v;
    }

    /**
      Get Draw Neptune in the sky map?
    */
    static
    bool showNeptune()
    {
      return self()->mShowNeptune;
    }

    /**
      Set Draw Pluto in the sky map?
    */
    static
    void setShowPluto( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowPluto" ) ))
        self()->mShowPluto = v;
    }

    /**
      Get Draw Pluto in the sky map?
    */
    static
    bool showPluto()
    {
      return self()->mShowPluto;
    }

    /**
      Set Draw stars in the sky map?
    */
    static
    void setShowStars( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowStars" ) ))
        self()->mShowStars = v;
    }

    /**
      Get Draw stars in the sky map?
    */
    static
    bool showStars()
    {
      return self()->mShowStars;
    }

    /**
      Set Label star magnitudes in the sky map?
    */
    static
    void setShowStarMagnitudes( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowStarMagnitudes" ) ))
        self()->mShowStarMagnitudes = v;
    }

    /**
      Get Label star magnitudes in the sky map?
    */
    static
    bool showStarMagnitudes()
    {
      return self()->mShowStarMagnitudes;
    }

    /**
      Set Label star names in the sky map?
    */
    static
    void setShowStarNames( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowStarNames" ) ))
        self()->mShowStarNames = v;
    }

    /**
      Get Label star names in the sky map?
    */
    static
    bool showStarNames()
    {
      return self()->mShowStarNames;
    }

    /**
      Set Label deep-sky object magnitudes in the sky map?
    */
    static
    void setShowDeepSkyMagnitudes( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowDeepSkyMagnitudes" ) ))
        self()->mShowDeepSkyMagnitudes = v;
    }

    /**
      Get Label deep-sky object magnitudes in the sky map?
    */
    static
    bool showDeepSkyMagnitudes()
    {
      return self()->mShowDeepSkyMagnitudes;
    }

    /**
      Set Label deep-sky objects in the sky map?
    */
    static
    void setShowDeepSkyNames( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowDeepSkyNames" ) ))
        self()->mShowDeepSkyNames = v;
    }

    /**
      Get Label deep-sky objects in the sky map?
    */
    static
    bool showDeepSkyNames()
    {
      return self()->mShowDeepSkyNames;
    }

    /**
      Set Minimum timescale for forced-slewing mode
    */
    static
    void setSlewTimeScale( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SlewTimeScale" ) ))
        self()->mSlewTimeScale = v;
    }

    /**
      Get Minimum timescale for forced-slewing mode
    */
    static
    double slewTimeScale()
    {
      return self()->mSlewTimeScale;
    }

    /**
      Set InfoBoxes Background fill mode
    */
    static
    void setBoxBGMode( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "BoxBGMode" ) ))
        self()->mBoxBGMode = v;
    }

    /**
      Get InfoBoxes Background fill mode
    */
    static
    uint boxBGMode()
    {
      return self()->mBoxBGMode;
    }

    /**
      Set Mapping projection algorithm
    */
    static
    void setProjection( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "Projection" ) ))
        self()->mProjection = v;
    }

    /**
      Get Mapping projection algorithm
    */
    static
    uint projection()
    {
      return self()->mProjection;
    }

    /**
      Set Use abbreviated constellation names?
    */
    static
    void setUseAbbrevConstellNames( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UseAbbrevConstellNames" ) ))
        self()->mUseAbbrevConstellNames = v;
    }

    /**
      Get Use abbreviated constellation names?
    */
    static
    bool useAbbrevConstellNames()
    {
      return self()->mUseAbbrevConstellNames;
    }

    /**
      Set Use Latin constellation names?
    */
    static
    void setUseLatinConstellNames( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UseLatinConstellNames" ) ))
        self()->mUseLatinConstellNames = v;
    }

    /**
      Get Use Latin constellation names?
    */
    static
    bool useLatinConstellNames()
    {
      return self()->mUseLatinConstellNames;
    }

    /**
      Set Use localized constellation names?
    */
    static
    void setUseLocalConstellNames( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UseLocalConstellNames" ) ))
        self()->mUseLocalConstellNames = v;
    }

    /**
      Get Use localized constellation names?
    */
    static
    bool useLocalConstellNames()
    {
      return self()->mUseLocalConstellNames;
    }

    /**
      Set Use horizontal coordinate system?
    */
    static
    void setUseAltAz( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UseAltAz" ) ))
        self()->mUseAltAz = v;
    }

    /**
      Get Use horizontal coordinate system?
    */
    static
    bool useAltAz()
    {
      return self()->mUseAltAz;
    }

    /**
      Set Automatically label focused object?
    */
    static
    void setUseAutoLabel( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UseAutoLabel" ) ))
        self()->mUseAutoLabel = v;
    }

    /**
      Get Automatically label focused object?
    */
    static
    bool useAutoLabel()
    {
      return self()->mUseAutoLabel;
    }

    /**
      Set Automatically add trail to centered solar system body?
    */
    static
    void setUseAutoTrail( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UseAutoTrail" ) ))
        self()->mUseAutoTrail = v;
    }

    /**
      Get Automatically add trail to centered solar system body?
    */
    static
    bool useAutoTrail()
    {
      return self()->mUseAutoTrail;
    }

    /**
      Set Add temporary label on mouse hover?
    */
    static
    void setUseHoverLabel( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UseHoverLabel" ) ))
        self()->mUseHoverLabel = v;
    }

    /**
      Get Add temporary label on mouse hover?
    */
    static
    bool useHoverLabel()
    {
      return self()->mUseHoverLabel;
    }

    /**
      Set Correct positions for atmospheric refraction?
    */
    static
    void setUseRefraction( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UseRefraction" ) ))
        self()->mUseRefraction = v;
    }

    /**
      Get Correct positions for atmospheric refraction?
    */
    static
    bool useRefraction()
    {
      return self()->mUseRefraction;
    }

    /**
      Set Apply relativistic corrections due to the bending of light in sun's gravitational field
    */
    static
    void setUseRelativistic( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UseRelativistic" ) ))
        self()->mUseRelativistic = v;
    }

    /**
      Get Apply relativistic corrections due to the bending of light in sun's gravitational field
    */
    static
    bool useRelativistic()
    {
      return self()->mUseRelativistic;
    }

    /**
      Set Use antialiasing when drawing the screen?
    */
    static
    void setUseAntialias( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UseAntialias" ) ))
        self()->mUseAntialias = v;
    }

    /**
      Get Use antialiasing when drawing the screen?
    */
    static
    bool useAntialias()
    {
      return self()->mUseAntialias;
    }

    /**
      Set Zoom Factor, in pixels per radian
    */
    static
    void setZoomFactor( double v )
    {
      if (v < 200.)
      {
        qDebug() << "setZoomFactor: value " << v << " is less than the minimum value of 200.";
        v = 200.;
      }

      if (v > 5000000.)
      {
        qDebug() << "setZoomFactor: value " << v << " is greater than the maximum value of 5000000.";
        v = 5000000.;
      }

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

    /**
      Get Zoom Factor, in pixels per radian
    */
    static
    double zoomFactor()
    {
      return self()->mZoomFactor;
    }

    /**
      Set Faint limit for asteroids
    */
    static
    void setMagLimitAsteroid( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "MagLimitAsteroid" ) ))
        self()->mMagLimitAsteroid = v;
    }

    /**
      Get Faint limit for asteroids
    */
    static
    double magLimitAsteroid()
    {
      return self()->mMagLimitAsteroid;
    }

    /**
      Set Label density for asteroid names
    */
    static
    void setAsteroidLabelDensity( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "AsteroidLabelDensity" ) ))
        self()->mAsteroidLabelDensity = v;
    }

    /**
      Get Label density for asteroid names
    */
    static
    double asteroidLabelDensity()
    {
      return self()->mAsteroidLabelDensity;
    }

    /**
      Set Faint limit for deep-sky objects
    */
    static
    void setMagLimitDrawDeepSky( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "MagLimitDrawDeepSky" ) ))
        self()->mMagLimitDrawDeepSky = v;
    }

    /**
      Get Faint limit for deep-sky objects
    */
    static
    double magLimitDrawDeepSky()
    {
      return self()->mMagLimitDrawDeepSky;
    }

    /**
      Set Faint limit for deep-sky objects when zoomed out
    */
    static
    void setMagLimitDrawDeepSkyZoomOut( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "MagLimitDrawDeepSkyZoomOut" ) ))
        self()->mMagLimitDrawDeepSkyZoomOut = v;
    }

    /**
      Get Faint limit for deep-sky objects when zoomed out
    */
    static
    double magLimitDrawDeepSkyZoomOut()
    {
      return self()->mMagLimitDrawDeepSkyZoomOut;
    }

    /**
      Set Show deep-sky objects of unknown magnitude
    */
    static
    void setShowUnknownMagObjects( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowUnknownMagObjects" ) ))
        self()->mShowUnknownMagObjects = v;
    }

    /**
      Get Show deep-sky objects of unknown magnitude
    */
    static
    bool showUnknownMagObjects()
    {
      return self()->mShowUnknownMagObjects;
    }

    /**
      Set Density of stars in the field of view
    */
    static
    void setStarDensity( int v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "StarDensity" ) ))
        self()->mStarDensity = v;
    }

    /**
      Get Density of stars in the field of view
    */
    static
    int starDensity()
    {
      return self()->mStarDensity;
    }

    /**
      Set Faint limit for stars when slewing
    */
    static
    void setMagLimitHideStar( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "MagLimitHideStar" ) ))
        self()->mMagLimitHideStar = v;
    }

    /**
      Get Faint limit for stars when slewing
    */
    static
    double magLimitHideStar()
    {
      return self()->mMagLimitHideStar;
    }

    /**
      Set Relative density for star name labels and/or magnitudes
    */
    static
    void setStarLabelDensity( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "StarLabelDensity" ) ))
        self()->mStarLabelDensity = v;
    }

    /**
      Get Relative density for star name labels and/or magnitudes
    */
    static
    double starLabelDensity()
    {
      return self()->mStarLabelDensity;
    }

    /**
      Set Relative density for deep-sky object name labels and/or magnitudes
    */
    static
    void setDeepSkyLabelDensity( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DeepSkyLabelDensity" ) ))
        self()->mDeepSkyLabelDensity = v;
    }

    /**
      Get Relative density for deep-sky object name labels and/or magnitudes
    */
    static
    double deepSkyLabelDensity()
    {
      return self()->mDeepSkyLabelDensity;
    }

    /**
      Set Show long names in deep-sky object name labels?
    */
    static
    void setDeepSkyLongLabels( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DeepSkyLongLabels" ) ))
        self()->mDeepSkyLongLabels = v;
    }

    /**
      Get Show long names in deep-sky object name labels?
    */
    static
    bool deepSkyLongLabels()
    {
      return self()->mDeepSkyLongLabels;
    }

    /**
      Set Maximum distance from Sun for labeling comets, in AU
    */
    static
    void setMaxRadCometName( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "MaxRadCometName" ) ))
        self()->mMaxRadCometName = v;
    }

    /**
      Get Maximum distance from Sun for labeling comets, in AU
    */
    static
    double maxRadCometName()
    {
      return self()->mMaxRadCometName;
    }

    /**
      Set Switch to OpenGL backend
    */
    static
    void setUseGL( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UseGL" ) ))
        self()->mUseGL = v;
    }

    /**
      Get Switch to OpenGL backend
    */
    static
    bool useGL()
    {
      return self()->mUseGL;
    }

    /**
      Set Run clock
    */
    static
    void setRunClock( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "RunClock" ) ))
        self()->mRunClock = v;
    }

    /**
      Get Run clock
    */
    static
    bool runClock()
    {
      return self()->mRunClock;
    }

    /**
      Set Use symbols to label observing list objects
    */
    static
    void setObsListSymbol( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ObsListSymbol" ) ))
        self()->mObsListSymbol = v;
    }

    /**
      Get Use symbols to label observing list objects
    */
    static
    bool obsListSymbol()
    {
      return self()->mObsListSymbol;
    }

    /**
      Set Use text to label observing list objects
    */
    static
    void setObsListText( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ObsListText" ) ))
        self()->mObsListText = v;
    }

    /**
      Get Use text to label observing list objects
    */
    static
    bool obsListText()
    {
      return self()->mObsListText;
    }

    /**
      Set Save the DSS/SDSS images to disk
    */
    static
    void setObsListSaveImage( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ObsListSaveImage" ) ))
        self()->mObsListSaveImage = v;
    }

    /**
      Get Save the DSS/SDSS images to disk
    */
    static
    bool obsListSaveImage()
    {
      return self()->mObsListSaveImage;
    }

    /**
      Set Prefer Digitized Sky Survey imagery in the observing list
    */
    static
    void setObsListPreferDSS( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ObsListPreferDSS" ) ))
        self()->mObsListPreferDSS = v;
    }

    /**
      Get Prefer Digitized Sky Survey imagery in the observing list
    */
    static
    bool obsListPreferDSS()
    {
      return self()->mObsListPreferDSS;
    }

    /**
      Set Prefer Sloan Digital Sky Survey imagery in the observing list
    */
    static
    void setObsListPreferSDSS( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ObsListPreferSDSS" ) ))
        self()->mObsListPreferSDSS = v;
    }

    /**
      Get Prefer Sloan Digital Sky Survey imagery in the observing list
    */
    static
    bool obsListPreferSDSS()
    {
      return self()->mObsListPreferSDSS;
    }

    /**
      Set The name of the color scheme
    */
    static
    void setColorSchemeFile( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ColorSchemeFile" ) ))
        self()->mColorSchemeFile = v;
    }

    /**
      Get The name of the color scheme
    */
    static
    QString colorSchemeFile()
    {
      return self()->mColorSchemeFile;
    }

    /**
      Set Use Dark colors for KStars windows?
    */
    static
    void setDarkAppColors( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DarkAppColors" ) ))
        self()->mDarkAppColors = v;
    }

    /**
      Get Use Dark colors for KStars windows?
    */
    static
    bool darkAppColors()
    {
      return self()->mDarkAppColors;
    }

    /**
      Set Mode for rendering stars
    */
    static
    void setStarColorMode( uint v )
    {

      if (v > 3)
      {
        qDebug() << "setStarColorMode: value " << v << " is greater than the maximum value of 3";
        v = 3;
      }

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

    /**
      Get Mode for rendering stars
    */
    static
    uint starColorMode()
    {
      return self()->mStarColorMode;
    }

    /**
      Set Saturation level of star colors
    */
    static
    void setStarColorIntensity( uint v )
    {

      if (v > 10)
      {
        qDebug() << "setStarColorIntensity: value " << v << " is greater than the maximum value of 10";
        v = 10;
      }

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

    /**
      Get Saturation level of star colors
    */
    static
    uint starColorIntensity()
    {
      return self()->mStarColorIntensity;
    }

    /**
      Set Color of angular distance ruler
    */
    static
    void setAngularRulerColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "AngularRulerColor" ) ))
        self()->mAngularRulerColor = v;
    }

    /**
      Get Color of angular distance ruler
    */
    static
    QString angularRulerColor()
    {
      return self()->mAngularRulerColor;
    }

    /**
      Set Background color of InfoBoxes
    */
    static
    void setBoxBGColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "BoxBGColor" ) ))
        self()->mBoxBGColor = v;
    }

    /**
      Get Background color of InfoBoxes
    */
    static
    QString boxBGColor()
    {
      return self()->mBoxBGColor;
    }

    /**
      Set Text color of InfoBoxes when grabbed with mouse
    */
    static
    void setBoxGrabColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "BoxGrabColor" ) ))
        self()->mBoxGrabColor = v;
    }

    /**
      Get Text color of InfoBoxes when grabbed with mouse
    */
    static
    QString boxGrabColor()
    {
      return self()->mBoxGrabColor;
    }

    /**
      Set Text color of InfoBoxes
    */
    static
    void setBoxTextColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "BoxTextColor" ) ))
        self()->mBoxTextColor = v;
    }

    /**
      Get Text color of InfoBoxes
    */
    static
    QString boxTextColor()
    {
      return self()->mBoxTextColor;
    }

    /**
      Set Color of constellation boundaries
    */
    static
    void setCBoundColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "CBoundColor" ) ))
        self()->mCBoundColor = v;
    }

    /**
      Get Color of constellation boundaries
    */
    static
    QString cBoundColor()
    {
      return self()->mCBoundColor;
    }

    /**
      Set Color of highlighted constellation boundary
    */
    static
    void setCBoundHighColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "CBoundHighColor" ) ))
        self()->mCBoundHighColor = v;
    }

    /**
      Get Color of highlighted constellation boundary
    */
    static
    QString cBoundHighColor()
    {
      return self()->mCBoundHighColor;
    }

    /**
      Set Color of constellation lines
    */
    static
    void setCLineColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "CLineColor" ) ))
        self()->mCLineColor = v;
    }

    /**
      Get Color of constellation lines
    */
    static
    QString cLineColor()
    {
      return self()->mCLineColor;
    }

    /**
      Set Color of constellation names
    */
    static
    void setCNameColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "CNameColor" ) ))
        self()->mCNameColor = v;
    }

    /**
      Get Color of constellation names
    */
    static
    QString cNameColor()
    {
      return self()->mCNameColor;
    }

    /**
      Set Color of cardinal compass labels along horizon
    */
    static
    void setCompassColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "CompassColor" ) ))
        self()->mCompassColor = v;
    }

    /**
      Get Color of cardinal compass labels along horizon
    */
    static
    QString compassColor()
    {
      return self()->mCompassColor;
    }

    /**
      Set Color of ecliptic line
    */
    static
    void setEclipticColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "EclipticColor" ) ))
        self()->mEclipticColor = v;
    }

    /**
      Get Color of ecliptic line
    */
    static
    QString eclipticColor()
    {
      return self()->mEclipticColor;
    }

    /**
      Set Color of equator line
    */
    static
    void setEquatorColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "EquatorColor" ) ))
        self()->mEquatorColor = v;
    }

    /**
      Get Color of equator line
    */
    static
    QString equatorColor()
    {
      return self()->mEquatorColor;
    }

    /**
      Set Color of equatorial coordinate grid lines
    */
    static
    void setEquatorialGridColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "EquatorialGridColor" ) ))
        self()->mEquatorialGridColor = v;
    }

    /**
      Get Color of equatorial coordinate grid lines
    */
    static
    QString equatorialGridColor()
    {
      return self()->mEquatorialGridColor;
    }

    /**
      Set Color of horizontal coordinate grid lines
    */
    static
    void setHorizontalGridColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "HorizontalGridColor" ) ))
        self()->mHorizontalGridColor = v;
    }

    /**
      Get Color of horizontal coordinate grid lines
    */
    static
    QString horizontalGridColor()
    {
      return self()->mHorizontalGridColor;
    }

    /**
      Set Color of objects with extra links available
    */
    static
    void setSpecialObjectColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SpecialObjectColor" ) ))
        self()->mSpecialObjectColor = v;
    }

    /**
      Get Color of objects with extra links available
    */
    static
    QString specialObjectColor()
    {
      return self()->mSpecialObjectColor;
    }

    /**
      Set Color of horizon line
    */
    static
    void setHorizonColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "HorizonColor" ) ))
        self()->mHorizonColor = v;
    }

    /**
      Get Color of horizon line
    */
    static
    QString horizonColor()
    {
      return self()->mHorizonColor;
    }

    /**
      Set Color of Messier objects
    */
    static
    void setMessierColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "MessierColor" ) ))
        self()->mMessierColor = v;
    }

    /**
      Get Color of Messier objects
    */
    static
    QString messierColor()
    {
      return self()->mMessierColor;
    }

    /**
      Set Color of NGC objects
    */
    static
    void setNGCColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "NGCColor" ) ))
        self()->mNGCColor = v;
    }

    /**
      Get Color of NGC objects
    */
    static
    QString nGCColor()
    {
      return self()->mNGCColor;
    }

    /**
      Set Color of IC objects
    */
    static
    void setICColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ICColor" ) ))
        self()->mICColor = v;
    }

    /**
      Get Color of IC objects
    */
    static
    QString iCColor()
    {
      return self()->mICColor;
    }

    /**
      Set Color of Milky Way contour
    */
    static
    void setMilkyWayWColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "MilkyWayWColor" ) ))
        self()->mMilkyWayWColor = v;
    }

    /**
      Get Color of Milky Way contour
    */
    static
    QString milkyWayWColor()
    {
      return self()->mMilkyWayWColor;
    }

    /**
      Set Color of star name labels
    */
    static
    void setStarNameColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "StarNameColor" ) ))
        self()->mStarNameColor = v;
    }

    /**
      Get Color of star name labels
    */
    static
    QString starNameColor()
    {
      return self()->mStarNameColor;
    }

    /**
      Set Color of deep-sky object name labels
    */
    static
    void setDeepSkyNameColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DeepSkyNameColor" ) ))
        self()->mDeepSkyNameColor = v;
    }

    /**
      Get Color of deep-sky object name labels
    */
    static
    QString deepSkyNameColor()
    {
      return self()->mDeepSkyNameColor;
    }

    /**
      Set Color of planet name labels
    */
    static
    void setPlanetNameColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "PlanetNameColor" ) ))
        self()->mPlanetNameColor = v;
    }

    /**
      Get Color of planet name labels
    */
    static
    QString planetNameColor()
    {
      return self()->mPlanetNameColor;
    }

    /**
      Set Color of planet trails
    */
    static
    void setPlanetTrailColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "PlanetTrailColor" ) ))
        self()->mPlanetTrailColor = v;
    }

    /**
      Get Color of planet trails
    */
    static
    QString planetTrailColor()
    {
      return self()->mPlanetTrailColor;
    }

    /**
      Set Color of sky
    */
    static
    void setSkyColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SkyColor" ) ))
        self()->mSkyColor = v;
    }

    /**
      Get Color of sky
    */
    static
    QString skyColor()
    {
      return self()->mSkyColor;
    }

    /**
      Set Color of telescope symbols
    */
    static
    void setTelescopeTargetColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "TelescopeTargetColor" ) ))
        self()->mTelescopeTargetColor = v;
    }

    /**
      Get Color of telescope symbols
    */
    static
    QString telescopeTargetColor()
    {
      return self()->mTelescopeTargetColor;
    }

    /**
      Set Color of visible satellites
    */
    static
    void setVisibleSatColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "VisibleSatColor" ) ))
        self()->mVisibleSatColor = v;
    }

    /**
      Get Color of visible satellites
    */
    static
    QString visibleSatColor()
    {
      return self()->mVisibleSatColor;
    }

    /**
      Set Color of invisible satellites
    */
    static
    void setSatColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SatColor" ) ))
        self()->mSatColor = v;
    }

    /**
      Get Color of invisible satellites
    */
    static
    QString satColor()
    {
      return self()->mSatColor;
    }

    /**
      Set Color of satellites labels
    */
    static
    void setSatLabelColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SatLabelColor" ) ))
        self()->mSatLabelColor = v;
    }

    /**
      Get Color of satellites labels
    */
    static
    QString satLabelColor()
    {
      return self()->mSatLabelColor;
    }

    /**
      Set Color of supernovae
    */
    static
    void setSupernovaColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SupernovaColor" ) ))
        self()->mSupernovaColor = v;
    }

    /**
      Get Color of supernovae
    */
    static
    QString supernovaColor()
    {
      return self()->mSupernovaColor;
    }

    /**
      Set Color of user-added labels
    */
    static
    void setUserLabelColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UserLabelColor" ) ))
        self()->mUserLabelColor = v;
    }

    /**
      Get Color of user-added labels
    */
    static
    QString userLabelColor()
    {
      return self()->mUserLabelColor;
    }

    /**
      Set Color of RA Guide Error
    */
    static
    void setRAGuideColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "RAGuideColor" ) ))
        self()->mRAGuideColor = v;
    }

    /**
      Get Color of RA Guide Error
    */
    static
    QString rAGuideColor()
    {
      return self()->mRAGuideColor;
    }

    /**
      Set Color of DEC Guide Error
    */
    static
    void setDEGuideColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DEGuideColor" ) ))
        self()->mDEGuideColor = v;
    }

    /**
      Get Color of DEC Guide Error
    */
    static
    QString dEGuideColor()
    {
      return self()->mDEGuideColor;
    }

    /**
      Set Color of solver FOV box
    */
    static
    void setSolverFOVColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SolverFOVColor" ) ))
        self()->mSolverFOVColor = v;
    }

    /**
      Get Color of solver FOV box
    */
    static
    QString solverFOVColor()
    {
      return self()->mSolverFOVColor;
    }

    /**
      Set Path to xplanet binary
    */
    static
    void setXplanetPath( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetPath" ) ))
        self()->mXplanetPath = v;
    }

    /**
      Get Path to xplanet binary
    */
    static
    QString xplanetPath()
    {
      return self()->mXplanetPath;
    }

    /**
      Set Window title
    */
    static
    void setXplanetTitle( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetTitle" ) ))
        self()->mXplanetTitle = v;
    }

    /**
      Get Window title
    */
    static
    QString xplanetTitle()
    {
      return self()->mXplanetTitle;
    }

    /**
      Set Width of xplanet window
    */
    static
    void setXplanetWidth( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetWidth" ) ))
        self()->mXplanetWidth = v;
    }

    /**
      Get Width of xplanet window
    */
    static
    QString xplanetWidth()
    {
      return self()->mXplanetWidth;
    }

    /**
      Set Height of xplanet window
    */
    static
    void setXplanetHeight( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetHeight" ) ))
        self()->mXplanetHeight = v;
    }

    /**
      Get Height of xplanet window
    */
    static
    QString xplanetHeight()
    {
      return self()->mXplanetHeight;
    }

    /**
      Set Show label
    */
    static
    void setXplanetLabel( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetLabel" ) ))
        self()->mXplanetLabel = v;
    }

    /**
      Get Show label
    */
    static
    bool xplanetLabel()
    {
      return self()->mXplanetLabel;
    }

    /**
      Set Show GMT label
    */
    static
    void setXplanetLabelLocalTime( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetLabelLocalTime" ) ))
        self()->mXplanetLabelLocalTime = v;
    }

    /**
      Get Show GMT label
    */
    static
    bool xplanetLabelLocalTime()
    {
      return self()->mXplanetLabelLocalTime;
    }

    /**
      Set Show GMT label
    */
    static
    void setXplanetLabelGMT( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetLabelGMT" ) ))
        self()->mXplanetLabelGMT = v;
    }

    /**
      Get Show GMT label
    */
    static
    bool xplanetLabelGMT()
    {
      return self()->mXplanetLabelGMT;
    }

    /**
      Set Planet string
    */
    static
    void setXplanetLabelString( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetLabelString" ) ))
        self()->mXplanetLabelString = v;
    }

    /**
      Get Planet string
    */
    static
    QString xplanetLabelString()
    {
      return self()->mXplanetLabelString;
    }

    /**
      Set Font Size
    */
    static
    void setXplanetFontSize( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetFontSize" ) ))
        self()->mXplanetFontSize = v;
    }

    /**
      Get Font Size
    */
    static
    QString xplanetFontSize()
    {
      return self()->mXplanetFontSize;
    }

    /**
      Set Label color
    */
    static
    void setXplanetColor( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetColor" ) ))
        self()->mXplanetColor = v;
    }

    /**
      Get Label color
    */
    static
    QString xplanetColor()
    {
      return self()->mXplanetColor;
    }

    /**
      Set Date format
    */
    static
    void setXplanetDateFormat( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetDateFormat" ) ))
        self()->mXplanetDateFormat = v;
    }

    /**
      Get Date format
    */
    static
    QString xplanetDateFormat()
    {
      return self()->mXplanetDateFormat;
    }

    /**
      Set Top left
    */
    static
    void setXplanetLabelTL( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetLabelTL" ) ))
        self()->mXplanetLabelTL = v;
    }

    /**
      Get Top left
    */
    static
    bool xplanetLabelTL()
    {
      return self()->mXplanetLabelTL;
    }

    /**
      Set Top right
    */
    static
    void setXplanetLabelTR( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetLabelTR" ) ))
        self()->mXplanetLabelTR = v;
    }

    /**
      Get Top right
    */
    static
    bool xplanetLabelTR()
    {
      return self()->mXplanetLabelTR;
    }

    /**
      Set Bottom right
    */
    static
    void setXplanetLabelBR( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetLabelBR" ) ))
        self()->mXplanetLabelBR = v;
    }

    /**
      Get Bottom right
    */
    static
    bool xplanetLabelBR()
    {
      return self()->mXplanetLabelBR;
    }

    /**
      Set Bottom left
    */
    static
    void setXplanetLabelBL( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetLabelBL" ) ))
        self()->mXplanetLabelBL = v;
    }

    /**
      Get Bottom left
    */
    static
    bool xplanetLabelBL()
    {
      return self()->mXplanetLabelBL;
    }

    /**
      Set Sun Glare
    */
    static
    void setXplanetGlare( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetGlare" ) ))
        self()->mXplanetGlare = v;
    }

    /**
      Get Sun Glare
    */
    static
    QString xplanetGlare()
    {
      return self()->mXplanetGlare;
    }

    /**
      Set Random latitude and longitude
    */
    static
    void setXplanetRandom( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetRandom" ) ))
        self()->mXplanetRandom = v;
    }

    /**
      Get Random latitude and longitude
    */
    static
    bool xplanetRandom()
    {
      return self()->mXplanetRandom;
    }

    /**
      Set Latitude-Longitude
    */
    static
    void setXplanetLatLong( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetLatLong" ) ))
        self()->mXplanetLatLong = v;
    }

    /**
      Get Latitude-Longitude
    */
    static
    bool xplanetLatLong()
    {
      return self()->mXplanetLatLong;
    }

    /**
      Set Latitude in degrees
    */
    static
    void setXplanetLatitude( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetLatitude" ) ))
        self()->mXplanetLatitude = v;
    }

    /**
      Get Latitude in degrees
    */
    static
    QString xplanetLatitude()
    {
      return self()->mXplanetLatitude;
    }

    /**
      Set Longitude in degrees
    */
    static
    void setXplanetLongitude( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetLongitude" ) ))
        self()->mXplanetLongitude = v;
    }

    /**
      Get Longitude in degrees
    */
    static
    QString xplanetLongitude()
    {
      return self()->mXplanetLongitude;
    }

    /**
      Set Projection
    */
    static
    void setXplanetProjection( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetProjection" ) ))
        self()->mXplanetProjection = v;
    }

    /**
      Get Projection
    */
    static
    uint xplanetProjection()
    {
      return self()->mXplanetProjection;
    }

    /**
      Set Update view
    */
    static
    void setXplanetWait( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetWait" ) ))
        self()->mXplanetWait = v;
    }

    /**
      Get Update view
    */
    static
    bool xplanetWait()
    {
      return self()->mXplanetWait;
    }

    /**
      Set Number of seconds to wait before updating
    */
    static
    void setXplanetWaitValue( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetWaitValue" ) ))
        self()->mXplanetWaitValue = v;
    }

    /**
      Get Number of seconds to wait before updating
    */
    static
    QString xplanetWaitValue()
    {
      return self()->mXplanetWaitValue;
    }

    /**
      Set Use background
    */
    static
    void setXplanetBackground( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetBackground" ) ))
        self()->mXplanetBackground = v;
    }

    /**
      Get Use background
    */
    static
    bool xplanetBackground()
    {
      return self()->mXplanetBackground;
    }

    /**
      Set Use background image
    */
    static
    void setXplanetBackgroundImage( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetBackgroundImage" ) ))
        self()->mXplanetBackgroundImage = v;
    }

    /**
      Get Use background image
    */
    static
    bool xplanetBackgroundImage()
    {
      return self()->mXplanetBackgroundImage;
    }

    /**
      Set Background image path
    */
    static
    void setXplanetBackgroundImagePath( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetBackgroundImagePath" ) ))
        self()->mXplanetBackgroundImagePath = v;
    }

    /**
      Get Background image path
    */
    static
    QString xplanetBackgroundImagePath()
    {
      return self()->mXplanetBackgroundImagePath;
    }

    /**
      Set Use background color
    */
    static
    void setXplanetBackgroundColor( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetBackgroundColor" ) ))
        self()->mXplanetBackgroundColor = v;
    }

    /**
      Get Use background color
    */
    static
    bool xplanetBackgroundColor()
    {
      return self()->mXplanetBackgroundColor;
    }

    /**
      Set Background color
    */
    static
    void setXplanetBackgroundColorValue( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetBackgroundColorValue" ) ))
        self()->mXplanetBackgroundColorValue = v;
    }

    /**
      Get Background color
    */
    static
    QString xplanetBackgroundColorValue()
    {
      return self()->mXplanetBackgroundColorValue;
    }

    /**
      Set Base magnitude
    */
    static
    void setXplanetMagnitude( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetMagnitude" ) ))
        self()->mXplanetMagnitude = v;
    }

    /**
      Get Base magnitude
    */
    static
    QString xplanetMagnitude()
    {
      return self()->mXplanetMagnitude;
    }

    /**
      Set Arc file
    */
    static
    void setXplanetArcFile( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetArcFile" ) ))
        self()->mXplanetArcFile = v;
    }

    /**
      Get Arc file
    */
    static
    bool xplanetArcFile()
    {
      return self()->mXplanetArcFile;
    }

    /**
      Set Path to arc file
    */
    static
    void setXplanetArcFilePath( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetArcFilePath" ) ))
        self()->mXplanetArcFilePath = v;
    }

    /**
      Get Path to arc file
    */
    static
    QString xplanetArcFilePath()
    {
      return self()->mXplanetArcFilePath;
    }

    /**
      Set Config file
    */
    static
    void setXplanetConfigFile( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetConfigFile" ) ))
        self()->mXplanetConfigFile = v;
    }

    /**
      Get Config file
    */
    static
    bool xplanetConfigFile()
    {
      return self()->mXplanetConfigFile;
    }

    /**
      Set Path to config file
    */
    static
    void setXplanetConfigFilePath( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetConfigFilePath" ) ))
        self()->mXplanetConfigFilePath = v;
    }

    /**
      Get Path to config file
    */
    static
    QString xplanetConfigFilePath()
    {
      return self()->mXplanetConfigFilePath;
    }

    /**
      Set Use kstars's FOV
    */
    static
    void setXplanetFOV( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetFOV" ) ))
        self()->mXplanetFOV = v;
    }

    /**
      Get Use kstars's FOV
    */
    static
    bool xplanetFOV()
    {
      return self()->mXplanetFOV;
    }

    /**
      Set Use marker file
    */
    static
    void setXplanetMarkerFile( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetMarkerFile" ) ))
        self()->mXplanetMarkerFile = v;
    }

    /**
      Get Use marker file
    */
    static
    bool xplanetMarkerFile()
    {
      return self()->mXplanetMarkerFile;
    }

    /**
      Set Marker file path
    */
    static
    void setXplanetMarkerFilePath( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetMarkerFilePath" ) ))
        self()->mXplanetMarkerFilePath = v;
    }

    /**
      Get Marker file path
    */
    static
    QString xplanetMarkerFilePath()
    {
      return self()->mXplanetMarkerFilePath;
    }

    /**
      Set Write marker bounds
    */
    static
    void setXplanetMarkerBounds( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetMarkerBounds" ) ))
        self()->mXplanetMarkerBounds = v;
    }

    /**
      Get Write marker bounds
    */
    static
    bool xplanetMarkerBounds()
    {
      return self()->mXplanetMarkerBounds;
    }

    /**
      Set Marker bounds file path
    */
    static
    void setXplanetMarkerBoundsPath( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetMarkerBoundsPath" ) ))
        self()->mXplanetMarkerBoundsPath = v;
    }

    /**
      Get Marker bounds file path
    */
    static
    QString xplanetMarkerBoundsPath()
    {
      return self()->mXplanetMarkerBoundsPath;
    }

    /**
      Set Star map
    */
    static
    void setXplanetStarmap( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetStarmap" ) ))
        self()->mXplanetStarmap = v;
    }

    /**
      Get Star map
    */
    static
    bool xplanetStarmap()
    {
      return self()->mXplanetStarmap;
    }

    /**
      Set Star map file path
    */
    static
    void setXplanetStarmapPath( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetStarmapPath" ) ))
        self()->mXplanetStarmapPath = v;
    }

    /**
      Get Star map file path
    */
    static
    QString xplanetStarmapPath()
    {
      return self()->mXplanetStarmapPath;
    }

    /**
      Set Output file quality
    */
    static
    void setXplanetQuality( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "XplanetQuality" ) ))
        self()->mXplanetQuality = v;
    }

    /**
      Get Output file quality
    */
    static
    QString xplanetQuality()
    {
      return self()->mXplanetQuality;
    }

    /**
      Set Draw satellites in the sky map?
    */
    static
    void setShowSatellites( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowSatellites" ) ))
        self()->mShowSatellites = v;
    }

    /**
      Get Draw satellites in the sky map?
    */
    static
    bool showSatellites()
    {
      return self()->mShowSatellites;
    }

    /**
      Set Draw only visible satellites in the sky map
    */
    static
    void setShowVisibleSatellites( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowVisibleSatellites" ) ))
        self()->mShowVisibleSatellites = v;
    }

    /**
      Get Draw only visible satellites in the sky map
    */
    static
    bool showVisibleSatellites()
    {
      return self()->mShowVisibleSatellites;
    }

    /**
      Set If selected, satellites will be draw like stars, otherwise, draw satellites as small colored square.
    */
    static
    void setDrawSatellitesLikeStars( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DrawSatellitesLikeStars" ) ))
        self()->mDrawSatellitesLikeStars = v;
    }

    /**
      Get If selected, satellites will be draw like stars, otherwise, draw satellites as small colored square.
    */
    static
    bool drawSatellitesLikeStars()
    {
      return self()->mDrawSatellitesLikeStars;
    }

    /**
      Set Draw satellite labels?
    */
    static
    void setShowSatellitesLabels( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ShowSatellitesLabels" ) ))
        self()->mShowSatellitesLabels = v;
    }

    /**
      Get Draw satellite labels?
    */
    static
    bool showSatellitesLabels()
    {
      return self()->mShowSatellitesLabels;
    }

    /**
      Set Selected satellites.
    */
    static
    void setSelectedSatellites( const QStringList & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SelectedSatellites" ) ))
        self()->mSelectedSatellites = v;
    }

    /**
      Get Selected satellites.
    */
    static
    QStringList selectedSatellites()
    {
      return self()->mSelectedSatellites;
    }

    /**
      Set Always recompute coordinates
    */
    static
    void setAlwaysRecomputeCoordinates( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "AlwaysRecomputeCoordinates" ) ))
        self()->mAlwaysRecomputeCoordinates = v;
    }

    /**
      Get Always recompute coordinates
    */
    static
    bool alwaysRecomputeCoordinates()
    {
      return self()->mAlwaysRecomputeCoordinates;
    }

    /**
      Set Default size for DSS images
    */
    static
    void setDefaultDSSImageSize( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DefaultDSSImageSize" ) ))
        self()->mDefaultDSSImageSize = v;
    }

    /**
      Get Default size for DSS images
    */
    static
    double defaultDSSImageSize()
    {
      return self()->mDefaultDSSImageSize;
    }

    /**
      Set Additional padding around DSS Images of deep-sky objects
    */
    static
    void setDSSPadding( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DSSPadding" ) ))
        self()->mDSSPadding = v;
    }

    /**
      Get Additional padding around DSS Images of deep-sky objects
    */
    static
    double dSSPadding()
    {
      return self()->mDSSPadding;
    }

    /**
      Set Bortle dark-sky rating
    */
    static
    void setBortleClass( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "BortleClass" ) ))
        self()->mBortleClass = v;
    }

    /**
      Get Bortle dark-sky rating
    */
    static
    uint bortleClass()
    {
      return self()->mBortleClass;
    }

    /**
      Set Availability of telescope
    */
    static
    void setTelescopeCheck( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "TelescopeCheck" ) ))
        self()->mTelescopeCheck = v;
    }

    /**
      Get Availability of telescope
    */
    static
    bool telescopeCheck()
    {
      return self()->mTelescopeCheck;
    }

    /**
      Set Availability of binoculars
    */
    static
    void setBinocularsCheck( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "BinocularsCheck" ) ))
        self()->mBinocularsCheck = v;
    }

    /**
      Get Availability of binoculars
    */
    static
    bool binocularsCheck()
    {
      return self()->mBinocularsCheck;
    }

    /**
      Set Availability of both telescope and binoculars
    */
    static
    void setNoEquipCheck( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "NoEquipCheck" ) ))
        self()->mNoEquipCheck = v;
    }

    /**
      Get Availability of both telescope and binoculars
    */
    static
    bool noEquipCheck()
    {
      return self()->mNoEquipCheck;
    }

    /**
      Set Aperture of available binocular
    */
    static
    void setBinocularsAperture( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "BinocularsAperture" ) ))
        self()->mBinocularsAperture = v;
    }

    /**
      Get Aperture of available binocular
    */
    static
    double binocularsAperture()
    {
      return self()->mBinocularsAperture;
    }

    /**
      Set Index of selected scope from list of scopes
    */
    static
    void setScopeListWidget( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "ScopeListWidget" ) ))
        self()->mScopeListWidget = v;
    }

    /**
      Get Index of selected scope from list of scopes
    */
    static
    uint scopeListWidget()
    {
      return self()->mScopeListWidget;
    }

    /**
      Set Default telescope driver
    */
    static
    void setTelescopeDriver( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "TelescopeDriver" ) ))
        self()->mTelescopeDriver = v;
    }

    /**
      Get Default telescope driver
    */
    static
    QString telescopeDriver()
    {
      return self()->mTelescopeDriver;
    }

    /**
      Set Default CCD driver
    */
    static
    void setCCDDriver( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "CCDDriver" ) ))
        self()->mCCDDriver = v;
    }

    /**
      Get Default CCD driver
    */
    static
    QString cCDDriver()
    {
      return self()->mCCDDriver;
    }

    /**
      Set Default Guider driver
    */
    static
    void setGuiderDriver( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "GuiderDriver" ) ))
        self()->mGuiderDriver = v;
    }

    /**
      Get Default Guider driver
    */
    static
    QString guiderDriver()
    {
      return self()->mGuiderDriver;
    }

    /**
      Set Default Filter driver
    */
    static
    void setFilterDriver( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "FilterDriver" ) ))
        self()->mFilterDriver = v;
    }

    /**
      Get Default Filter driver
    */
    static
    QString filterDriver()
    {
      return self()->mFilterDriver;
    }

    /**
      Set Default Focuser driver
    */
    static
    void setFocuserDriver( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "FocuserDriver" ) ))
        self()->mFocuserDriver = v;
    }

    /**
      Get Default Focuser driver
    */
    static
    QString focuserDriver()
    {
      return self()->mFocuserDriver;
    }

    /**
      Set Default Auxiliary driver
    */
    static
    void setAuxDriver( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "AuxDriver" ) ))
        self()->mAuxDriver = v;
    }

    /**
      Get Default Auxiliary driver
    */
    static
    QString auxDriver()
    {
      return self()->mAuxDriver;
    }

    /**
      Set Default Dome driver
    */
    static
    void setDomeDriver( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DomeDriver" ) ))
        self()->mDomeDriver = v;
    }

    /**
      Get Default Dome driver
    */
    static
    QString domeDriver()
    {
      return self()->mDomeDriver;
    }

    /**
      Set Default Adaptive Optics driver
    */
    static
    void setAODriver( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "AODriver" ) ))
        self()->mAODriver = v;
    }

    /**
      Get Default Adaptive Optics driver
    */
    static
    QString aODriver()
    {
      return self()->mAODriver;
    }

    /**
      Set Remote Scope Name
    */
    static
    void setRemoteScopeName( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "remoteScopeName" ) ))
        self()->mRemoteScopeName = v;
    }

    /**
      Get Remote Scope Name
    */
    static
    QString remoteScopeName()
    {
      return self()->mRemoteScopeName;
    }

    /**
      Set Remote CCD Name
    */
    static
    void setRemoteCCDName( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "remoteCCDName" ) ))
        self()->mRemoteCCDName = v;
    }

    /**
      Get Remote CCD Name
    */
    static
    QString remoteCCDName()
    {
      return self()->mRemoteCCDName;
    }

    /**
      Set Remote Guider Name
    */
    static
    void setRemoteGuiderName( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "remoteGuiderName" ) ))
        self()->mRemoteGuiderName = v;
    }

    /**
      Get Remote Guider Name
    */
    static
    QString remoteGuiderName()
    {
      return self()->mRemoteGuiderName;
    }

    /**
      Set Remote Focuser Name
    */
    static
    void setRemoteFocuserName( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "remoteFocuserName" ) ))
        self()->mRemoteFocuserName = v;
    }

    /**
      Get Remote Focuser Name
    */
    static
    QString remoteFocuserName()
    {
      return self()->mRemoteFocuserName;
    }

    /**
      Set Remote Filter Name
    */
    static
    void setRemoteFilterName( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "remoteFilterName" ) ))
        self()->mRemoteFilterName = v;
    }

    /**
      Get Remote Filter Name
    */
    static
    QString remoteFilterName()
    {
      return self()->mRemoteFilterName;
    }

    /**
      Set Remote Auxiliary Name
    */
    static
    void setRemoteAuxName( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "remoteAuxName" ) ))
        self()->mRemoteAuxName = v;
    }

    /**
      Get Remote Auxiliary Name
    */
    static
    QString remoteAuxName()
    {
      return self()->mRemoteAuxName;
    }

    /**
      Set Remote Dome Name
    */
    static
    void setRemoteDomeName( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "remoteDomeName" ) ))
        self()->mRemoteDomeName = v;
    }

    /**
      Get Remote Dome Name
    */
    static
    QString remoteDomeName()
    {
      return self()->mRemoteDomeName;
    }

    /**
      Set Remote Adaptive Optics Name
    */
    static
    void setRemoteAOName( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "remoteAOName" ) ))
        self()->mRemoteAOName = v;
    }

    /**
      Get Remote Adaptive Optics Name
    */
    static
    QString remoteAOName()
    {
      return self()->mRemoteAOName;
    }

    /**
      Set Remote INDI host
    */
    static
    void setRemoteHost( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "remoteHost" ) ))
        self()->mRemoteHost = v;
    }

    /**
      Get Remote INDI host
    */
    static
    QString remoteHost()
    {
      return self()->mRemoteHost;
    }

    /**
      Set Remote Port
    */
    static
    void setRemotePort( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "remotePort" ) ))
        self()->mRemotePort = v;
    }

    /**
      Get Remote Port
    */
    static
    QString remotePort()
    {
      return self()->mRemotePort;
    }

    /**
      Set Ekos connection mode
    */
    static
    void setLocalMode( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "localMode" ) ))
        self()->mLocalMode = v;
    }

    /**
      Get Ekos connection mode
    */
    static
    bool localMode()
    {
      return self()->mLocalMode;
    }

    /**
      Set Ekos connection mode
    */
    static
    void setRemoteMode( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "remoteMode" ) ))
        self()->mRemoteMode = v;
    }

    /**
      Get Ekos connection mode
    */
    static
    bool remoteMode()
    {
      return self()->mRemoteMode;
    }

    /**
      Set Never load device configuration?
    */
    static
    void setNeverLoadConfig( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "neverLoadConfig" ) ))
        self()->mNeverLoadConfig = v;
    }

    /**
      Get Never load device configuration?
    */
    static
    bool neverLoadConfig()
    {
      return self()->mNeverLoadConfig;
    }

    /**
      Set Load device configuration upon successful connection?
    */
    static
    void setLoadConfigOnConnection( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "loadConfigOnConnection" ) ))
        self()->mLoadConfigOnConnection = v;
    }

    /**
      Get Load device configuration upon successful connection?
    */
    static
    bool loadConfigOnConnection()
    {
      return self()->mLoadConfigOnConnection;
    }

    /**
      Set Always load device default configuration upon successful connection?
    */
    static
    void setLoadDefaultConfig( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "loadDefaultConfig" ) ))
        self()->mLoadDefaultConfig = v;
    }

    /**
      Get Always load device default configuration upon successful connection?
    */
    static
    bool loadDefaultConfig()
    {
      return self()->mLoadDefaultConfig;
    }

    /**
      Set Play notification alarm whenever a new FITS is received.
    */
    static
    void setPlayFITSAlarm( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "PlayFITSAlarm" ) ))
        self()->mPlayFITSAlarm = v;
    }

    /**
      Get Play notification alarm whenever a new FITS is received.
    */
    static
    bool playFITSAlarm()
    {
      return self()->mPlayFITSAlarm;
    }

    /**
      Set Play notifications alarms in the CCD module.
    */
    static
    void setPlayCCDAlarm( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "PlayCCDAlarm" ) ))
        self()->mPlayCCDAlarm = v;
    }

    /**
      Get Play notifications alarms in the CCD module.
    */
    static
    bool playCCDAlarm()
    {
      return self()->mPlayCCDAlarm;
    }

    /**
      Set Play notifications alarms in the focus module.
    */
    static
    void setPlayFocusAlarm( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "PlayFocusAlarm" ) ))
        self()->mPlayFocusAlarm = v;
    }

    /**
      Get Play notifications alarms in the focus module.
    */
    static
    bool playFocusAlarm()
    {
      return self()->mPlayFocusAlarm;
    }

    /**
      Set Play notifications alarms in the CCD module.
    */
    static
    void setPlayGuideAlarm( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "PlayGuideAlarm" ) ))
        self()->mPlayGuideAlarm = v;
    }

    /**
      Get Play notifications alarms in the CCD module.
    */
    static
    bool playGuideAlarm()
    {
      return self()->mPlayGuideAlarm;
    }

    /**
      Set Play notifications alarms in the CCD module.
    */
    static
    void setPlayAlignmentAlarm( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "PlayAlignmentAlarm" ) ))
        self()->mPlayAlignmentAlarm = v;
    }

    /**
      Get Play notifications alarms in the CCD module.
    */
    static
    bool playAlignmentAlarm()
    {
      return self()->mPlayAlignmentAlarm;
    }

    /**
      Set astrometry.net solve-field binary
    */
    static
    void setAstrometrySolver( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "astrometrySolver" ) ))
        self()->mAstrometrySolver = v;
    }

    /**
      Get astrometry.net solve-field binary
    */
    static
    QString astrometrySolver()
    {
      return self()->mAstrometrySolver;
    }

    /**
      Set astrometry.net wcsinfo binary
    */
    static
    void setAstrometryWCSInfo( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "astrometryWCSInfo" ) ))
        self()->mAstrometryWCSInfo = v;
    }

    /**
      Get astrometry.net wcsinfo binary
    */
    static
    QString astrometryWCSInfo()
    {
      return self()->mAstrometryWCSInfo;
    }

    /**
      Set astrometry.net configuration file
    */
    static
    void setAstrometryConfFile( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "astrometryConfFile" ) ))
        self()->mAstrometryConfFile = v;
    }

    /**
      Get astrometry.net configuration file
    */
    static
    QString astrometryConfFile()
    {
      return self()->mAstrometryConfFile;
    }

    /**
      Set astrometry.net API Key
    */
    static
    void setAstrometryAPIKey( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "astrometryAPIKey" ) ))
        self()->mAstrometryAPIKey = v;
    }

    /**
      Get astrometry.net API Key
    */
    static
    QString astrometryAPIKey()
    {
      return self()->mAstrometryAPIKey;
    }

    /**
      Set astrometry.net API URL
    */
    static
    void setAstrometryAPIURL( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "astrometryAPIURL" ) ))
        self()->mAstrometryAPIURL = v;
    }

    /**
      Get astrometry.net API URL
    */
    static
    QString astrometryAPIURL()
    {
      return self()->mAstrometryAPIURL;
    }

    /**
      Set Use JPEG format, instead of FITS, to upload images to the astrometry.net online service.
    */
    static
    void setAstrometryUseJPEG( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "astrometryUseJPEG" ) ))
        self()->mAstrometryUseJPEG = v;
    }

    /**
      Get Use JPEG format, instead of FITS, to upload images to the astrometry.net online service.
    */
    static
    bool astrometryUseJPEG()
    {
      return self()->mAstrometryUseJPEG;
    }

    /**
      Set Default maximum permittable guide deviation
    */
    static
    void setGuideDeviation( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "GuideDeviation" ) ))
        self()->mGuideDeviation = v;
    }

    /**
      Get Default maximum permittable guide deviation
    */
    static
    double guideDeviation()
    {
      return self()->mGuideDeviation;
    }

    /**
      Set Default maximum permittable HFR deviation
    */
    static
    void setHFRDeviation( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "HFRDeviation" ) ))
        self()->mHFRDeviation = v;
    }

    /**
      Get Default maximum permittable HFR deviation
    */
    static
    double hFRDeviation()
    {
      return self()->mHFRDeviation;
    }

    /**
      Set Enforce guiding deviation limit.
    */
    static
    void setEnforceGuideDeviation( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "EnforceGuideDeviation" ) ))
        self()->mEnforceGuideDeviation = v;
    }

    /**
      Get Enforce guiding deviation limit.
    */
    static
    bool enforceGuideDeviation()
    {
      return self()->mEnforceGuideDeviation;
    }

    /**
      Set Enforce Autofocus HFR limit.
    */
    static
    void setEnforceAutofocus( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "EnforceAutofocus" ) ))
        self()->mEnforceAutofocus = v;
    }

    /**
      Get Enforce Autofocus HFR limit.
    */
    static
    bool enforceAutofocus()
    {
      return self()->mEnforceAutofocus;
    }

    /**
      Set Enforce temperature settings when taking an image
    */
    static
    void setEnforceTemperatureControl( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "EnforceTemperatureControl" ) ))
        self()->mEnforceTemperatureControl = v;
    }

    /**
      Get Enforce temperature settings when taking an image
    */
    static
    bool enforceTemperatureControl()
    {
      return self()->mEnforceTemperatureControl;
    }

    /**
      Set Default hour angle to perform meridian flip
    */
    static
    void setAutoMeridianHours( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "AutoMeridianHours" ) ))
        self()->mAutoMeridianHours = v;
    }

    /**
      Get Default hour angle to perform meridian flip
    */
    static
    double autoMeridianHours()
    {
      return self()->mAutoMeridianHours;
    }

    /**
      Set Flips the mount when reaching the meridian, if supported.
    */
    static
    void setAutoMeridianFlip( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "AutoMeridianFlip" ) ))
        self()->mAutoMeridianFlip = v;
    }

    /**
      Get Flips the mount when reaching the meridian, if supported.
    */
    static
    bool autoMeridianFlip()
    {
      return self()->mAutoMeridianFlip;
    }

    /**
      Set Parks the telescope when the sequence jobs are complete, if supported.
    */
    static
    void setAutoParkTelescope( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "AutoParkTelescope" ) ))
        self()->mAutoParkTelescope = v;
    }

    /**
      Get Parks the telescope when the sequence jobs are complete, if supported.
    */
    static
    bool autoParkTelescope()
    {
      return self()->mAutoParkTelescope;
    }

    /**
      Set Default Focuser step ticks
    */
    static
    void setFocusTicks( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "FocusTicks" ) ))
        self()->mFocusTicks = v;
    }

    /**
      Get Default Focuser step ticks
    */
    static
    uint focusTicks()
    {
      return self()->mFocusTicks;
    }

    /**
      Set Default Focuser tolerance value
    */
    static
    void setFocusTolerance( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "FocusTolerance" ) ))
        self()->mFocusTolerance = v;
    }

    /**
      Get Default Focuser tolerance value
    */
    static
    double focusTolerance()
    {
      return self()->mFocusTolerance;
    }

    /**
      Set Maximum Focus Travel Distance
    */
    static
    void setFocusMaxTravel( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "FocusMaxTravel" ) ))
        self()->mFocusMaxTravel = v;
    }

    /**
      Get Maximum Focus Travel Distance
    */
    static
    uint focusMaxTravel()
    {
      return self()->mFocusMaxTravel;
    }

    /**
      Set Default Focuser exposure value
    */
    static
    void setFocusExposure( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "FocusExposure" ) ))
        self()->mFocusExposure = v;
    }

    /**
      Get Default Focuser exposure value
    */
    static
    double focusExposure()
    {
      return self()->mFocusExposure;
    }

    /**
      Set Default Focuser star selection box size
    */
    static
    void setFocusBoxSize( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "FocusBoxSize" ) ))
        self()->mFocusBoxSize = v;
    }

    /**
      Get Default Focuser star selection box size
    */
    static
    uint focusBoxSize()
    {
      return self()->mFocusBoxSize;
    }

    /**
      Set Default CCD X binning in focus mode
    */
    static
    void setFocusXBin( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "FocusXBin" ) ))
        self()->mFocusXBin = v;
    }

    /**
      Get Default CCD X binning in focus mode
    */
    static
    uint focusXBin()
    {
      return self()->mFocusXBin;
    }

    /**
      Set Default CCD Y binning in focus mode
    */
    static
    void setFocusYBin( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "FocusYBin" ) ))
        self()->mFocusYBin = v;
    }

    /**
      Get Default CCD Y binning in focus mode
    */
    static
    uint focusYBin()
    {
      return self()->mFocusYBin;
    }

    /**
      Set Subframe the focus star during the autofocus procedure.
    */
    static
    void setFocusSubFrame( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "FocusSubFrame" ) ))
        self()->mFocusSubFrame = v;
    }

    /**
      Get Subframe the focus star during the autofocus procedure.
    */
    static
    bool focusSubFrame()
    {
      return self()->mFocusSubFrame;
    }

    /**
      Set Automatically select a star to focus.
    */
    static
    void setAutoSelectStar( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "AutoSelectStar" ) ))
        self()->mAutoSelectStar = v;
    }

    /**
      Get Automatically select a star to focus.
    */
    static
    bool autoSelectStar()
    {
      return self()->mAutoSelectStar;
    }

    /**
      Set Suspend guiding while autofocus in progress.
    */
    static
    void setSuspendGuiding( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SuspendGuiding" ) ))
        self()->mSuspendGuiding = v;
    }

    /**
      Get Suspend guiding while autofocus in progress.
    */
    static
    bool suspendGuiding()
    {
      return self()->mSuspendGuiding;
    }

    /**
      Set Use specified filter when performing focus regardless of current filter settings.
    */
    static
    void setLockFocusFilter( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "LockFocusFilter" ) ))
        self()->mLockFocusFilter = v;
    }

    /**
      Get Use specified filter when performing focus regardless of current filter settings.
    */
    static
    bool lockFocusFilter()
    {
      return self()->mLockFocusFilter;
    }

    /**
      Set Default alignment exposure value
    */
    static
    void setAlignExposure( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "AlignExposure" ) ))
        self()->mAlignExposure = v;
    }

    /**
      Get Default alignment exposure value
    */
    static
    double alignExposure()
    {
      return self()->mAlignExposure;
    }

    /**
      Set Default CCD X binning while in alignment mode
    */
    static
    void setSolverXBin( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SolverXBin" ) ))
        self()->mSolverXBin = v;
    }

    /**
      Get Default CCD X binning while in alignment mode
    */
    static
    uint solverXBin()
    {
      return self()->mSolverXBin;
    }

    /**
      Set Default CCD Y binning while in alignment mode
    */
    static
    void setSolverYBin( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SolverYBin" ) ))
        self()->mSolverYBin = v;
    }

    /**
      Get Default CCD Y binning while in alignment mode
    */
    static
    uint solverYBin()
    {
      return self()->mSolverYBin;
    }

    /**
      Set Update Solver RA and DEC search coordinates.
    */
    static
    void setSolverUpdateCoords( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SolverUpdateCoords" ) ))
        self()->mSolverUpdateCoords = v;
    }

    /**
      Get Update Solver RA and DEC search coordinates.
    */
    static
    bool solverUpdateCoords()
    {
      return self()->mSolverUpdateCoords;
    }

    /**
      Set Display image in FITS Viewer.
    */
    static
    void setSolverPreview( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SolverPreview" ) ))
        self()->mSolverPreview = v;
    }

    /**
      Get Display image in FITS Viewer.
    */
    static
    bool solverPreview()
    {
      return self()->mSolverPreview;
    }

    /**
      Set Use astrometry.net online solver.
    */
    static
    void setSolverOnline( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SolverOnline" ) ))
        self()->mSolverOnline = v;
    }

    /**
      Get Use astrometry.net online solver.
    */
    static
    bool solverOnline()
    {
      return self()->mSolverOnline;
    }

    /**
      Set Options passed to the astrometry solver.
    */
    static
    void setSolverOptions( const QString & v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SolverOptions" ) ))
        self()->mSolverOptions = v;
    }

    /**
      Get Options passed to the astrometry solver.
    */
    static
    QString solverOptions()
    {
      return self()->mSolverOptions;
    }

    /**
      Set Use Off-Axis Guide Telescope for Alignment FOV calculations
    */
    static
    void setSolverOTA( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SolverOTA" ) ))
        self()->mSolverOTA = v;
    }

    /**
      Get Use Off-Axis Guide Telescope for Alignment FOV calculations
    */
    static
    bool solverOTA()
    {
      return self()->mSolverOTA;
    }

    /**
      Set Action to take if solver if successful (Sync, Slew to Target, or None)
    */
    static
    void setSolverGotoOption( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "SolverGotoOption" ) ))
        self()->mSolverGotoOption = v;
    }

    /**
      Get Action to take if solver if successful (Sync, Slew to Target, or None)
    */
    static
    uint solverGotoOption()
    {
      return self()->mSolverGotoOption;
    }

    /**
      Set Pulse duration in milliseconds used for guiding pulses during calibration stage.
    */
    static
    void setCalibrationPulseDuration( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "CalibrationPulseDuration" ) ))
        self()->mCalibrationPulseDuration = v;
    }

    /**
      Get Pulse duration in milliseconds used for guiding pulses during calibration stage.
    */
    static
    uint calibrationPulseDuration()
    {
      return self()->mCalibrationPulseDuration;
    }

    /**
      Set Automatically calibrate selected axes.
    */
    static
    void setUseAutoMode( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UseAutoMode" ) ))
        self()->mUseAutoMode = v;
    }

    /**
      Get Automatically calibrate selected axes.
    */
    static
    bool useAutoMode()
    {
      return self()->mUseAutoMode;
    }

    /**
      Set Automatically select calibration star and perform calibration.
    */
    static
    void setAutoCalibration( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "AutoCalibration" ) ))
        self()->mAutoCalibration = v;
    }

    /**
      Get Automatically select calibration star and perform calibration.
    */
    static
    bool autoCalibration()
    {
      return self()->mAutoCalibration;
    }

    /**
      Set Number of automode iterations for calibration process.
    */
    static
    void setAutoModeIterations( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "AutoModeIterations" ) ))
        self()->mAutoModeIterations = v;
    }

    /**
      Get Number of automode iterations for calibration process.
    */
    static
    uint autoModeIterations()
    {
      return self()->mAutoModeIterations;
    }

    /**
      Set Use both axes to perform calibration.
    */
    static
    void setUseTwoAxis( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UseTwoAxis" ) ))
        self()->mUseTwoAxis = v;
    }

    /**
      Get Use both axes to perform calibration.
    */
    static
    bool useTwoAxis()
    {
      return self()->mUseTwoAxis;
    }

    /**
      Set Take dark frame for autoguider images.
    */
    static
    void setUseDarkFrame( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UseDarkFrame" ) ))
        self()->mUseDarkFrame = v;
    }

    /**
      Get Take dark frame for autoguider images.
    */
    static
    bool useDarkFrame()
    {
      return self()->mUseDarkFrame;
    }

    /**
      Set How many pixels to move between subsequent exposures under auto dithering mode.
    */
    static
    void setDitherPixels( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DitherPixels" ) ))
        self()->mDitherPixels = v;
    }

    /**
      Get How many pixels to move between subsequent exposures under auto dithering mode.
    */
    static
    double ditherPixels()
    {
      return self()->mDitherPixels;
    }

    /**
      Set Use Auto Dithering when guiding.
    */
    static
    void setUseDither( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "UseDither" ) ))
        self()->mUseDither = v;
    }

    /**
      Get Use Auto Dithering when guiding.
    */
    static
    bool useDither()
    {
      return self()->mUseDither;
    }

    /**
      Set The Adaptive Optics unit is utilized if the guiding deviation is less than this limit in arcseconds. Once exceeded, mechanical guiding is utilized.
    */
    static
    void setAOLimit( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "AOLimit" ) ))
        self()->mAOLimit = v;
    }

    /**
      Get The Adaptive Optics unit is utilized if the guiding deviation is less than this limit in arcseconds. Once exceeded, mechanical guiding is utilized.
    */
    static
    double aOLimit()
    {
      return self()->mAOLimit;
    }

    /**
      Set Enable autoguiding in the RA axis.
    */
    static
    void setEnableRAGuide( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "EnableRAGuide" ) ))
        self()->mEnableRAGuide = v;
    }

    /**
      Get Enable autoguiding in the RA axis.
    */
    static
    bool enableRAGuide()
    {
      return self()->mEnableRAGuide;
    }

    /**
      Set Enable autoguiding in the DEC axis.
    */
    static
    void setEnableDECGuide( bool v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "EnableDECGuide" ) ))
        self()->mEnableDECGuide = v;
    }

    /**
      Get Enable autoguiding in the DEC axis.
    */
    static
    bool enableDECGuide()
    {
      return self()->mEnableDECGuide;
    }

    /**
      Set RAPropotionalGain
    */
    static
    void setRAPropotionalGain( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "RAPropotionalGain" ) ))
        self()->mRAPropotionalGain = v;
    }

    /**
      Get RAPropotionalGain
    */
    static
    double rAPropotionalGain()
    {
      return self()->mRAPropotionalGain;
    }

    /**
      Set DECPropotionalGain
    */
    static
    void setDECPropotionalGain( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DECPropotionalGain" ) ))
        self()->mDECPropotionalGain = v;
    }

    /**
      Get DECPropotionalGain
    */
    static
    double dECPropotionalGain()
    {
      return self()->mDECPropotionalGain;
    }

    /**
      Set RAIntegralGain
    */
    static
    void setRAIntegralGain( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "RAIntegralGain" ) ))
        self()->mRAIntegralGain = v;
    }

    /**
      Get RAIntegralGain
    */
    static
    double rAIntegralGain()
    {
      return self()->mRAIntegralGain;
    }

    /**
      Set DECIntegralGain
    */
    static
    void setDECIntegralGain( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DECIntegralGain" ) ))
        self()->mDECIntegralGain = v;
    }

    /**
      Get DECIntegralGain
    */
    static
    double dECIntegralGain()
    {
      return self()->mDECIntegralGain;
    }

    /**
      Set RADerivativeGain
    */
    static
    void setRADerivativeGain( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "RADerivativeGain" ) ))
        self()->mRADerivativeGain = v;
    }

    /**
      Get RADerivativeGain
    */
    static
    double rADerivativeGain()
    {
      return self()->mRADerivativeGain;
    }

    /**
      Set DECDerivativeGain
    */
    static
    void setDECDerivativeGain( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DECDerivativeGain" ) ))
        self()->mDECDerivativeGain = v;
    }

    /**
      Get DECDerivativeGain
    */
    static
    double dECDerivativeGain()
    {
      return self()->mDECDerivativeGain;
    }

    /**
      Set RAMaximumPulse
    */
    static
    void setRAMaximumPulse( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "RAMaximumPulse" ) ))
        self()->mRAMaximumPulse = v;
    }

    /**
      Get RAMaximumPulse
    */
    static
    uint rAMaximumPulse()
    {
      return self()->mRAMaximumPulse;
    }

    /**
      Set DECMaximumPulse
    */
    static
    void setDECMaximumPulse( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DECMaximumPulse" ) ))
        self()->mDECMaximumPulse = v;
    }

    /**
      Get DECMaximumPulse
    */
    static
    uint dECMaximumPulse()
    {
      return self()->mDECMaximumPulse;
    }

    /**
      Set RAMinimumPulse
    */
    static
    void setRAMinimumPulse( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "RAMinimumPulse" ) ))
        self()->mRAMinimumPulse = v;
    }

    /**
      Get RAMinimumPulse
    */
    static
    uint rAMinimumPulse()
    {
      return self()->mRAMinimumPulse;
    }

    /**
      Set DECMinimumPulse
    */
    static
    void setDECMinimumPulse( uint v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "DECMinimumPulse" ) ))
        self()->mDECMinimumPulse = v;
    }

    /**
      Get DECMinimumPulse
    */
    static
    uint dECMinimumPulse()
    {
      return self()->mDECMinimumPulse;
    }

    /**
      Set GuidingRate
    */
    static
    void setGuidingRate( double v )
    {
      if (!self()->isImmutable( QString::fromLatin1( "GuidingRate" ) ))
        self()->mGuidingRate = v;
    }

    /**
      Get GuidingRate
    */
    static
    double guidingRate()
    {
      return self()->mGuidingRate;
    }

  protected:
    Options();
    friend class OptionsHelper;


    // GUI
    QPoint mPositionTimeBox;
    QPoint mPositionFocusBox;
    QPoint mPositionGeoBox;
    bool mShadeTimeBox;
    bool mShadeFocusBox;
    bool mShadeGeoBox;
    bool mShowInfoBoxes;
    bool mShowTimeBox;
    bool mShowFocusBox;
    bool mShowGeoBox;
    int mStickyTimeBox;
    int mStickyFocusBox;
    int mStickyGeoBox;
    bool mShowStatusBar;
    bool mShowAltAzField;
    bool mShowRADecField;
    uint mWindowWidth;
    uint mWindowHeight;
    bool mRunStartupWizard;

    // Catalogs
    QStringList mCatalogFile;
    QList<int> mShowCatalog;
    QStringList mShowCatalogNames;

    // indi
    bool mUseGeographicUpdate;
    bool mUseTimeUpdate;
    bool mShowTargetCrosshair;
    bool mShowINDIMessages;
    bool mShowFITS;
    bool mSinglePreviewFITS;
    bool mSingleWindowFITS;
    QString mTelescopePort;
    QString mFocuserPort;
    QString mFilterPort;
    QString mAuxPort;
    QString mVideoPort;
    bool mUseComputerSource;
    bool mUseDeviceSource;
    QString mFitsDir;
    QString mServerPortStart;
    QString mServerPortEnd;
    QStringList mFilterAlias;
    QString mIndiServer;
    QString mIndiDriversDir;

    // Location
    QString mCityName;
    QString mProvinceName;
    QString mCountryName;
    double mLongitude;
    double mLatitude;
    double mElevation;
    double mTimeZone;
    QString mDST;

    // View
    bool mUseAnimatedSlewing;
    QStringList mFOVNames;
    bool mFadePlanetTrails;
    double mFocusRA;
    double mFocusDec;
    QString mFocusObject;
    bool mIsTracking;
    bool mHideOnSlew;
    bool mHideCBounds;
    bool mHideCLines;
    uint mSkyCulture;
    bool mHideCNames;
    bool mHideGrids;
    bool mHideMilkyWay;
    bool mHideIC;
    bool mHideMessier;
    bool mHideNGC;
    bool mHideOther;
    bool mHidePlanets;
    bool mHideStars;
    bool mHideLabels;
    bool mShowAsteroids;
    bool mShowAsteroidNames;
    bool mShowComets;
    bool mShowCometNames;
    bool mShowSupernovae;
    bool mShowSupernovaNames;
    double mMagnitudeLimitShowSupernovae;
    bool mShowSupernovaAlerts;
    double mMagnitudeLimitAlertSupernovae;
    bool mUpdateSupernovaeOnStartup;
    bool mShowCBounds;
    bool mShowHighlightedCBound;
    bool mShowCLines;
    bool mShowCNames;
    bool mShowDeepSky;
    bool mShowEcliptic;
    bool mShowEquator;
    bool mAutoSelectGrid;
    bool mShowEquatorialGrid;
    bool mShowHorizontalGrid;
    bool mShowGround;
    bool mShowHorizon;
    bool mShowFlags;
    bool mShowIC;
    bool mShowNGC;
    bool mShowMessier;
    bool mShowMessierImages;
    bool mShowOther;
    bool mShowMilkyWay;
    bool mFillMilkyWay;
    bool mShowSolarSystem;
    bool mShowPlanetImages;
    bool mShowPlanetNames;
    bool mShowSun;
    bool mShowMoon;
    bool mShowMercury;
    bool mShowVenus;
    bool mShowMars;
    bool mShowJupiter;
    bool mShowSaturn;
    bool mShowUranus;
    bool mShowNeptune;
    bool mShowPluto;
    bool mShowStars;
    bool mShowStarMagnitudes;
    bool mShowStarNames;
    bool mShowDeepSkyMagnitudes;
    bool mShowDeepSkyNames;
    double mSlewTimeScale;
    uint mBoxBGMode;
    uint mProjection;
    bool mUseAbbrevConstellNames;
    bool mUseLatinConstellNames;
    bool mUseLocalConstellNames;
    bool mUseAltAz;
    bool mUseAutoLabel;
    bool mUseAutoTrail;
    bool mUseHoverLabel;
    bool mUseRefraction;
    bool mUseRelativistic;
    bool mUseAntialias;
    double mZoomFactor;
    double mMagLimitAsteroid;
    double mAsteroidLabelDensity;
    double mMagLimitDrawDeepSky;
    double mMagLimitDrawDeepSkyZoomOut;
    bool mShowUnknownMagObjects;
    int mStarDensity;
    double mMagLimitHideStar;
    double mStarLabelDensity;
    double mDeepSkyLabelDensity;
    bool mDeepSkyLongLabels;
    double mMaxRadCometName;
    bool mUseGL;
    bool mRunClock;

    // ObservingList
    bool mObsListSymbol;
    bool mObsListText;
    bool mObsListSaveImage;
    bool mObsListPreferDSS;
    bool mObsListPreferSDSS;

    // Colors
    QString mColorSchemeFile;
    bool mDarkAppColors;
    uint mStarColorMode;
    uint mStarColorIntensity;
    QString mAngularRulerColor;
    QString mBoxBGColor;
    QString mBoxGrabColor;
    QString mBoxTextColor;
    QString mCBoundColor;
    QString mCBoundHighColor;
    QString mCLineColor;
    QString mCNameColor;
    QString mCompassColor;
    QString mEclipticColor;
    QString mEquatorColor;
    QString mEquatorialGridColor;
    QString mHorizontalGridColor;
    QString mSpecialObjectColor;
    QString mHorizonColor;
    QString mMessierColor;
    QString mNGCColor;
    QString mICColor;
    QString mMilkyWayWColor;
    QString mStarNameColor;
    QString mDeepSkyNameColor;
    QString mPlanetNameColor;
    QString mPlanetTrailColor;
    QString mSkyColor;
    QString mTelescopeTargetColor;
    QString mVisibleSatColor;
    QString mSatColor;
    QString mSatLabelColor;
    QString mSupernovaColor;
    QString mUserLabelColor;
    QString mRAGuideColor;
    QString mDEGuideColor;
    QString mSolverFOVColor;

    // Xplanet
    QString mXplanetPath;
    QString mXplanetTitle;
    QString mXplanetWidth;
    QString mXplanetHeight;
    bool mXplanetLabel;
    bool mXplanetLabelLocalTime;
    bool mXplanetLabelGMT;
    QString mXplanetLabelString;
    QString mXplanetFontSize;
    QString mXplanetColor;
    QString mXplanetDateFormat;
    bool mXplanetLabelTL;
    bool mXplanetLabelTR;
    bool mXplanetLabelBR;
    bool mXplanetLabelBL;
    QString mXplanetGlare;
    bool mXplanetRandom;
    bool mXplanetLatLong;
    QString mXplanetLatitude;
    QString mXplanetLongitude;
    uint mXplanetProjection;
    bool mXplanetWait;
    QString mXplanetWaitValue;
    bool mXplanetBackground;
    bool mXplanetBackgroundImage;
    QString mXplanetBackgroundImagePath;
    bool mXplanetBackgroundColor;
    QString mXplanetBackgroundColorValue;
    QString mXplanetMagnitude;
    bool mXplanetArcFile;
    QString mXplanetArcFilePath;
    bool mXplanetConfigFile;
    QString mXplanetConfigFilePath;
    bool mXplanetFOV;
    bool mXplanetMarkerFile;
    QString mXplanetMarkerFilePath;
    bool mXplanetMarkerBounds;
    QString mXplanetMarkerBoundsPath;
    bool mXplanetStarmap;
    QString mXplanetStarmapPath;
    QString mXplanetQuality;

    // Satellites
    bool mShowSatellites;
    bool mShowVisibleSatellites;
    bool mDrawSatellitesLikeStars;
    bool mShowSatellitesLabels;
    QStringList mSelectedSatellites;

    // General
    bool mAlwaysRecomputeCoordinates;
    double mDefaultDSSImageSize;
    double mDSSPadding;

    // WISettings
    uint mBortleClass;
    bool mTelescopeCheck;
    bool mBinocularsCheck;
    bool mNoEquipCheck;
    double mBinocularsAperture;
    uint mScopeListWidget;

    // Ekos
    QString mTelescopeDriver;
    QString mCCDDriver;
    QString mGuiderDriver;
    QString mFilterDriver;
    QString mFocuserDriver;
    QString mAuxDriver;
    QString mDomeDriver;
    QString mAODriver;
    QString mRemoteScopeName;
    QString mRemoteCCDName;
    QString mRemoteGuiderName;
    QString mRemoteFocuserName;
    QString mRemoteFilterName;
    QString mRemoteAuxName;
    QString mRemoteDomeName;
    QString mRemoteAOName;
    QString mRemoteHost;
    QString mRemotePort;
    bool mLocalMode;
    bool mRemoteMode;
    bool mNeverLoadConfig;
    bool mLoadConfigOnConnection;
    bool mLoadDefaultConfig;
    bool mPlayFITSAlarm;
    bool mPlayCCDAlarm;
    bool mPlayFocusAlarm;
    bool mPlayGuideAlarm;
    bool mPlayAlignmentAlarm;
    QString mAstrometrySolver;
    QString mAstrometryWCSInfo;
    QString mAstrometryConfFile;
    QString mAstrometryAPIKey;
    QString mAstrometryAPIURL;
    bool mAstrometryUseJPEG;

    // Capture
    double mGuideDeviation;
    double mHFRDeviation;
    bool mEnforceGuideDeviation;
    bool mEnforceAutofocus;
    bool mEnforceTemperatureControl;
    double mAutoMeridianHours;
    bool mAutoMeridianFlip;
    bool mAutoParkTelescope;

    // Focus
    uint mFocusTicks;
    double mFocusTolerance;
    uint mFocusMaxTravel;
    double mFocusExposure;
    uint mFocusBoxSize;
    uint mFocusXBin;
    uint mFocusYBin;
    bool mFocusSubFrame;
    bool mAutoSelectStar;
    bool mSuspendGuiding;
    bool mLockFocusFilter;

    // Align
    double mAlignExposure;
    uint mSolverXBin;
    uint mSolverYBin;
    bool mSolverUpdateCoords;
    bool mSolverPreview;
    bool mSolverOnline;
    QString mSolverOptions;
    bool mSolverOTA;
    uint mSolverGotoOption;

    // Guide
    uint mCalibrationPulseDuration;
    bool mUseAutoMode;
    bool mAutoCalibration;
    uint mAutoModeIterations;
    bool mUseTwoAxis;
    bool mUseDarkFrame;
    double mDitherPixels;
    bool mUseDither;
    double mAOLimit;
    bool mEnableRAGuide;
    bool mEnableDECGuide;
    double mRAPropotionalGain;
    double mDECPropotionalGain;
    double mRAIntegralGain;
    double mDECIntegralGain;
    double mRADerivativeGain;
    double mDECDerivativeGain;
    uint mRAMaximumPulse;
    uint mDECMaximumPulse;
    uint mRAMinimumPulse;
    uint mDECMinimumPulse;
    double mGuidingRate;

  private:
};

#endif

