File indexing completed on 2024-04-21 03:49:59

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2008 David Roberts <dvdr18@gmail.com>
0004 // SPDX-FileCopyrightText: 2008 Inge Wallin <inge@lysator.liu.se>
0005 // SPDX-FileCopyrightText: 2010 Harshit Jain <hjain.itbhu@gmail.com>
0006 //
0007 
0008 #ifndef MARBLE_SUNCONTROLWIDGET_H
0009 #define MARBLE_SUNCONTROLWIDGET_H
0010 
0011 #include <QDialog>
0012 
0013 #include "marble_export.h"
0014 
0015 namespace Ui
0016 {
0017     class SunControlWidget;
0018 }
0019 
0020 namespace Marble
0021 {
0022 class MarbleWidget;
0023 
0024 class MARBLE_EXPORT SunControlWidget : public QDialog
0025 {
0026     Q_OBJECT
0027     
0028  public:
0029     explicit SunControlWidget( MarbleWidget *marbleWidget, QWidget* parent = nullptr );
0030     ~SunControlWidget() override;
0031     void setSunShading( bool );
0032 
0033  private Q_SLOTS:
0034     void apply();
0035     
0036  Q_SIGNALS:
0037     void showSun( bool show );
0038     void isLockedToSubSolarPoint( bool show );
0039     void isSubSolarPointIconVisible( bool show );
0040 
0041  protected:
0042     Q_DISABLE_COPY( SunControlWidget )
0043 
0044     void showEvent(QShowEvent* event) override;
0045 
0046     Ui::SunControlWidget *m_uiWidget;
0047     MarbleWidget         *const m_marbleWidget;
0048     QString               m_shadow;
0049 };
0050 
0051 }
0052 
0053 #endif