Vesna
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
PopUpMessageWidget.h
Go to the documentation of this file.
1 #ifndef POPUPMESSAGEWIDGET_H
2 #define POPUPMESSAGEWIDGET_H
3 
4 #include "CustomStyledDialog.h"
6 
7 class QGestureEvent;
9 
11 {
12  Q_OBJECT
13 
14 public:
15  /*
16  * MMR - cislovanie musi byt od nuly pretoze hodnoty sluzia ako indexy v zozname titulkov okien a typov sprav ( vid subor PopUpMessageWidget.cpp )
17  * po uprave treba aktualizovat aj premenne MessageTypeStrings a PopUpTitleStrings v cpp subore
18  */
20  {
22  Notice = 1,
23  Warning = 2,
24  Error = 3,
25  Question = 4,
26  Valid = 5,
30  };
31 
32  // MMR - po uprave treba aktualizovat aj premennu ButtonsDefaultTexts v cpp subore
33  enum Button
34  {
35  NoButton = 0x0000,
36  Ok = 0x0001,
37  Yes = 0x0002,
38  Retry = 0x0004,
39  No = 0x0008,
40  Cancel = 0x0010,
41  DispatcherLogin = 0x0020,
42  Detail = 0x0040,
43  CloseButton = 0x0080,
44  Read = 0x0100
45  };
46  Q_DECLARE_FLAGS( Buttons, Button )
47 
48  static constexpr PopUpMessageButtonHandler *NULL_BUTTON_HANDLER = nullptr;
49 
50  explicit PopUpMessageWidget( QWidget *parent = 0 );
51  PopUpMessageWidget( const QString &messageTitle, const QString &messageText, MessageType messageType = Information, Buttons buttons = Ok, QWidget *parent = 0, unsigned short timeout = 0, const QString &messageLabel = "" );
52  virtual ~PopUpMessageWidget();
53 
58  void SetButtonClickHandler( PopUpMessageButtonHandler *buttonClickHandler );
59 
65  void SetMessageTitleAndText( const QString &messageTitle, const QString &messageText );
66 
72  void SetButtonText( Button button, const QString &text );
73 
78  void SetMessageType( MessageType messageType );
79 
84  void HideOnTouchOrEscape( bool hide );
85 
89  void HideTitleLabel();
90 
95  void AddAndFillColumn( const QList<QString> &columnContents );
96 
100  void show( bool modal = false );
101 
105  void hide();
106 
111 
115  QString GetMessageText();
116 
117 signals:
118  void Finished();
119 
120 public slots:
121  void Close();
122 
123 protected:
124  void mousePressEvent( QMouseEvent *event );
125  void timerEvent( QTimerEvent *event );
126 
127 private slots:
128  void onButtonClicked();
129  void onMessageTextRestartTimer();
130 
131 private:
133 
134  friend class WindowManager;
135 
136  bool IsEnabledHideOnTouchOrEscape();
137 
138  class DataClass;
139  QScopedPointer<DataClass> d;
140 
142 };
143 
144 Q_DECLARE_OPERATORS_FOR_FLAGS( PopUpMessageWidget::Buttons )
145 
146 #endif // POPUPMESSAGEWIDGET_H
Definition: PopUpMessageWidget.h:24
Definition: PopUpMessageWidget.h:22
Definition: PopUpMessageWidget.h:43
void Close()
Definition: PopUpMessageWidget.cpp:301
Button GetClickedButton()
Returns last clicked button.
Definition: PopUpMessageWidget.cpp:296
Definition: PopUpMessageWidget.h:35
Definition: PopUpMessageWidget.h:44
void SetButtonClickHandler(PopUpMessageButtonHandler *buttonClickHandler)
SetButtonClickHandler - sets a PopUpMessageButtonHandler to be used to handle button clicks...
Definition: PopUpMessageWidget.cpp:199
Definition: ProjectConfiguration.h:11
Definition: PopUpMessageWidget.h:25
Definition: PopUpMessageWidget.h:36
void show(bool modal=false)
show - shows the pop-up message.
Definition: PopUpMessageWidget.cpp:257
Definition: PopUpMessageWidget.h:27
void SetButtonText(Button button, const QString &text)
SetButtonText - replaces the text of a button (if the button is shown).
Definition: PopUpMessageWidget.cpp:210
Definition: PopUpMessageWidget.h:37
Definition: PopUpMessageWidget.h:10
The CustomStyledDialog class use this class for custom styled dialogs bc QT has bug and do not paint ...
Definition: CustomStyledDialog.h:11
MessageType
Definition: PopUpMessageWidget.h:19
static constexpr PopUpMessageButtonHandler * NULL_BUTTON_HANDLER
Definition: PopUpMessageWidget.h:48
void hide()
hide - hides the pop-up message.
Definition: PopUpMessageWidget.cpp:283
Definition: PopUpMessageWidget.h:21
void HideOnTouchOrEscape(bool hide)
HideOnTouchOrEscape - set the flag saying if message should hide ofter touch or escape pressed...
Definition: PopUpMessageWidget.cpp:219
Definition: WindowManager.h:8
Definition: PopUpMessageWidget.h:39
void mousePressEvent(QMouseEvent *event)
Definition: PopUpMessageWidget.cpp:307
Definition: PopUpMessageWidget.cpp:54
void timerEvent(QTimerEvent *event)
Definition: PopUpMessageWidget.cpp:320
void SetMessageTitleAndText(const QString &messageTitle, const QString &messageText)
SetMessageTitleAndText - sets message title and text.
Definition: PopUpMessageWidget.cpp:204
void SetMessageType(MessageType messageType)
SetMessageType - sets type of the message.
Definition: PopUpMessageButtonHandler.h:7
Definition: PopUpMessageWidget.h:23
void HideTitleLabel()
HideTitleLabel - hides the title label, making more room for message text.
Definition: PopUpMessageWidget.cpp:224
void AddAndFillColumn(const QList< QString > &columnContents)
AddAndFillColumn - creates new column in message description layout and fills it with list of strings...
Definition: PopUpMessageWidget.cpp:230
Definition: PopUpMessageWidget.h:29
Definition: PopUpMessageWidget.h:26
QString GetMessageText()
return widget's message text
Definition: PopUpMessageWidget.cpp:326
Button
Definition: PopUpMessageWidget.h:33
Definition: PopUpMessageWidget.h:28
Definition: PopUpMessageWidget.h:38
Definition: PopUpMessageWidget.h:41
Definition: PopUpMessageWidget.h:40
Definition: PopUpMessageWidget.h:42