Stellarium 0.15.0
StelDialog.hpp
1 /*
2  * Stellarium
3  * Copyright (C) 2008 Fabien Chereau
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation; either version 2
8  * of the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA.
18 */
19 
20 #ifndef _STELDIALOG_HPP_
21 #define _STELDIALOG_HPP_
22 
23 #include <QObject>
24 
52 class StelDialog : public QObject
53 {
54  Q_OBJECT
55  Q_PROPERTY(bool visible READ visible WRITE setVisible NOTIFY visibleChanged)
56 public:
57  StelDialog(QObject* parent=NULL);
58  virtual ~StelDialog();
59 
60  bool visible() const;
61 
62 public slots:
73  virtual void retranslate() = 0;
75  void setVisible(bool);
77  void close();
79  void handleMovedTo(QPoint newPos);
80 signals:
81  void visibleChanged(bool);
82 private slots:
83  void updateNightModeProperty();
84 
85 protected:
87  virtual void createDialogContent()=0;
88 
90  QWidget* dialog;
91  class CustomProxy* proxy;
93  QString dialogName;
94 
95 #ifdef Q_OS_WIN
96  void installKineticScrolling(QList<QWidget *> addscroll);
98 #endif
99 };
100 
101 #endif // _STELDIALOG_HPP_
void handleMovedTo(QPoint newPos)
Adds dialog location to config.ini; should be connected in createDialogContent()
void close()
Closes the window (the window widget is not deleted, just not visible).
virtual void createDialogContent()=0
Initialize the dialog widgets and connect the signals/slots.
Base class for all the GUI windows in Stellarium.
Definition: StelDialog.hpp:52
void setVisible(bool)
On the first call with "true" populates the window contents.
QString dialogName
The name should be set in derived classes' constructors and can be used to store and retrieve the pan...
Definition: StelDialog.hpp:93
QWidget * dialog
The main dialog.
Definition: StelDialog.hpp:90
virtual void retranslate()=0
Retranslate the content of the dialog.