LibEngsas
edialog.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2010 - 2013 EngSaS - Engineering Solutions and Services Langenbach. All rights reserved.
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Lesser General Public
6  License as published by the Free Software Foundation; either
7  version 2.1 of the License, or (at your option) any later version.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Lesser General Public License for more details.
13 
14  You should have received a copy of the GNU Lesser General Public
15  License along with this library; if not, write to the Free Software
16  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17  MA 02110-1301 USA.
18 */
19 
20 #ifndef EDIALOG_H
21 #define EDIALOG_H
22 
23 #include "eglobal.h"
24 #include <QDialog>
25 
26 #include "eobject.h"
27 
28 class EPushButton;
29 
30 class QMenu;
31 class QAction;
32 class QToolBar;
33 class QDockWidget;
34 
54 class E_CORE_EXPORT EDialog : public QDialog
55 {
56  Q_OBJECT
57  public:
64  EDialog ( QString objName, QWidget *parent = 0, Qt::WindowFlags flags = 0 );
65  EDialog ( QWidget *parent = 0, Qt::WindowFlags flags = 0 );
66  inline virtual ~EDialog(){ close(); }
71  void setWindowTitle ( const QString &title );
80  void setObjectName ( const QString &name );
88  void loadGeometry();
94  void connectByPass(QObject *object){ EObject::connectByPass(this, object); }
95 
96  public slots:
111  virtual inline void reloadSettings(){ emit doReloadSettings(); }
112 
113  protected slots:
120  virtual inline void errorByPass(const QString &message){ emit error(message); }
126  virtual inline void warningByPass(const QString &message){ emit warning(message); }
132  virtual inline void informationByPass(const QString &message){ emit information(message); }
136  virtual inline void reloadEnableActionsByPass(){ emit reloadEnableActions(); }
142  virtual inline void addMenuByPass(QMenu* newMenu, const QString &parent, QString before = QString()){ emit addMenu(newMenu, parent, before); }
148  virtual inline void addActionByPass(QAction* newAction, const QString &parent, QString before = QString()){ emit addAction(newAction, parent, before); }
154  virtual inline void addToolBarByPass(QToolBar* newToolBar, Qt::ToolBarArea area = Qt::TopToolBarArea){ emit addToolBar(newToolBar, area); }
160  virtual inline void addNewDockWidgetByPass(QDockWidget *widget, const Qt::DockWidgetArea &area){ emit addNewDockWidget(widget, area); }
166  virtual inline void setCentralWidgetByPass(QWidget *centralWidget){ emit setCentralWidget(centralWidget); }
172  virtual inline void showSettingsByPass(){ emit showSettings(); }
178  virtual inline void showHelpByPass(const QString &page){ emit showHelp(page); }
184  virtual inline void showStatusWidgetByPass(QWidget* widget){ emit showStatusWidget(widget); }
191  virtual inline void reloadSettingsRequestByPass(){ emit reloadSettingsRequest(); }
198  void setHelp(QString page, EPushButton *helpButton = 0);
199 
200  protected:
201  QString helpPage();
202  void closeEvent(QCloseEvent *event);
203 
204  private slots:
205  inline void help(){ emit showHelp(helpPage()); }
206 
207  private:
208  void init();
209 
210  QString myHelpPage;
211 
212  signals:
228  void error(const QString &message);
237  void warning(const QString &message);
246  void information(const QString &message);
250  void reloadEnableActions();
262  void addMenu(QMenu* newMenu, const QString &parent, QString before = QString());
274  void addAction(QAction* newAction, const QString &parent, QString before = QString());
283  void addToolBar(QToolBar* newToolBar, Qt::ToolBarArea area = Qt::TopToolBarArea);
293  void addNewDockWidget(QDockWidget *widget, const Qt::DockWidgetArea &area);
302  void setCentralWidget(QWidget *centralWidget);
309  void showSettings();
316  void showHelp(const QString &page);
323  void showStatusWidget(QWidget* widget);
335  void reloadSettingsRequest();
343  void doReloadSettings();
344 };
345 
346 #endif // EDIALOG_H
QString myHelpPage
Definition: edialog.h:210
virtual void warningByPass(const QString &message)
Definition: edialog.h:126
virtual void reloadEnableActionsByPass()
Definition: edialog.h:136
virtual void setCentralWidgetByPass(QWidget *centralWidget)
Definition: edialog.h:166
void help()
Definition: edialog.h:205
virtual void addMenuByPass(QMenu *newMenu, const QString &parent, QString before=QString())
Definition: edialog.h:142
virtual void showSettingsByPass()
Definition: edialog.h:172
virtual void informationByPass(const QString &message)
Definition: edialog.h:132
#define E_CORE_EXPORT
Definition: eglobal.h:107
virtual void showHelpByPass(const QString &page)
Definition: edialog.h:178
virtual void addNewDockWidgetByPass(QDockWidget *widget, const Qt::DockWidgetArea &area)
Definition: edialog.h:160
virtual void addActionByPass(QAction *newAction, const QString &parent, QString before=QString())
Definition: edialog.h:148
virtual void errorByPass(const QString &message)
Definition: edialog.h:120
virtual void reloadSettings()
Used to reload settings the settings.
Definition: edialog.h:111
virtual void addToolBarByPass(QToolBar *newToolBar, Qt::ToolBarArea area=Qt::TopToolBarArea)
Definition: edialog.h:154
virtual void showStatusWidgetByPass(QWidget *widget)
Definition: edialog.h:184
virtual ~EDialog()
Definition: edialog.h:66
Mostly the same as EWidget but for QDialog as base class.
Definition: edialog.h:54
void connectByPass(QObject *object)
Connects all standard signals.
Definition: edialog.h:94
QPushButton replacement, which handles "iconsAndText"-option and QIcon::fromTheme.
Definition: epushbutton.h:36
void connectByPass(QObject *object)
Definition: eobject.h:53
virtual void reloadSettingsRequestByPass()
Definition: edialog.h:191