File: JS8MessageBox.h

package info (click to toggle)
js8call 2.5.1%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 24,720 kB
  • sloc: cpp: 562,655; sh: 898; python: 132; ansic: 102; makefile: 4
file content (61 lines) | stat: -rw-r--r-- 2,496 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifndef MESSAGE_BOX_HPP__
#define MESSAGE_BOX_HPP__

#include <QMessageBox>

/**
 * JS8MessageBox - wrap the Qt QMessageBox class to give a more platform
 *							neutral and functional interface.
 *
 * Microsoft chose to #define MessageBox.
 * We dogde the resulting problems by calling our MessageBox JS8MessageBox.
 */
class JS8MessageBox : public QMessageBox {
  public:
    explicit JS8MessageBox(QWidget *parent = nullptr);
    explicit JS8MessageBox(Icon, QString const &text,
                           StandardButtons = NoButton,
                           QWidget *parent = nullptr,
                           Qt::WindowFlags = Qt::Dialog |
                                             Qt::MSWindowsFixedSizeDialogHint);

    static void about_message(QWidget *parent, QString const &text);
    static void about_Qt_message(QWidget *parent);
    static StandardButton
    information_message(QWidget *parent, QString const &text,
                        QString const &informative = QString{},
                        QString const &detail = QString{},
                        StandardButtons buttons = Ok,
                        StandardButton default_button = NoButton);
    static StandardButton
    query_message(QWidget *parent, QString const &text,
                  QString const &informative = QString{},
                  QString const &detail = QString{},
                  StandardButtons buttons = Yes | No,
                  StandardButton default_button = NoButton);
    static StandardButton
    warning_message(QWidget *parent, QString const &text,
                    QString const &informative = QString{},
                    QString const &detail = QString{},
                    StandardButtons buttons = Ok,
                    StandardButton default_button = NoButton);
    static StandardButton
    critical_message(QWidget *parent, QString const &text,
                     QString const &informative = QString{},
                     QString const &detail = QString{},
                     StandardButtons buttons = Ok,
                     StandardButton default_button = NoButton);

  private:
    // hide the parent static functions so that users use our versions
    // above that are correctly branded and have better platform
    // independence
    using QMessageBox::about;
    using QMessageBox::aboutQt;
    using QMessageBox::critical;
    using QMessageBox::information;
    using QMessageBox::question;
    using QMessageBox::warning;
};

#endif