Vesna
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
PopUpMessageCreator.h
Go to the documentation of this file.
1 #ifndef POPUPMESSAGECREATOR_H
2 #define POPUPMESSAGECREATOR_H
3 
5 
9 typedef unsigned PopUpMessageIDType;
10 
12 {
13 public:
15 
17  {
18  NoFlags = 0x0000,
19  MessageFlagTitleHidden = 0x0001 // when set, title is hidden - more rows of message text can be displayed
20  };
21  Q_DECLARE_FLAGS( MessageFlags, MessageFlag )
22 
24 
25  static PopUpMessageIDType ShowHideableInfoOnTouch( const QString &title, const QString &message, const PopUpMessageWidget::MessageType messageType, const QString &messageLabel );
26 
35  static PopUpMessageIDType ShowError( const QString &title, const QString &message, PopUpMessageWidget::Buttons buttons = PopUpMessageWidget::Ok, PopUpMessageButtonHandler *handler = nullptr );
36 
45  static PopUpMessageIDType ShowWarning( const QString &title, const QString &message, PopUpMessageWidget::Buttons buttons = PopUpMessageWidget::Ok, PopUpMessageButtonHandler *handler = nullptr );
46 
55  static PopUpMessageIDType ShowInfo( const QString &title, const QString &message, PopUpMessageWidget::Buttons buttons = PopUpMessageWidget::Ok, PopUpMessageButtonHandler *handler = nullptr );
56 
65  static PopUpMessageIDType ShowNotice( const QString &title, const QString &message, PopUpMessageWidget::Buttons buttons, PopUpMessageButtonHandler *handler = nullptr );
66 
84  static PopUpMessageIDType ShowMessage( const QString &title, const QString &message, PopUpMessageWidget::MessageType messageType = PopUpMessageWidget::Information, MessageFlags messageFlags = NoFlags, PopUpMessageWidget::Buttons buttons = PopUpMessageWidget::Ok, const std::initializer_list<std::pair<PopUpMessageWidget::Button, ApplicationDefines::ButtonAction> > &buttonActions = {} );
85 
96  static PopUpMessageIDType ShowMessage( const QString &title, const QStringPairList &stringPairs, PopUpMessageWidget::MessageType messageType = PopUpMessageWidget::Information, MessageFlags messageFlags = NoFlags, PopUpMessageWidget::Buttons buttons = PopUpMessageWidget::Ok, const std::initializer_list<std::pair<PopUpMessageWidget::Button, ApplicationDefines::ButtonAction> > &buttonActions = {} );
97 
113  static PopUpMessageIDType ShowMessage( const QString &title, const QString &message, PopUpMessageWidget::MessageType messageType, PopUpMessageWidget::Buttons buttons, PopUpMessageButtonHandler *handler, const std::initializer_list<std::pair<PopUpMessageWidget::Button, QString> > &buttonTexts = {}, unsigned short timeout = 0, const QString &messageLabel = "" );
114 
120  static PopUpMessageIDType ShowModalMessage( const QString &title, const QString &message, PopUpMessageWidget::Button &userResponseClickedButton, PopUpMessageWidget::MessageType messageType = PopUpMessageWidget::Question, PopUpMessageWidget::Buttons buttons = PopUpMessageWidget::Yes | PopUpMessageWidget::No );
121 
122  static void ClosePopUp( const PopUpMessageIDType popUpID );
123  static bool IsPopUpDisplayed( const PopUpMessageIDType popUpID = POP_UP_ID_UNDEFINED );
124 
125 private:
136  static PopUpMessageWidget *Create( const QString &messageTitle, const QString &messageText, PopUpMessageIDType &popUpID, PopUpMessageWidget::MessageType messageType = PopUpMessageWidget::Information, PopUpMessageWidget::Buttons buttons = PopUpMessageWidget::Ok, unsigned short timeout = 0, const QString &messageLabel = "" );
137  static PopUpMessageIDType CreateAndShow( const QString &messageTitle, const QString &messageText, PopUpMessageButtonHandler *handler, PopUpMessageWidget::MessageType messageType = PopUpMessageWidget::Information, PopUpMessageWidget::Buttons buttons = PopUpMessageWidget::Ok );
138  static void OnPopUpClosed( const PopUpMessageIDType popUpID );
139  static void RemovePopUpIDFromAlivePopUpsList( const PopUpMessageIDType popUpID );
140 
142  static QWidget *mMainWindow;
143  // list holds displayed pop up messages, we can hide pop up messages without user interaction, check if pop up message is still displayed
144  static PopUpMessageWidgetInfoList mAlivePopUpsList;
145  // variable that holds next available pop up message ID, IDs have to be unique (but not unique ID on variable overflow shouldn't cause problem)
146  static PopUpMessageIDType mNextIDToAssign;
147 };
148 
149 #endif // POPUPMESSAGECREATOR_H
MessageType
Definition: StateMessageReply.cpp:27
static PopUpMessageIDType ShowInfo(const QString &title, const QString &message, PopUpMessageWidget::Buttons buttons=PopUpMessageWidget::Ok, PopUpMessageButtonHandler *handler=nullptr)
ShowInfo - static function that creates and shows a pop-up window of type 'Information'. It is possible to set a button handler if necessary.
Definition: PopUpMessageCreator.cpp:134
QList< QPair< QString, QString > > QStringPairList
Definition: PopUpMessageCreator.h:6
static const PopUpMessageIDType POP_UP_ID_UNDEFINED
Definition: PopUpMessageCreator.h:14
Definition: PopUpMessageCreator.h:11
Definition: ProjectConfiguration.h:11
Definition: PopUpMessageWidget.h:25
Definition: PopUpMessageWidget.h:36
Definition: PopUpMessageWidget.h:37
static bool IsPopUpDisplayed(const PopUpMessageIDType popUpID=POP_UP_ID_UNDEFINED)
Definition: PopUpMessageCreator.cpp:291
Definition: PopUpMessageWidget.h:10
static PopUpMessageIDType ShowError(const QString &title, const QString &message, PopUpMessageWidget::Buttons buttons=PopUpMessageWidget::Ok, PopUpMessageButtonHandler *handler=nullptr)
ShowError - static function that creates and shows a pop-up window of type 'Error'. It is possible to set a button handler if necessary.
Definition: PopUpMessageCreator.cpp:120
static PopUpMessageIDType ShowModalMessage(const QString &title, const QString &message, PopUpMessageWidget::Button &userResponseClickedButton, PopUpMessageWidget::MessageType messageType=PopUpMessageWidget::Question, PopUpMessageWidget::Buttons buttons=PopUpMessageWidget::Yes|PopUpMessageWidget::No)
ShowModalMessage - static method provided for convenience. Works similarly to other methods here exce...
Definition: PopUpMessageCreator.cpp:258
MessageType
Definition: PopUpMessageWidget.h:19
Definition: PopUpMessageWidget.h:21
static void ClosePopUp(const PopUpMessageIDType popUpID)
Definition: PopUpMessageCreator.cpp:274
static PopUpMessageIDType ShowWarning(const QString &title, const QString &message, PopUpMessageWidget::Buttons buttons=PopUpMessageWidget::Ok, PopUpMessageButtonHandler *handler=nullptr)
ShowWarning - static function that creates and shows a pop-up window of type 'Warning'. It is possible to set a button handler if necessary.
Definition: PopUpMessageCreator.cpp:127
Definition: ProjectConfiguration.h:12
Definition: PopUpMessageWidget.h:39
static PopUpMessageIDType ShowMessage(const QString &title, const QString &message, PopUpMessageWidget::MessageType messageType=PopUpMessageWidget::Information, MessageFlags messageFlags=NoFlags, PopUpMessageWidget::Buttons buttons=PopUpMessageWidget::Ok, const std::initializer_list< std::pair< PopUpMessageWidget::Button, ApplicationDefines::ButtonAction > > &buttonActions={})
ShowMessage - static function that creates and shows a pop-up window of given type. It automatically creates a new PopUpMessageButtonHandler and registers button actions given in the buttonActions parameter. The parameter's type is std::initializer_list of pairs of type std::pair. Example usage:
Definition: PopUpMessageCreator.cpp:162
QList< QPair< uintptr_t, PopUpMessageWidget * > > PopUpMessageWidgetInfoList
Definition: PopUpMessageCreator.h:8
Definition: PopUpMessageCreator.h:18
static PopUpMessageIDType ShowNotice(const QString &title, const QString &message, PopUpMessageWidget::Buttons buttons, PopUpMessageButtonHandler *handler=nullptr)
ShowNotice - static function that creates and shows a pop-up window of type 'Notice'. It is possible to set a button handler if necessary.
Definition: PopUpMessageCreator.cpp:141
Definition: PopUpMessageButtonHandler.h:7
Definition: ApplicationDefines.h:88
unsigned PopUpMessageIDType
Definition: PopUpMessageCreator.h:9
QPair< QString, QString > QStringPair
Definition: PopUpMessageCreator.h:7
MessageFlag
Definition: PopUpMessageCreator.h:16
Button
Definition: PopUpMessageWidget.h:33
static PopUpMessageIDType ShowHideableInfoOnTouch(const QString &title, const QString &message, const PopUpMessageWidget::MessageType messageType, const QString &messageLabel)
Definition: PopUpMessageCreator.cpp:148
Definition: PopUpMessageCreator.h:19