// 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>

#include <ksutils.h>
class Options : public KConfigSkeleton
{
  public:

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

    /**
      Set Position of the time InfoBox.
    */
    static
    void setPositionTimeBox( const QPoint & v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "ShowRADecField" ) ))
        self()->mShowRADecField = v;
    }

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

    /**
      Set Display J2000.0 RA/Dec coordinates in the statusbar?
    */
    static
    void setShowJ2000RADecField( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "ShowJ2000RADecField" ) ))
        self()->mShowJ2000RADecField = v;
    }

    /**
      Get Display J2000.0 RA/Dec coordinates in the statusbar?
    */
    static
    bool showJ2000RADecField()
    {
      return self()->mShowJ2000RADecField;
    }

    /**
      Set Width of main window, in pixels
    */
    static
    void setWindowWidth( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "ShowCatalogNames" ) ))
        self()->mShowCatalogNames = v;
    }

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

    /**
      Set Resolve names using online services.
    */
    static
    void setResolveNamesOnline( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "ResolveNamesOnline" ) ))
        self()->mResolveNamesOnline = v;
    }

    /**
      Get Resolve names using online services.
    */
    static
    bool resolveNamesOnline()
    {
      return self()->mResolveNamesOnline;
    }

    /**
      Set INDI window width
    */
    static
    void setINDIWindowWidth( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "INDIWindowWidth" ) ))
        self()->mINDIWindowWidth = v;
    }

    /**
      Get INDI window width
    */
    static
    uint iNDIWindowWidth()
    {
      return self()->mINDIWindowWidth;
    }

    /**
      Set INDI window height
    */
    static
    void setINDIWindowHeight( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "INDIWindowHeight" ) ))
        self()->mINDIWindowHeight = v;
    }

    /**
      Get INDI window height
    */
    static
    uint iNDIWindowHeight()
    {
      return self()->mINDIWindowHeight;
    }

    /**
      Set Automatically updates geographic location?
    */
    static
    void setUseGeographicUpdate( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "useTimeUpdate" ) ))
        self()->mUseTimeUpdate = v;
    }

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

    /**
      Set Make INDI Control Panel window independent of KStars main window
    */
    static
    void setIndependentWindowINDI( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "independentWindowINDI" ) ))
        self()->mIndependentWindowINDI = v;
    }

    /**
      Get Make INDI Control Panel window independent of KStars main window
    */
    static
    bool independentWindowINDI()
    {
      return self()->mIndependentWindowINDI;
    }

    /**
      Set Draw crosshairs at telescope position in the sky map?
    */
    static
    void setShowTargetCrosshair( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "showINDIMessages" ) ))
        self()->mShowINDIMessages = v;
    }

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

    /**
      Set Use computer time and location for synchronization?
    */
    static
    void setUseComputerSource( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "indiServer" ) ))
        self()->mIndiServer = v;
    }

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

    /**
      Set Internal or External INDI Server?
    */
    static
    void setIndiServerIsInternal( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "indiServerIsInternal" ) ))
        self()->mIndiServerIsInternal = v;
    }

    /**
      Get Internal or External INDI Server?
    */
    static
    bool indiServerIsInternal()
    {
      return self()->mIndiServerIsInternal;
    }

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

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

    /**
      Set Internal or External Astrometry Solver?
    */
    static
    void setIndiDriversAreInternal( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "indiDriversAreInternal" ) ))
        self()->mIndiDriversAreInternal = v;
    }

    /**
      Get Internal or External Astrometry Solver?
    */
    static
    bool indiDriversAreInternal()
    {
      return self()->mIndiDriversAreInternal;
    }

    /**
      Set Video streaming window width
    */
    static
    void setStreamWindowWidth( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "streamWindowWidth" ) ))
        self()->mStreamWindowWidth = v;
    }

    /**
      Get Video streaming window width
    */
    static
    uint streamWindowWidth()
    {
      return self()->mStreamWindowWidth;
    }

    /**
      Set Video streaming window height
    */
    static
    void setStreamWindowHeight( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "streamWindowHeight" ) ))
        self()->mStreamWindowHeight = v;
    }

    /**
      Get Video streaming window height
    */
    static
    uint streamWindowHeight()
    {
      return self()->mStreamWindowHeight;
    }

    /**
      Set City name of geographic location.
    */
    static
    void setCityName( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "ShowComets" ) ))
        self()->mShowComets = v;
    }

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

    /**
      Set Draw comet comas in the sky map?
    */
    static
    void setShowCometComas( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "ShowCometComas" ) ))
        self()->mShowCometComas = v;
    }

    /**
      Get Draw comet comas in the sky map?
    */
    static
    bool showCometComas()
    {
      return self()->mShowCometComas;
    }

    /**
      Set Label comet names in the sky map?
    */
    static
    void setShowCometNames( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "MagnitudeLimitAlertSupernovae" ) ))
        self()->mMagnitudeLimitAlertSupernovae = v;
    }

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

    /**
      Set Draw constellation boundaries in the sky map?
    */
    static
    void setShowCBounds( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "ShowCLines" ) ))
        self()->mShowCLines = v;
    }

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

    /**
      Set Draw constellation art in the sky map?
    */
    static
    void setShowConstellationArt( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "ShowConstellationArt" ) ))
        self()->mShowConstellationArt = v;
    }

    /**
      Get Draw constellation art in the sky map?
    */
    static
    bool showConstellationArt()
    {
      return self()->mShowConstellationArt;
    }

    /**
      Set Draw constellation names in the sky map?
    */
    static
    void setShowCNames( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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 < 250.)
      {
        qDebug() << "setZoomFactor: value " << v << " is less than the minimum value of 250.";
        v = 250.;
      }

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

      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "MagLimitAsteroid" ) ))
        self()->mMagLimitAsteroid = v;
    }

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

    /**
      Set Maximum magnitude for asteroids to be downloaded from JPL.
    */
    static
    void setMagLimitAsteroidDownload( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "MagLimitAsteroidDownload" ) ))
        self()->mMagLimitAsteroidDownload = v;
    }

    /**
      Get Maximum magnitude for asteroids to be downloaded from JPL.
    */
    static
    double magLimitAsteroidDownload()
    {
      return self()->mMagLimitAsteroidDownload;
    }

    /**
      Set Label density for asteroid names
    */
    static
    void setAsteroidLabelDensity( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "ObsListText" ) ))
        self()->mObsListText = v;
    }

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

    /**
      Set Prefer Digitized Sky Survey imagery in the observing list
    */
    static
    void setObsListPreferDSS( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "ObsListPreferSDSS" ) ))
        self()->mObsListPreferSDSS = v;
    }

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

    /**
      Set While sorting by percentage altitude in the observing list, demote objects present in the Dobsonian hole
    */
    static
    void setObsListDemoteHole( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "ObsListDemoteHole" ) ))
        self()->mObsListDemoteHole = v;
    }

    /**
      Get While sorting by percentage altitude in the observing list, demote objects present in the Dobsonian hole
    */
    static
    bool obsListDemoteHole()
    {
      return self()->mObsListDemoteHole;
    }

    /**
      Set This is the angular distance from the zenith, in degrees, below which you can easily point your telescope.
    */
    static
    void setObsListHoleSize( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "ObsListHoleSize" ) ))
        self()->mObsListHoleSize = v;
    }

    /**
      Get This is the angular distance from the zenith, in degrees, below which you can easily point your telescope.
    */
    static
    double obsListHoleSize()
    {
      return self()->mObsListHoleSize;
    }

    /**
      Set The name of the color scheme
    */
    static
    void setColorSchemeFile( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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 > 4)
      {
        qDebug() << "setStarColorMode: value " << v << " is greater than the maximum value of 4";
        v = 4;
      }

      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "SkyColor" ) ))
        self()->mSkyColor = v;
    }

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

    /**
      Set Color Artificial Horizon
    */
    static
    void setArtificialHorizonColor( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "ArtificialHorizonColor" ) ))
        self()->mArtificialHorizonColor = v;
    }

    /**
      Get Color Artificial Horizon
    */
    static
    QString artificialHorizonColor()
    {
      return self()->mArtificialHorizonColor;
    }

    /**
      Set Color of telescope symbols
    */
    static
    void setTelescopeTargetColor( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "SolverFOVColor" ) ))
        self()->mSolverFOVColor = v;
    }

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

    /**
      Set Internal or External XPlanet?
    */
    static
    void setXplanetIsInternal( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "xplanetIsInternal" ) ))
        self()->mXplanetIsInternal = v;
    }

    /**
      Get Internal or External XPlanet?
    */
    static
    bool xplanetIsInternal()
    {
      return self()->mXplanetIsInternal;
    }

    /**
      Set Path to xplanet binary
    */
    static
    void setXplanetPath( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "XplanetDateFormat" ) ))
        self()->mXplanetDateFormat = v;
    }

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

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

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

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

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

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

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

    /**
      Set Bottom left
    */
    static
    void setXplanetLabelBL( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "XplanetLongitude" ) ))
        self()->mXplanetLongitude = v;
    }

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

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

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

    /**
      Set Update view
    */
    static
    void setXplanetWait( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "XplanetMagnitude" ) ))
        self()->mXplanetMagnitude = v;
    }

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

    /**
      Set Arc file
    */
    static
    void setXplanetArcFile( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "DSSPadding" ) ))
        self()->mDSSPadding = v;
    }

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

    /**
      Set Enable Verbose Logging
    */
    static
    void setVerboseLogging( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "VerboseLogging" ) ))
        self()->mVerboseLogging = v;
    }

    /**
      Get Enable Verbose Logging
    */
    static
    bool verboseLogging()
    {
      return self()->mVerboseLogging;
    }

    /**
      Set Enable Regular Logging
    */
    static
    void setRegularLogging( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "RegularLogging" ) ))
        self()->mRegularLogging = v;
    }

    /**
      Get Enable Regular Logging
    */
    static
    bool regularLogging()
    {
      return self()->mRegularLogging;
    }

    /**
      Set Disable Verbose Logging
    */
    static
    void setDisableLogging( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "DisableLogging" ) ))
        self()->mDisableLogging = v;
    }

    /**
      Get Disable Verbose Logging
    */
    static
    bool disableLogging()
    {
      return self()->mDisableLogging;
    }

    /**
      Set Log debug message to default output
    */
    static
    void setLogToDefault( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "LogToDefault" ) ))
        self()->mLogToDefault = v;
    }

    /**
      Get Log debug message to default output
    */
    static
    bool logToDefault()
    {
      return self()->mLogToDefault;
    }

    /**
      Set Log debug message to a log file
    */
    static
    void setLogToFile( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "LogToFile" ) ))
        self()->mLogToFile = v;
    }

    /**
      Get Log debug message to a log file
    */
    static
    bool logToFile()
    {
      return self()->mLogToFile;
    }

    /**
      Set FITSLogging
    */
    static
    void setFITSLogging( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "FITSLogging" ) ))
        self()->mFITSLogging = v;
    }

    /**
      Get FITSLogging
    */
    static
    bool fITSLogging()
    {
      return self()->mFITSLogging;
    }

    /**
      Set INDILogging
    */
    static
    void setINDILogging( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "INDILogging" ) ))
        self()->mINDILogging = v;
    }

    /**
      Get INDILogging
    */
    static
    bool iNDILogging()
    {
      return self()->mINDILogging;
    }

    /**
      Set CaptureLogging
    */
    static
    void setCaptureLogging( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "CaptureLogging" ) ))
        self()->mCaptureLogging = v;
    }

    /**
      Get CaptureLogging
    */
    static
    bool captureLogging()
    {
      return self()->mCaptureLogging;
    }

    /**
      Set FocusLogging
    */
    static
    void setFocusLogging( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "FocusLogging" ) ))
        self()->mFocusLogging = v;
    }

    /**
      Get FocusLogging
    */
    static
    bool focusLogging()
    {
      return self()->mFocusLogging;
    }

    /**
      Set GuideLogging
    */
    static
    void setGuideLogging( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "GuideLogging" ) ))
        self()->mGuideLogging = v;
    }

    /**
      Get GuideLogging
    */
    static
    bool guideLogging()
    {
      return self()->mGuideLogging;
    }

    /**
      Set AlignmentLogging
    */
    static
    void setAlignmentLogging( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AlignmentLogging" ) ))
        self()->mAlignmentLogging = v;
    }

    /**
      Get AlignmentLogging
    */
    static
    bool alignmentLogging()
    {
      return self()->mAlignmentLogging;
    }

    /**
      Set MountLogging
    */
    static
    void setMountLogging( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "MountLogging" ) ))
        self()->mMountLogging = v;
    }

    /**
      Get MountLogging
    */
    static
    bool mountLogging()
    {
      return self()->mMountLogging;
    }

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

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

    /**
      Set Display all captured FITS in one window?
    */
    static
    void setSingleWindowCapturedFITS( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "singleWindowCapturedFITS" ) ))
        self()->mSingleWindowCapturedFITS = v;
    }

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

    /**
      Set Display all opened FITS in one window?
    */
    static
    void setSingleWindowOpenedFITS( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "singleWindowOpenedFITS" ) ))
        self()->mSingleWindowOpenedFITS = v;
    }

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

    /**
      Set Make FITS Viewer window independent of KStars main window
    */
    static
    void setIndependentWindowFITS( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "independentWindowFITS" ) ))
        self()->mIndependentWindowFITS = v;
    }

    /**
      Get Make FITS Viewer window independent of KStars main window
    */
    static
    bool independentWindowFITS()
    {
      return self()->mIndependentWindowFITS;
    }

    /**
      Set Automatically debayer a FITS image if it is contains a bayer pattern
    */
    static
    void setAutoDebayer( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AutoDebayer" ) ))
        self()->mAutoDebayer = v;
    }

    /**
      Get Automatically debayer a FITS image if it is contains a bayer pattern
    */
    static
    bool autoDebayer()
    {
      return self()->mAutoDebayer;
    }

    /**
      Set Process 3D FITS Cube (RGB). If false, only first channel is processed.
    */
    static
    void setAuto3DCube( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "Auto3DCube" ) ))
        self()->mAuto3DCube = v;
    }

    /**
      Get Process 3D FITS Cube (RGB). If false, only first channel is processed.
    */
    static
    bool auto3DCube()
    {
      return self()->mAuto3DCube;
    }

    /**
      Set Automatically process World-Coordinate-System (WCS) data when loading a FITS file.
    */
    static
    void setAutoWCS( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AutoWCS" ) ))
        self()->mAutoWCS = v;
    }

    /**
      Get Automatically process World-Coordinate-System (WCS) data when loading a FITS file.
    */
    static
    bool autoWCS()
    {
      return self()->mAutoWCS;
    }

    /**
      Set Conserve CPU and memory by disabling all resource-intensive features in FITS Viewer
    */
    static
    void setLimitedResourcesMode( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "LimitedResourcesMode" ) ))
        self()->mLimitedResourcesMode = v;
    }

    /**
      Get Conserve CPU and memory by disabling all resource-intensive features in FITS Viewer
    */
    static
    bool limitedResourcesMode()
    {
      return self()->mLimitedResourcesMode;
    }

    /**
      Set Bortle dark-sky rating
    */
    static
    void setBortleClass( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "BinocularsCheck" ) ))
        self()->mBinocularsCheck = v;
    }

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

    /**
      Set Aperture of available binocular
    */
    static
    void setBinocularsAperture( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "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 setScopeListIndex( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "ScopeListIndex" ) ))
        self()->mScopeListIndex = v;
    }

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

    /**
      Set Ekos window width
    */
    static
    void setEkosWindowWidth( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "EkosWindowWidth" ) ))
        self()->mEkosWindowWidth = v;
    }

    /**
      Get Ekos window width
    */
    static
    uint ekosWindowWidth()
    {
      return self()->mEkosWindowWidth;
    }

    /**
      Set Ekos window height
    */
    static
    void setEkosWindowHeight( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "EkosWindowHeight" ) ))
        self()->mEkosWindowHeight = v;
    }

    /**
      Get Ekos window height
    */
    static
    uint ekosWindowHeight()
    {
      return self()->mEkosWindowHeight;
    }

    /**
      Set Ekos modules icons are placed on the top of pages
    */
    static
    void setEkosTopIcons( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "EkosTopIcons" ) ))
        self()->mEkosTopIcons = v;
    }

    /**
      Get Ekos modules icons are placed on the top of pages
    */
    static
    bool ekosTopIcons()
    {
      return self()->mEkosTopIcons;
    }

    /**
      Set Ekos modules icons are placed to the left of pages
    */
    static
    void setEkosLeftIcons( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "EkosLeftIcons" ) ))
        self()->mEkosLeftIcons = v;
    }

    /**
      Get Ekos modules icons are placed to the left of pages
    */
    static
    bool ekosLeftIcons()
    {
      return self()->mEkosLeftIcons;
    }

    /**
      Set Make Ekos window independent of KStars main window
    */
    static
    void setIndependentWindowEkos( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "independentWindowEkos" ) ))
        self()->mIndependentWindowEkos = v;
    }

    /**
      Get Make Ekos window independent of KStars main window
    */
    static
    bool independentWindowEkos()
    {
      return self()->mIndependentWindowEkos;
    }

    /**
      Set Ekos drivers profile
    */
    static
    void setProfile( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "profile" ) ))
        self()->mProfile = v;
    }

    /**
      Get Ekos drivers profile
    */
    static
    QString profile()
    {
      return self()->mProfile;
    }

    /**
      Set Never load device configuration?
    */
    static
    void setNeverLoadConfig( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "loadDefaultConfig" ) ))
        self()->mLoadDefaultConfig = v;
    }

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

    /**
      Set Maximum acceptable difference between current and recorded dark frame temperature set point. When the difference exceeds this value, a new dark frame shall be captured for this set point.
    */
    static
    void setMaxDarkTemperatureDiff( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "MaxDarkTemperatureDiff" ) ))
        self()->mMaxDarkTemperatureDiff = v;
    }

    /**
      Get Maximum acceptable difference between current and recorded dark frame temperature set point. When the difference exceeds this value, a new dark frame shall be captured for this set point.
    */
    static
    double maxDarkTemperatureDiff()
    {
      return self()->mMaxDarkTemperatureDiff;
    }

    /**
      Set List of CCDs with mechanical or electronic shutters.
    */
    static
    void setShutterfulCCDs( const QStringList & v )
    {
      if (!self()->isImmutable( QStringLiteral( "shutterfulCCDs" ) ))
        self()->mShutterfulCCDs = v;
    }

    /**
      Get List of CCDs with mechanical or electronic shutters.
    */
    static
    QStringList shutterfulCCDs()
    {
      return self()->mShutterfulCCDs;
    }

    /**
      Set List of CCDs without mechanical or electronic shutters.
    */
    static
    void setShutterlessCCDs( const QStringList & v )
    {
      if (!self()->isImmutable( QStringLiteral( "shutterlessCCDs" ) ))
        self()->mShutterlessCCDs = v;
    }

    /**
      Get List of CCDs without mechanical or electronic shutters.
    */
    static
    QStringList shutterlessCCDs()
    {
      return self()->mShutterlessCCDs;
    }

    /**
      Set Default minimum mount altitude limit
    */
    static
    void setMinimumAltLimit( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "MinimumAltLimit" ) ))
        self()->mMinimumAltLimit = v;
    }

    /**
      Get Default minimum mount altitude limit
    */
    static
    double minimumAltLimit()
    {
      return self()->mMinimumAltLimit;
    }

    /**
      Set Default maximum mount altitude limit.
    */
    static
    void setMaximumAltLimit( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "MaximumAltLimit" ) ))
        self()->mMaximumAltLimit = v;
    }

    /**
      Get Default maximum mount altitude limit.
    */
    static
    double maximumAltLimit()
    {
      return self()->mMaximumAltLimit;
    }

    /**
      Set Enable mount altitude limits.
    */
    static
    void setEnableAltitudeLimits( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "EnableAltitudeLimits" ) ))
        self()->mEnableAltitudeLimits = v;
    }

    /**
      Get Enable mount altitude limits.
    */
    static
    bool enableAltitudeLimits()
    {
      return self()->mEnableAltitudeLimits;
    }

    /**
      Set Default capture module CCD.
    */
    static
    void setDefaultCaptureCCD( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "DefaultCaptureCCD" ) ))
        self()->mDefaultCaptureCCD = v;
    }

    /**
      Get Default capture module CCD.
    */
    static
    QString defaultCaptureCCD()
    {
      return self()->mDefaultCaptureCCD;
    }

    /**
      Set Default observer full name.
    */
    static
    void setDefaultObserver( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "DefaultObserver" ) ))
        self()->mDefaultObserver = v;
    }

    /**
      Get Default observer full name.
    */
    static
    QString defaultObserver()
    {
      return self()->mDefaultObserver;
    }

    /**
      Set Default maximum permittable guide deviation
    */
    static
    void setGuideDeviation( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "EnforceAutofocus" ) ))
        self()->mEnforceAutofocus = v;
    }

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

    /**
      Set Default hour angle to perform meridian flip
    */
    static
    void setAutoMeridianHours( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "AutoMeridianFlip" ) ))
        self()->mAutoMeridianFlip = v;
    }

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

    /**
      Set Desired flat field ADU percentage
    */
    static
    void setADUValue( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "ADUValue" ) ))
        self()->mADUValue = v;
    }

    /**
      Get Desired flat field ADU percentage
    */
    static
    uint aDUValue()
    {
      return self()->mADUValue;
    }

    /**
      Set Maximum acceptable difference between requested and measured temperature set point.
    */
    static
    void setMaxTemperatureDiff( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "MaxTemperatureDiff" ) ))
        self()->mMaxTemperatureDiff = v;
    }

    /**
      Get Maximum acceptable difference between requested and measured temperature set point.
    */
    static
    double maxTemperatureDiff()
    {
      return self()->mMaxTemperatureDiff;
    }

    /**
      Set When starting a new capture job, check if files were previously captured and resume capture afterwards.
    */
    static
    void setRememberJobProgress( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "RememberJobProgress" ) ))
        self()->mRememberJobProgress = v;
    }

    /**
      Get When starting a new capture job, check if files were previously captured and resume capture afterwards.
    */
    static
    bool rememberJobProgress()
    {
      return self()->mRememberJobProgress;
    }

    /**
      Set Increase autofocus HFR value by this percentage gain and store it in Capture Module.
    */
    static
    void setHFRThresholdPercentage( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "HFRThresholdPercentage" ) ))
        self()->mHFRThresholdPercentage = v;
    }

    /**
      Get Increase autofocus HFR value by this percentage gain and store it in Capture Module.
    */
    static
    double hFRThresholdPercentage()
    {
      return self()->mHFRThresholdPercentage;
    }

    /**
      Set Reuse dark frames from the dark library for this many days. If exceeded, a new dark frame shall be captured and stored for future use.
    */
    static
    void setDarkLibraryDuration( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "DarkLibraryDuration" ) ))
        self()->mDarkLibraryDuration = v;
    }

    /**
      Get Reuse dark frames from the dark library for this many days. If exceeded, a new dark frame shall be captured and stored for future use.
    */
    static
    uint darkLibraryDuration()
    {
      return self()->mDarkLibraryDuration;
    }

    /**
      Set Perform an autofocus operation when changing filter wheels during an exposure sequence.
    */
    static
    void setAutoFocusOnFilterChange( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AutoFocusOnFilterChange" ) ))
        self()->mAutoFocusOnFilterChange = v;
    }

    /**
      Get Perform an autofocus operation when changing filter wheels during an exposure sequence.
    */
    static
    bool autoFocusOnFilterChange()
    {
      return self()->mAutoFocusOnFilterChange;
    }

    /**
      Set Perform auto stretch on captured images in FITS Viewer.
    */
    static
    void setAutoStretch( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AutoStretch" ) ))
        self()->mAutoStretch = v;
    }

    /**
      Get Perform auto stretch on captured images in FITS Viewer.
    */
    static
    bool autoStretch()
    {
      return self()->mAutoStretch;
    }

    /**
      Set Display every image captured in the sequence in a FitsViewer window.
    */
    static
    void setUseFITSViewerInCapture( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "useFITSViewerInCapture" ) ))
        self()->mUseFITSViewerInCapture = v;
    }

    /**
      Get Display every image captured in the sequence in a FitsViewer window.
    */
    static
    bool useFITSViewerInCapture()
    {
      return self()->mUseFITSViewerInCapture;
    }

    /**
      Set Default focus module CCD.
    */
    static
    void setDefaultFocusCCD( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "DefaultFocusCCD" ) ))
        self()->mDefaultFocusCCD = v;
    }

    /**
      Get Default focus module CCD.
    */
    static
    QString defaultFocusCCD()
    {
      return self()->mDefaultFocusCCD;
    }

    /**
      Set Default Focuser step ticks
    */
    static
    void setFocusTicks( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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 setFocusAutoStarEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "FocusAutoStarEnabled" ) ))
        self()->mFocusAutoStarEnabled = v;
    }

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

    /**
      Set Suspend guiding while autofocus in progress.
    */
    static
    void setSuspendGuiding( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "LockFocusFilter" ) ))
        self()->mLockFocusFilter = v;
    }

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

    /**
      Set Use specified filter index when performing focus regardless of current filter settings.
    */
    static
    void setLockFocusFilterIndex( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "LockFocusFilterIndex" ) ))
        self()->mLockFocusFilterIndex = v;
    }

    /**
      Get Use specified filter index when performing focus regardless of current filter settings.
    */
    static
    uint lockFocusFilterIndex()
    {
      return self()->mLockFocusFilterIndex;
    }

    /**
      Set Take a dark frame and subtract it before running autofocus operation.
    */
    static
    void setUseFocusDarkFrame( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "UseFocusDarkFrame" ) ))
        self()->mUseFocusDarkFrame = v;
    }

    /**
      Get Take a dark frame and subtract it before running autofocus operation.
    */
    static
    bool useFocusDarkFrame()
    {
      return self()->mUseFocusDarkFrame;
    }

    /**
      Set Image filter to be applied to focus image upon loading.
    */
    static
    void setFocusEffect( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "FocusEffect" ) ))
        self()->mFocusEffect = v;
    }

    /**
      Get Image filter to be applied to focus image upon loading.
    */
    static
    uint focusEffect()
    {
      return self()->mFocusEffect;
    }

    /**
      Set Relative percentage strength of centroid edge pixel strength to average pixel value.
    */
    static
    void setFocusThreshold( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "FocusThreshold" ) ))
        self()->mFocusThreshold = v;
    }

    /**
      Get Relative percentage strength of centroid edge pixel strength to average pixel value.
    */
    static
    double focusThreshold()
    {
      return self()->mFocusThreshold;
    }

    /**
      Set Star detection algorithm
    */
    static
    void setFocusDetection( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "FocusDetection" ) ))
        self()->mFocusDetection = v;
    }

    /**
      Get Star detection algorithm
    */
    static
    uint focusDetection()
    {
      return self()->mFocusDetection;
    }

    /**
      Set Focus process algorithm
    */
    static
    void setFocusAlgorithm( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "FocusAlgorithm" ) ))
        self()->mFocusAlgorithm = v;
    }

    /**
      Get Focus process algorithm
    */
    static
    uint focusAlgorithm()
    {
      return self()->mFocusAlgorithm;
    }

    /**
      Set Default align module CCD.
    */
    static
    void setDefaultAlignCCD( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "DefaultAlignCCD" ) ))
        self()->mDefaultAlignCCD = v;
    }

    /**
      Get Default align module CCD.
    */
    static
    QString defaultAlignCCD()
    {
      return self()->mDefaultAlignCCD;
    }

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

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

    /**
      Set Default CCD binning index while in alignment mode
    */
    static
    void setSolverBinningIndex( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "SolverBinningIndex" ) ))
        self()->mSolverBinningIndex = v;
    }

    /**
      Get Default CCD binning index while in alignment mode
    */
    static
    uint solverBinningIndex()
    {
      return self()->mSolverBinningIndex;
    }

    /**
      Set AstrometrySolverVerbose
    */
    static
    void setAstrometrySolverVerbose( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometrySolverVerbose" ) ))
        self()->mAstrometrySolverVerbose = v;
    }

    /**
      Get AstrometrySolverVerbose
    */
    static
    bool astrometrySolverVerbose()
    {
      return self()->mAstrometrySolverVerbose;
    }

    /**
      Set Set solver type (online, offline, remote).
    */
    static
    void setSolverType( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "SolverType" ) ))
        self()->mSolverType = v;
    }

    /**
      Get Set solver type (online, offline, remote).
    */
    static
    uint solverType()
    {
      return self()->mSolverType;
    }

    /**
      Set List of CCDs using Guide Scope parameters instead of Primary Scope
    */
    static
    void setGuideScopeCCDs( const QStringList & v )
    {
      if (!self()->isImmutable( QStringLiteral( "GuideScopeCCDs" ) ))
        self()->mGuideScopeCCDs = v;
    }

    /**
      Get List of CCDs using Guide Scope parameters instead of Primary Scope
    */
    static
    QStringList guideScopeCCDs()
    {
      return self()->mGuideScopeCCDs;
    }

    /**
      Set Action to take if solver if successful (Sync, Slew to Target, or None)
    */
    static
    void setSolverGotoOption( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "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 World Coordinate System (WCS). WCS is used to encode RA/DEC coordinates in captured CCD images.
    */
    static
    void setAstrometrySolverWCS( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometrySolverWCS" ) ))
        self()->mAstrometrySolverWCS = v;
    }

    /**
      Get World Coordinate System (WCS). WCS is used to encode RA/DEC coordinates in captured CCD images.
    */
    static
    bool astrometrySolverWCS()
    {
      return self()->mAstrometrySolverWCS;
    }

    /**
      Set Display received FITS images unto solver FOV rectangle in the sky map.
    */
    static
    void setAstrometrySolverOverlay( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometrySolverOverlay" ) ))
        self()->mAstrometrySolverOverlay = v;
    }

    /**
      Get Display received FITS images unto solver FOV rectangle in the sky map.
    */
    static
    bool astrometrySolverOverlay()
    {
      return self()->mAstrometrySolverOverlay;
    }

    /**
      Set Accuracy threshold in arcseconds between solution and target coordinates.
    */
    static
    void setSolverAccuracyThreshold( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "SolverAccuracyThreshold" ) ))
        self()->mSolverAccuracyThreshold = v;
    }

    /**
      Get Accuracy threshold in arcseconds between solution and target coordinates.
    */
    static
    uint solverAccuracyThreshold()
    {
      return self()->mSolverAccuracyThreshold;
    }

    /**
      Set Take a dark frame and subtract it before running astrometry operation.
    */
    static
    void setAlignDarkFrame( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AlignDarkFrame" ) ))
        self()->mAlignDarkFrame = v;
    }

    /**
      Get Take a dark frame and subtract it before running astrometry operation.
    */
    static
    bool alignDarkFrame()
    {
      return self()->mAlignDarkFrame;
    }

    /**
      Set Time to wait in milliseconds after telescope slewing is complete before starting the next capture.
    */
    static
    void setSettlingTime( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "SettlingTime" ) ))
        self()->mSettlingTime = v;
    }

    /**
      Get Time to wait in milliseconds after telescope slewing is complete before starting the next capture.
    */
    static
    uint settlingTime()
    {
      return self()->mSettlingTime;
    }

    /**
      Set Do not sanitize FITS. This option should only be checked if astrometry.net version is 0.67 or earlier. Uncheck for any versions greater than 0.67.
    */
    static
    void setAstrometryUseNoFITS2FITS( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryUseNoFITS2FITS" ) ))
        self()->mAstrometryUseNoFITS2FITS = v;
    }

    /**
      Get Do not sanitize FITS. This option should only be checked if astrometry.net version is 0.67 or earlier. Uncheck for any versions greater than 0.67.
    */
    static
    bool astrometryUseNoFITS2FITS()
    {
      return self()->mAstrometryUseNoFITS2FITS;
    }

    /**
      Set Check this option if your image does not have much nebulosity. If it does have strong nebulosity, uncheck it.
    */
    static
    void setAstrometryUseResort( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryUseResort" ) ))
        self()->mAstrometryUseResort = v;
    }

    /**
      Get Check this option if your image does not have much nebulosity. If it does have strong nebulosity, uncheck it.
    */
    static
    bool astrometryUseResort()
    {
      return self()->mAstrometryUseResort;
    }

    /**
      Set This will prevent the solver from looking at an already existing WCS Header before blindly trying to solve the image. It is recommended to keep it checked.
    */
    static
    void setAstrometryUseNoVerify( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryUseNoVerify" ) ))
        self()->mAstrometryUseNoVerify = v;
    }

    /**
      Get This will prevent the solver from looking at an already existing WCS Header before blindly trying to solve the image. It is recommended to keep it checked.
    */
    static
    bool astrometryUseNoVerify()
    {
      return self()->mAstrometryUseNoVerify;
    }

    /**
      Set Set image scale to speed up solver as it does not have to search index files of different image scales.
    */
    static
    void setAstrometryUseImageScale( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryUseImageScale" ) ))
        self()->mAstrometryUseImageScale = v;
    }

    /**
      Get Set image scale to speed up solver as it does not have to search index files of different image scales.
    */
    static
    bool astrometryUseImageScale()
    {
      return self()->mAstrometryUseImageScale;
    }

    /**
      Set Lower image scale.
    */
    static
    void setAstrometryImageScaleLow( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryImageScaleLow" ) ))
        self()->mAstrometryImageScaleLow = v;
    }

    /**
      Get Lower image scale.
    */
    static
    double astrometryImageScaleLow()
    {
      return self()->mAstrometryImageScaleLow;
    }

    /**
      Set Upper image scale.
    */
    static
    void setAstrometryImageScaleHigh( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryImageScaleHigh" ) ))
        self()->mAstrometryImageScaleHigh = v;
    }

    /**
      Get Upper image scale.
    */
    static
    double astrometryImageScaleHigh()
    {
      return self()->mAstrometryImageScaleHigh;
    }

    /**
      Set Automatically update image scale when CCD or Mount parameters are updated.
    */
    static
    void setAstrometryAutoUpdateImageScale( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryAutoUpdateImageScale" ) ))
        self()->mAstrometryAutoUpdateImageScale = v;
    }

    /**
      Get Automatically update image scale when CCD or Mount parameters are updated.
    */
    static
    bool astrometryAutoUpdateImageScale()
    {
      return self()->mAstrometryAutoUpdateImageScale;
    }

    /**
      Set Image scale units in arcminutes (aw), degrees (dw), or arcsec per pixel (app)
    */
    static
    void setAstrometryImageScaleUnits( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryImageScaleUnits" ) ))
        self()->mAstrometryImageScaleUnits = v;
    }

    /**
      Get Image scale units in arcminutes (aw), degrees (dw), or arcsec per pixel (app)
    */
    static
    uint astrometryImageScaleUnits()
    {
      return self()->mAstrometryImageScaleUnits;
    }

    /**
      Set Downsample the image to shrink its size and speed up the solver.
    */
    static
    void setAstrometryUseDownsample( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryUseDownsample" ) ))
        self()->mAstrometryUseDownsample = v;
    }

    /**
      Get Downsample the image to shrink its size and speed up the solver.
    */
    static
    bool astrometryUseDownsample()
    {
      return self()->mAstrometryUseDownsample;
    }

    /**
      Set Downsample factor
    */
    static
    void setAstrometryDownsample( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryDownsample" ) ))
        self()->mAstrometryDownsample = v;
    }

    /**
      Get Downsample factor
    */
    static
    uint astrometryDownsample()
    {
      return self()->mAstrometryDownsample;
    }

    /**
      Set Set estimated position to speed up astrometry solver as it does not have to search in other areas of the sky.
    */
    static
    void setAstrometryUsePosition( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryUsePosition" ) ))
        self()->mAstrometryUsePosition = v;
    }

    /**
      Get Set estimated position to speed up astrometry solver as it does not have to search in other areas of the sky.
    */
    static
    bool astrometryUsePosition()
    {
      return self()->mAstrometryUsePosition;
    }

    /**
      Set User supplied Right Ascension value in degrees to be passed to the solver.
    */
    static
    void setAstrometryPositionRA( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryPositionRA" ) ))
        self()->mAstrometryPositionRA = v;
    }

    /**
      Get User supplied Right Ascension value in degrees to be passed to the solver.
    */
    static
    double astrometryPositionRA()
    {
      return self()->mAstrometryPositionRA;
    }

    /**
      Set User supplied declination value in degrees to be passed to the solver.
    */
    static
    void setAstrometryPositionDE( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryPositionDE" ) ))
        self()->mAstrometryPositionDE = v;
    }

    /**
      Get User supplied declination value in degrees to be passed to the solver.
    */
    static
    double astrometryPositionDE()
    {
      return self()->mAstrometryPositionDE;
    }

    /**
      Set Automatically update position coordinates when mounts completes slewing.
    */
    static
    void setAstrometryAutoUpdatePosition( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryAutoUpdatePosition" ) ))
        self()->mAstrometryAutoUpdatePosition = v;
    }

    /**
      Get Automatically update position coordinates when mounts completes slewing.
    */
    static
    bool astrometryAutoUpdatePosition()
    {
      return self()->mAstrometryAutoUpdatePosition;
    }

    /**
      Set The Search Radius for the Estimated Telescope/Image Field Position in degrees.
    */
    static
    void setAstrometryRadius( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryRadius" ) ))
        self()->mAstrometryRadius = v;
    }

    /**
      Get The Search Radius for the Estimated Telescope/Image Field Position in degrees.
    */
    static
    double astrometryRadius()
    {
      return self()->mAstrometryRadius;
    }

    /**
      Set Detect parity and reuse it to speed up solver.
    */
    static
    void setAstrometryDetectParity( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryDetectParity" ) ))
        self()->mAstrometryDetectParity = v;
    }

    /**
      Get Detect parity and reuse it to speed up solver.
    */
    static
    bool astrometryDetectParity()
    {
      return self()->mAstrometryDetectParity;
    }

    /**
      Set Additional optional astrometry.net options
    */
    static
    void setAstrometryCustomOptions( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryCustomOptions" ) ))
        self()->mAstrometryCustomOptions = v;
    }

    /**
      Get Additional optional astrometry.net options
    */
    static
    QString astrometryCustomOptions()
    {
      return self()->mAstrometryCustomOptions;
    }

    /**
      Set astrometry.net solve-field binary
    */
    static
    void setAstrometrySolverBinary( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometrySolverBinary" ) ))
        self()->mAstrometrySolverBinary = v;
    }

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

    /**
      Set Internal or External Astrometry Solver?
    */
    static
    void setAstrometrySolverIsInternal( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometrySolverIsInternal" ) ))
        self()->mAstrometrySolverIsInternal = v;
    }

    /**
      Get Internal or External Astrometry Solver?
    */
    static
    bool astrometrySolverIsInternal()
    {
      return self()->mAstrometrySolverIsInternal;
    }

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

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

    /**
      Set Internal or External wcsinfo?
    */
    static
    void setAstrometryWCSIsInternal( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryWCSIsInternal" ) ))
        self()->mAstrometryWCSIsInternal = v;
    }

    /**
      Get Internal or External wcsinfo?
    */
    static
    bool astrometryWCSIsInternal()
    {
      return self()->mAstrometryWCSIsInternal;
    }

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

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

    /**
      Set Internal or External Astrometry.net Conf File?
    */
    static
    void setAstrometryConfFileIsInternal( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryConfFileIsInternal" ) ))
        self()->mAstrometryConfFileIsInternal = v;
    }

    /**
      Get Internal or External Astrometry.net Conf File?
    */
    static
    bool astrometryConfFileIsInternal()
    {
      return self()->mAstrometryConfFileIsInternal;
    }

    /**
      Set astrometry.net API Key
    */
    static
    void setAstrometryAPIKey( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "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( QStringLiteral( "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( QStringLiteral( "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 Timeout in seconds to wait for astrometry solver to complete.
    */
    static
    void setAstrometryTimeout( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "AstrometryTimeout" ) ))
        self()->mAstrometryTimeout = v;
    }

    /**
      Get Timeout in seconds to wait for astrometry solver to complete.
    */
    static
    uint astrometryTimeout()
    {
      return self()->mAstrometryTimeout;
    }

    /**
      Set Default guide module CCD.
    */
    static
    void setDefaultGuideCCD( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "DefaultGuideCCD" ) ))
        self()->mDefaultGuideCCD = v;
    }

    /**
      Get Default guide module CCD.
    */
    static
    QString defaultGuideCCD()
    {
      return self()->mDefaultGuideCCD;
    }

    /**
      Set Default guide module ST4 Driver.
    */
    static
    void setDefaultST4Driver( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "DefaultST4Driver" ) ))
        self()->mDefaultST4Driver = v;
    }

    /**
      Get Default guide module ST4 Driver.
    */
    static
    QString defaultST4Driver()
    {
      return self()->mDefaultST4Driver;
    }

    /**
      Set Guider exposure duration in seconds.
    */
    static
    void setGuideExposure( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "GuideExposure" ) ))
        self()->mGuideExposure = v;
    }

    /**
      Get Guider exposure duration in seconds.
    */
    static
    double guideExposure()
    {
      return self()->mGuideExposure;
    }

    /**
      Set Which guider process to utilize for guiding (0 Internal Guider, 1 PHD2, 2 lin_guider)
    */
    static
    void setGuiderType( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "GuiderType" ) ))
        self()->mGuiderType = v;
    }

    /**
      Get Which guider process to utilize for guiding (0 Internal Guider, 1 PHD2, 2 lin_guider)
    */
    static
    uint guiderType()
    {
      return self()->mGuiderType;
    }

    /**
      Set Which Algorithm to use track guide square (0 smart, 1 fast, 2 threshold, 3 no threshold).
    */
    static
    void setGuideAlgorithm( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "GuideAlgorithm" ) ))
        self()->mGuideAlgorithm = v;
    }

    /**
      Get Which Algorithm to use track guide square (0 smart, 1 fast, 2 threshold, 3 no threshold).
    */
    static
    uint guideAlgorithm()
    {
      return self()->mGuideAlgorithm;
    }

    /**
      Set Host name of external PHD2 service
    */
    static
    void setPHD2Host( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "PHD2Host" ) ))
        self()->mPHD2Host = v;
    }

    /**
      Get Host name of external PHD2 service
    */
    static
    QString pHD2Host()
    {
      return self()->mPHD2Host;
    }

    /**
      Set PHD2 Event Monitoring Port
    */
    static
    void setPHD2Port( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "PHD2Port" ) ))
        self()->mPHD2Port = v;
    }

    /**
      Get PHD2 Event Monitoring Port
    */
    static
    uint pHD2Port()
    {
      return self()->mPHD2Port;
    }

    /**
      Set Host name of external lin_guider service
    */
    static
    void setLinGuiderHost( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "LinGuiderHost" ) ))
        self()->mLinGuiderHost = v;
    }

    /**
      Get Host name of external lin_guider service
    */
    static
    QString linGuiderHost()
    {
      return self()->mLinGuiderHost;
    }

    /**
      Set Lin_guider Event Monitoring Port
    */
    static
    void setLinGuiderPort( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "LinGuiderPort" ) ))
        self()->mLinGuiderPort = v;
    }

    /**
      Get Lin_guider Event Monitoring Port
    */
    static
    uint linGuiderPort()
    {
      return self()->mLinGuiderPort;
    }

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

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

    /**
      Set Guide square size index (0 to 4) corresponding to pixel sizes (8 to 128).
    */
    static
    void setGuideSquareSizeIndex( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "GuideSquareSizeIndex" ) ))
        self()->mGuideSquareSizeIndex = v;
    }

    /**
      Get Guide square size index (0 to 4) corresponding to pixel sizes (8 to 128).
    */
    static
    uint guideSquareSizeIndex()
    {
      return self()->mGuideSquareSizeIndex;
    }

    /**
      Set Use Image Guiding algorithms instead of classical centroid guiding.
    */
    static
    void setImageGuidingEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "ImageGuidingEnabled" ) ))
        self()->mImageGuidingEnabled = v;
    }

    /**
      Get Use Image Guiding algorithms instead of classical centroid guiding.
    */
    static
    bool imageGuidingEnabled()
    {
      return self()->mImageGuidingEnabled;
    }

    /**
      Set Region Axis Index (0 to 4) corresponding to NxN partition size used Image Guiding (64 to 1024).
    */
    static
    void setGuideRegionAxis( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "GuideRegionAxis" ) ))
        self()->mGuideRegionAxis = v;
    }

    /**
      Get Region Axis Index (0 to 4) corresponding to NxN partition size used Image Guiding (64 to 1024).
    */
    static
    uint guideRegionAxis()
    {
      return self()->mGuideRegionAxis;
    }

    /**
      Set Automatically select calibration star and perform calibration.
    */
    static
    void setGuideAutoStarEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "GuideAutoStarEnabled" ) ))
        self()->mGuideAutoStarEnabled = v;
    }

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

    /**
      Set Automatically select the square size based on the selected star width.
    */
    static
    void setGuideAutoSquareSizeEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "GuideAutoSquareSizeEnabled" ) ))
        self()->mGuideAutoSquareSizeEnabled = v;
    }

    /**
      Get Automatically select the square size based on the selected star width.
    */
    static
    bool guideAutoSquareSizeEnabled()
    {
      return self()->mGuideAutoSquareSizeEnabled;
    }

    /**
      Set When using external guiders, enable reception of remote images in Ekos guide module. By default, remote images are disabled.
    */
    static
    void setGuideRemoteImagesEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "GuideRemoteImagesEnabled" ) ))
        self()->mGuideRemoteImagesEnabled = v;
    }

    /**
      Get When using external guiders, enable reception of remote images in Ekos guide module. By default, remote images are disabled.
    */
    static
    bool guideRemoteImagesEnabled()
    {
      return self()->mGuideRemoteImagesEnabled;
    }

    /**
      Set Number of automode iterations for calibration process.
    */
    static
    void setAutoModeIterations( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "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 setTwoAxisEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "TwoAxisEnabled" ) ))
        self()->mTwoAxisEnabled = v;
    }

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

    /**
      Set Use driver side Rapid Guide to perform guiding.
    */
    static
    void setRapidGuideEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "RapidGuideEnabled" ) ))
        self()->mRapidGuideEnabled = v;
    }

    /**
      Get Use driver side Rapid Guide to perform guiding.
    */
    static
    bool rapidGuideEnabled()
    {
      return self()->mRapidGuideEnabled;
    }

    /**
      Set Take dark frame for autoguider images.
    */
    static
    void setGuideDarkFrameEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "GuideDarkFrameEnabled" ) ))
        self()->mGuideDarkFrameEnabled = v;
    }

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

    /**
      Set Subframe guide image around selected region
    */
    static
    void setGuideSubframeEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "GuideSubframeEnabled" ) ))
        self()->mGuideSubframeEnabled = v;
    }

    /**
      Get Subframe guide image around selected region
    */
    static
    bool guideSubframeEnabled()
    {
      return self()->mGuideSubframeEnabled;
    }

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

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

    /**
      Set Dither after this many frames.
    */
    static
    void setDitherFrames( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "DitherFrames" ) ))
        self()->mDitherFrames = v;
    }

    /**
      Get Dither after this many frames.
    */
    static
    uint ditherFrames()
    {
      return self()->mDitherFrames;
    }

    /**
      Set After dither is successful, wait for this many seconds before proceeding.
    */
    static
    void setDitherSettle( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "DitherSettle" ) ))
        self()->mDitherSettle = v;
    }

    /**
      Get After dither is successful, wait for this many seconds before proceeding.
    */
    static
    uint ditherSettle()
    {
      return self()->mDitherSettle;
    }

    /**
      Set Maximum distance (pixels) for guiding to be considered settled.
    */
    static
    void setDitherThreshold( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "DitherThreshold" ) ))
        self()->mDitherThreshold = v;
    }

    /**
      Get Maximum distance (pixels) for guiding to be considered settled.
    */
    static
    double ditherThreshold()
    {
      return self()->mDitherThreshold;
    }

    /**
      Set Time limit (seconds) on dithering to settle down.
    */
    static
    void setDitherTimeout( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "DitherTimeout" ) ))
        self()->mDitherTimeout = v;
    }

    /**
      Get Time limit (seconds) on dithering to settle down.
    */
    static
    uint ditherTimeout()
    {
      return self()->mDitherTimeout;
    }

    /**
      Set How many dithering attempts to undertake before giving up.
    */
    static
    void setDitherMaxIterations( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "DitherMaxIterations" ) ))
        self()->mDitherMaxIterations = v;
    }

    /**
      Get How many dithering attempts to undertake before giving up.
    */
    static
    uint ditherMaxIterations()
    {
      return self()->mDitherMaxIterations;
    }

    /**
      Set If dithering fails then abort autoguide.
    */
    static
    void setDitherFailAbortsAutoGuide( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "DitherFailAbortsAutoGuide" ) ))
        self()->mDitherFailAbortsAutoGuide = v;
    }

    /**
      Get If dithering fails then abort autoguide.
    */
    static
    bool ditherFailAbortsAutoGuide()
    {
      return self()->mDitherFailAbortsAutoGuide;
    }

    /**
      Set Use Auto Dithering when guiding.
    */
    static
    void setDitherEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "DitherEnabled" ) ))
        self()->mDitherEnabled = v;
    }

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

    /**
      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( QStringLiteral( "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 setRAGuideEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "RAGuideEnabled" ) ))
        self()->mRAGuideEnabled = v;
    }

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

    /**
      Set Enable autoguiding in the DEC axis.
    */
    static
    void setDECGuideEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "DECGuideEnabled" ) ))
        self()->mDECGuideEnabled = v;
    }

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

    /**
      Set Enable North autoguiding in the DEC axis.
    */
    static
    void setNorthDECGuideEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "NorthDECGuideEnabled" ) ))
        self()->mNorthDECGuideEnabled = v;
    }

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

    /**
      Set Enable South autoguiding in the DEC axis.
    */
    static
    void setSouthDECGuideEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "SouthDECGuideEnabled" ) ))
        self()->mSouthDECGuideEnabled = v;
    }

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

    /**
      Set Enable East autoguiding in the RA axis.
    */
    static
    void setEastRAGuideEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "EastRAGuideEnabled" ) ))
        self()->mEastRAGuideEnabled = v;
    }

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

    /**
      Set Enable West autoguiding in the RA axis.
    */
    static
    void setWestRAGuideEnabled( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "WestRAGuideEnabled" ) ))
        self()->mWestRAGuideEnabled = v;
    }

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

    /**
      Set RAProportionalGain
    */
    static
    void setRAProportionalGain( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "RAProportionalGain" ) ))
        self()->mRAProportionalGain = v;
    }

    /**
      Get RAProportionalGain
    */
    static
    double rAProportionalGain()
    {
      return self()->mRAProportionalGain;
    }

    /**
      Set DECProportionalGain
    */
    static
    void setDECProportionalGain( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "DECProportionalGain" ) ))
        self()->mDECProportionalGain = v;
    }

    /**
      Get DECProportionalGain
    */
    static
    double dECProportionalGain()
    {
      return self()->mDECProportionalGain;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /**
      Set After shutdown procedure is successfully executed, shutdown INDI and Ekos.
    */
    static
    void setStopEkosAfterShutdown( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "StopEkosAfterShutdown" ) ))
        self()->mStopEkosAfterShutdown = v;
    }

    /**
      Get After shutdown procedure is successfully executed, shutdown INDI and Ekos.
    */
    static
    bool stopEkosAfterShutdown()
    {
      return self()->mStopEkosAfterShutdown;
    }

    /**
      Set Whether shutdown script, if exists, terminates INDI server in the process.
    */
    static
    void setShutdownScriptTerminatesINDI( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "ShutdownScriptTerminatesINDI" ) ))
        self()->mShutdownScriptTerminatesINDI = v;
    }

    /**
      Get Whether shutdown script, if exists, terminates INDI server in the process.
    */
    static
    bool shutdownScriptTerminatesINDI()
    {
      return self()->mShutdownScriptTerminatesINDI;
    }

    /**
      Set Perform pre-emptive shutdown if no jobs are due for a number of hours.
    */
    static
    void setPreemptiveShutdown( bool v )
    {
      if (!self()->isImmutable( QStringLiteral( "PreemptiveShutdown" ) ))
        self()->mPreemptiveShutdown = v;
    }

    /**
      Get Perform pre-emptive shutdown if no jobs are due for a number of hours.
    */
    static
    bool preemptiveShutdown()
    {
      return self()->mPreemptiveShutdown;
    }

    /**
      Set Maximum number of hours before the next job is due to trigger a pre-emptive shutdown.
    */
    static
    void setPreemptiveShutdownTime( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "PreemptiveShutdownTime" ) ))
        self()->mPreemptiveShutdownTime = v;
    }

    /**
      Get Maximum number of hours before the next job is due to trigger a pre-emptive shutdown.
    */
    static
    double preemptiveShutdownTime()
    {
      return self()->mPreemptiveShutdownTime;
    }

    /**
      Set Minimum time between jobs in minutes.
    */
    static
    void setLeadTime( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "LeadTime" ) ))
        self()->mLeadTime = v;
    }

    /**
      Get Minimum time between jobs in minutes.
    */
    static
    double leadTime()
    {
      return self()->mLeadTime;
    }

    /**
      Set Do not permit jobs to be scheduled or executed past this many minutes before dawn.
    */
    static
    void setPreDawnTime( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "PreDawnTime" ) ))
        self()->mPreDawnTime = v;
    }

    /**
      Get Do not permit jobs to be scheduled or executed past this many minutes before dawn.
    */
    static
    double preDawnTime()
    {
      return self()->mPreDawnTime;
    }

    /**
      Set Telescope focal length in millimeters.
    */
    static
    void setTelescopeFocalLength( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "TelescopeFocalLength" ) ))
        self()->mTelescopeFocalLength = v;
    }

    /**
      Get Telescope focal length in millimeters.
    */
    static
    double telescopeFocalLength()
    {
      return self()->mTelescopeFocalLength;
    }

    /**
      Set Camera pixel size width in micrometers.
    */
    static
    void setCameraPixelWidth( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "CameraPixelWidth" ) ))
        self()->mCameraPixelWidth = v;
    }

    /**
      Get Camera pixel size width in micrometers.
    */
    static
    double cameraPixelWidth()
    {
      return self()->mCameraPixelWidth;
    }

    /**
      Set Camera pixel size height in micrometers.
    */
    static
    void setCameraPixelHeight( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "CameraPixelHeight" ) ))
        self()->mCameraPixelHeight = v;
    }

    /**
      Get Camera pixel size height in micrometers.
    */
    static
    double cameraPixelHeight()
    {
      return self()->mCameraPixelHeight;
    }

    /**
      Set Camera Width in pixels.
    */
    static
    void setCameraWidth( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "CameraWidth" ) ))
        self()->mCameraWidth = v;
    }

    /**
      Get Camera Width in pixels.
    */
    static
    uint cameraWidth()
    {
      return self()->mCameraWidth;
    }

    /**
      Set Camera Height in pixels.
    */
    static
    void setCameraHeight( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "CameraHeight" ) ))
        self()->mCameraHeight = v;
    }

    /**
      Get Camera Height in pixels.
    */
    static
    uint cameraHeight()
    {
      return self()->mCameraHeight;
    }

    /**
      Set Position angle of the camera with respect to north.
    */
    static
    void setCameraRotation( double v )
    {
      if (!self()->isImmutable( QStringLiteral( "CameraRotation" ) ))
        self()->mCameraRotation = v;
    }

    /**
      Get Position angle of the camera with respect to north.
    */
    static
    double cameraRotation()
    {
      return self()->mCameraRotation;
    }

    /**
      Set The address of last used server
    */
    static
    void setLastServer( const QString & v )
    {
      if (!self()->isImmutable( QStringLiteral( "LastServer" ) ))
        self()->mLastServer = v;
    }

    /**
      Get The address of last used server
    */
    static
    QString lastServer()
    {
      return self()->mLastServer;
    }

    /**
      Set The port of last used server
    */
    static
    void setLastServerPort( uint v )
    {
      if (!self()->isImmutable( QStringLiteral( "LastServerPort" ) ))
        self()->mLastServerPort = v;
    }

    /**
      Get The port of last used server
    */
    static
    uint lastServerPort()
    {
      return self()->mLastServerPort;
    }

  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;
    bool mShowJ2000RADecField;
    uint mWindowWidth;
    uint mWindowHeight;
    bool mRunStartupWizard;

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

    // indi
    uint mINDIWindowWidth;
    uint mINDIWindowHeight;
    bool mUseGeographicUpdate;
    bool mUseTimeUpdate;
    bool mIndependentWindowINDI;
    bool mShowTargetCrosshair;
    bool mShowINDIMessages;
    bool mUseComputerSource;
    bool mUseDeviceSource;
    QString mFitsDir;
    QString mServerPortStart;
    QString mServerPortEnd;
    QStringList mFilterAlias;
    QString mIndiServer;
    bool mIndiServerIsInternal;
    QString mIndiDriversDir;
    bool mIndiDriversAreInternal;
    uint mStreamWindowWidth;
    uint mStreamWindowHeight;

    // 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 mShowCometComas;
    bool mShowCometNames;
    bool mShowSupernovae;
    bool mShowSupernovaNames;
    double mMagnitudeLimitShowSupernovae;
    bool mShowSupernovaAlerts;
    double mMagnitudeLimitAlertSupernovae;
    bool mShowCBounds;
    bool mShowHighlightedCBound;
    bool mShowCLines;
    bool mShowConstellationArt;
    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 mMagLimitAsteroidDownload;
    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 mObsListPreferDSS;
    bool mObsListPreferSDSS;
    bool mObsListDemoteHole;
    double mObsListHoleSize;

    // 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 mArtificialHorizonColor;
    QString mTelescopeTargetColor;
    QString mVisibleSatColor;
    QString mSatColor;
    QString mSatLabelColor;
    QString mSupernovaColor;
    QString mUserLabelColor;
    QString mRAGuideColor;
    QString mDEGuideColor;
    QString mSolverFOVColor;

    // Xplanet
    bool mXplanetIsInternal;
    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;
    bool mVerboseLogging;
    bool mRegularLogging;
    bool mDisableLogging;
    bool mLogToDefault;
    bool mLogToFile;
    bool mFITSLogging;
    bool mINDILogging;
    bool mCaptureLogging;
    bool mFocusLogging;
    bool mGuideLogging;
    bool mAlignmentLogging;
    bool mMountLogging;

    // FITSViewer
    bool mSinglePreviewFITS;
    bool mSingleWindowCapturedFITS;
    bool mSingleWindowOpenedFITS;
    bool mIndependentWindowFITS;
    bool mAutoDebayer;
    bool mAuto3DCube;
    bool mAutoWCS;
    bool mLimitedResourcesMode;

    // WISettings
    uint mBortleClass;
    bool mTelescopeCheck;
    bool mBinocularsCheck;
    double mBinocularsAperture;
    uint mScopeListIndex;

    // Ekos
    uint mEkosWindowWidth;
    uint mEkosWindowHeight;
    bool mEkosTopIcons;
    bool mEkosLeftIcons;
    bool mIndependentWindowEkos;
    QString mProfile;
    bool mNeverLoadConfig;
    bool mLoadConfigOnConnection;
    bool mLoadDefaultConfig;

    // DarkLibrary
    double mMaxDarkTemperatureDiff;
    QStringList mShutterfulCCDs;
    QStringList mShutterlessCCDs;

    // Mount
    double mMinimumAltLimit;
    double mMaximumAltLimit;
    bool mEnableAltitudeLimits;

    // Capture
    QString mDefaultCaptureCCD;
    QString mDefaultObserver;
    double mGuideDeviation;
    double mHFRDeviation;
    bool mEnforceGuideDeviation;
    bool mEnforceAutofocus;
    double mAutoMeridianHours;
    bool mAutoMeridianFlip;
    uint mADUValue;
    double mMaxTemperatureDiff;
    bool mRememberJobProgress;
    double mHFRThresholdPercentage;
    uint mDarkLibraryDuration;
    bool mAutoFocusOnFilterChange;
    bool mAutoStretch;
    bool mUseFITSViewerInCapture;

    // Focus
    QString mDefaultFocusCCD;
    uint mFocusTicks;
    double mFocusTolerance;
    uint mFocusMaxTravel;
    double mFocusExposure;
    uint mFocusBoxSize;
    uint mFocusXBin;
    uint mFocusYBin;
    bool mFocusSubFrame;
    bool mFocusAutoStarEnabled;
    bool mSuspendGuiding;
    bool mLockFocusFilter;
    uint mLockFocusFilterIndex;
    bool mUseFocusDarkFrame;
    uint mFocusEffect;
    double mFocusThreshold;
    uint mFocusDetection;
    uint mFocusAlgorithm;

    // Align
    QString mDefaultAlignCCD;
    double mAlignExposure;
    uint mSolverBinningIndex;
    bool mAstrometrySolverVerbose;
    uint mSolverType;
    QStringList mGuideScopeCCDs;
    uint mSolverGotoOption;
    bool mAstrometrySolverWCS;
    bool mAstrometrySolverOverlay;
    uint mSolverAccuracyThreshold;
    bool mAlignDarkFrame;
    uint mSettlingTime;
    bool mAstrometryUseNoFITS2FITS;
    bool mAstrometryUseResort;
    bool mAstrometryUseNoVerify;
    bool mAstrometryUseImageScale;
    double mAstrometryImageScaleLow;
    double mAstrometryImageScaleHigh;
    bool mAstrometryAutoUpdateImageScale;
    uint mAstrometryImageScaleUnits;
    bool mAstrometryUseDownsample;
    uint mAstrometryDownsample;
    bool mAstrometryUsePosition;
    double mAstrometryPositionRA;
    double mAstrometryPositionDE;
    bool mAstrometryAutoUpdatePosition;
    double mAstrometryRadius;
    bool mAstrometryDetectParity;
    QString mAstrometryCustomOptions;
    QString mAstrometrySolverBinary;
    bool mAstrometrySolverIsInternal;
    QString mAstrometryWCSInfo;
    bool mAstrometryWCSIsInternal;
    QString mAstrometryConfFile;
    bool mAstrometryConfFileIsInternal;
    QString mAstrometryAPIKey;
    QString mAstrometryAPIURL;
    bool mAstrometryUseJPEG;
    uint mAstrometryTimeout;

    // Guide
    QString mDefaultGuideCCD;
    QString mDefaultST4Driver;
    double mGuideExposure;
    uint mGuiderType;
    uint mGuideAlgorithm;
    QString mPHD2Host;
    uint mPHD2Port;
    QString mLinGuiderHost;
    uint mLinGuiderPort;
    uint mCalibrationPulseDuration;
    uint mGuideSquareSizeIndex;
    bool mImageGuidingEnabled;
    uint mGuideRegionAxis;
    bool mGuideAutoStarEnabled;
    bool mGuideAutoSquareSizeEnabled;
    bool mGuideRemoteImagesEnabled;
    uint mAutoModeIterations;
    bool mTwoAxisEnabled;
    bool mRapidGuideEnabled;
    bool mGuideDarkFrameEnabled;
    bool mGuideSubframeEnabled;
    double mDitherPixels;
    uint mDitherFrames;
    uint mDitherSettle;
    double mDitherThreshold;
    uint mDitherTimeout;
    uint mDitherMaxIterations;
    bool mDitherFailAbortsAutoGuide;
    bool mDitherEnabled;
    double mAOLimit;
    bool mRAGuideEnabled;
    bool mDECGuideEnabled;
    bool mNorthDECGuideEnabled;
    bool mSouthDECGuideEnabled;
    bool mEastRAGuideEnabled;
    bool mWestRAGuideEnabled;
    double mRAProportionalGain;
    double mDECProportionalGain;
    double mRAIntegralGain;
    double mDECIntegralGain;
    double mRADerivativeGain;
    double mDECDerivativeGain;
    uint mRAMaximumPulse;
    uint mDECMaximumPulse;
    uint mRAMinimumPulse;
    uint mDECMinimumPulse;
    double mGuidingRate;

    // Scheduler
    bool mStopEkosAfterShutdown;
    bool mShutdownScriptTerminatesINDI;
    bool mPreemptiveShutdown;
    double mPreemptiveShutdownTime;
    double mLeadTime;
    double mPreDawnTime;
    double mTelescopeFocalLength;
    double mCameraPixelWidth;
    double mCameraPixelHeight;
    uint mCameraWidth;
    uint mCameraHeight;
    double mCameraRotation;

    // INDI Lite
    QString mLastServer;
    uint mLastServerPort;

  private:
};

#endif

