Quark  0.1
AlertDialogBuilder.h++
Go to the documentation of this file.
1 #ifndef __libquark_gui_AlertDialogBuilder_hxx
2 #define __libquark_gui_AlertDialogBuilder_hxx
3 
4 #include <QDialogButtonBox>
5 #include <QMessageBox>
6 #include <QString>
7 
9 
10 namespace quark {
11 namespace gui {
12 
13 class DialogClosure;
14 
21 {
22  public:
23 
26  {
34  Question
35  };
36 
43  AlertDialogBuilder(QWidget *parent, DialogType type, const QString &message);
44 
46  virtual ~AlertDialogBuilder();
47 
49  AlertDialogBuilder& setFeature(const QString &feature);
50 
52  AlertDialogBuilder& setIcon(QMessageBox::Icon icon);
53 
55  AlertDialogBuilder& setInformativeText(const QString &text);
56 
58  AlertDialogBuilder& setButtons(QMessageBox::StandardButtons buttons);
59 
64  AlertDialogBuilder& setYesNo(bool defaultNo = true);
65 
67  AlertDialogBuilder& setSaveDiscardCancel();
68 
75  AlertDialogBuilder& addButton(const QString &text,
76  QMessageBox::ButtonRole role);
77 
79  AlertDialogBuilder& setDefaultButton(QMessageBox::StandardButton button);
80 
82  AlertDialogBuilder& setAcceptButtonText(const QString &text);
83 
85  AlertDialogBuilder& setRejectButtonText(const QString &text);
86 
93  AlertDialogBuilder& setSlot(QObject *target, const char *slot);
94 
101  AlertDialogBuilder& setSlot(const char *slot)
102  { return(setSlot(NULL, slot)); }
103 
115  template<typename T>
117  {
118  closure()->addSlotArg(QVariant::fromValue(arg));
119  return(*this);
120  }
121 
122  private:
123 
124  QMessageBox *_dialog;
125 
126  Q_DISABLE_COPY(AlertDialogBuilder);
127 };
128 
129 } // namespace gui
130 } // namespace quark
131 
132 #endif // __libquark_gui_AlertDialogBuilder_hxx
A Warning dialog.
Definition: AlertDialogBuilder.h++:30
An informational dialog.
Definition: AlertDialogBuilder.h++:28
AlertDialogBuilder & addSlotArg(const T &arg)
Adds an argument to be passed to the slot when the dialog is accepted.
Definition: AlertDialogBuilder.h++:116
Definition: BarChartView.h++:6
An abstract base class for dialog builders.
Definition: DialogBuilder.h++:23
#define LIBQUARK_API
Definition: Quark.h++:18
AlertDialogBuilder & setSlot(const char *slot)
Specifies a slot of the dialog&#39;s parent widget to be invoked when the dialog is accepted.
Definition: AlertDialogBuilder.h++:101
DialogType
Alert dialog types.
Definition: AlertDialogBuilder.h++:25
An error dialog.
Definition: AlertDialogBuilder.h++:32
A builder object for constructing simple alert dialogs.
Definition: AlertDialogBuilder.h++:20