![]() |
Carousel
|
Defines methods for showing the dialogs. More...
#include <IDialogService.h>
Inherits QObject.
Inherited by DialogService.
Public Member Functions | |
template<typename TDialogModel > | |
QDialog * | createDialog (TDialogModel *dlgModel) const |
template<typename TDialogModel > | |
bool | isRegistered () const |
template<typename TDialog , typename TDialogModel > | |
void | registerDialog () |
template<typename TDialogModel > | |
bool | showDialog (TDialogModel *dlgModel) const |
template<typename TDialogModel > | |
bool | unregisterDialogForModel () |
![]() | |
QObject (QObject *parent) | |
QObject (QObject *parent, const char *name) | |
bool | blockSignals (bool block) |
QObject * | child (const char *objName, const char *inheritsClass, bool recursiveSearch) const |
const QObjectList & | children () const |
const char * | className () const |
bool | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const |
void | deleteLater () |
void | destroyed (QObject *obj) |
bool | disconnect (const QObject *receiver, const char *method) |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) |
void | dumpObjectInfo () |
void | dumpObjectTree () |
QList< QByteArray > | dynamicPropertyNames () const |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
T | findChild (const QString &name) const |
QList< T > | findChildren (const QRegExp ®Exp) const |
QList< T > | findChildren (const QString &name) const |
bool | inherits (const char *className) const |
void | insertChild (QObject *object) |
void | installEventFilter (QObject *filterObj) |
bool | isA (const char *className) const |
bool | isWidgetType () const |
void | killTimer (int id) |
virtual const QMetaObject * | metaObject () const |
void | moveToThread (QThread *targetThread) |
const char * | name () const |
const char * | name (const char *defaultName) const |
QString | objectName () const |
QObject * | parent () const |
QVariant | property (const char *name) const |
void | removeChild (QObject *object) |
void | removeEventFilter (QObject *obj) |
void | setName (const char *name) |
void | setObjectName (const QString &name) |
void | setParent (QObject *parent) |
bool | setProperty (const char *name, const QVariant &value) |
bool | signalsBlocked () const |
int | startTimer (int interval) |
QThread * | thread () const |
Protected Member Functions | |
virtual QDialog * | createDialogForModel (const QString &forDlgModelType, void *dlgModel) const =0 |
virtual bool | isConstructorRegistered (const QString &forDlgModelType) const =0 |
virtual void | registerConstructor (const QString &dlgModelType, IDialogConstructor *constructor)=0 |
virtual bool | showDialogForModel (const QString &forDlgModelType, void *dlgModel) const =0 |
virtual bool | unregisterConstructor (const QString &forDlgModelType)=0 |
![]() | |
bool | checkConnectArgs (const char *signal, const QObject *object, const char *method) |
virtual void | childEvent (QChildEvent *event) |
virtual void | connectNotify (const char *signal) |
virtual void | customEvent (QEvent *event) |
virtual void | disconnectNotify (const char *signal) |
int | receivers (const char *signal) const |
QObject * | sender () const |
int | senderSignalIndex () const |
virtual void | timerEvent (QTimerEvent *event) |
Additional Inherited Members | |
![]() | |
bool | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
bool | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
![]() | |
QByteArray | normalizeSignalSlot (const char *signalSlot) |
![]() | |
objectName | |
Defines methods for showing the dialogs.
Use IDialogService to show dialogs instead of explicitly creating dialogs in code to be able to fake dialogs (and returning results), e.g. for unit testing.
It is registered into the application services by the InteractionServiceComponent.
QDialog * IDialogService::createDialog | ( | TDialogModel * | dlgModel | ) | const |
Creates and returns a new instance of the dialog, if any was registered for the TDialogModel. Otherwise, returns nullptr.
Note, that created dialog will be set with Qt::WA_DeleteOnClose flag;
TDialogModel | the type of dialog model. |
bool IDialogService::isRegistered | ( | ) | const |
Returns true if dialog for the specified model type has been already registered. Otherwise, returns false.
void IDialogService::registerDialog | ( | ) |
Registers the TDialog type, that expects a TDialogModel pointer in the constructor. This dialog will be shown from the showDialog() method.
A new TDialog type is pushed to the top of dialog stack for the specified TDialogModel type, so to use older dialogs for this model, you should pop newer dialog type by calling unregisterDialogForModel().
The model should be derived from the QObject (dirctly or indirectly) and it should implement method
TDialog | the type of dialog. |
TDialogModel | the type of dialog model. |
bool IDialogService::showDialog | ( | TDialogModel * | dlgModel | ) | const |
Creates new instance of the dialog (if any was registered for the TDialogModel), opens a modal dialog and returns true if user accept it, otherwise false. Also returns false, if dialog was not registered for the TDialogModel.
This method was added for convinient, and it uses createDialog() inside.
TDialogModel | the type of dialog model. |
bool IDialogService::unregisterDialogForModel | ( | ) |
Unregisters (pops) last registered dialog (that had to display model) for the specified model type TDialogModel.
Component, that is going to shut down, should unregister all dialogs to restore old ones (if any were).
Returns true if dialog for the specified model type has been registered. Otherwise, returns false.
|
protectedpure virtual |
When overridden creates a new instance of the registered dialog with specified model, using constructor.
This method is invoked from the showDialogForModel().
Implemented in DialogService.
|
protectedpure virtual |
When overridden returns true if dialog for the specified model type has been already registered. Otherwise, returns false.
Implemented in DialogService.
|
protectedpure virtual |
When overridden registers the specified dialog constructor with the model type name for the creating dialog by demand (by the passed model type name).
This method is invoked from the template registerDialog() method, which gets model type name from the template model, and specializes dialog constructor with specified dialog and model types.
Implemented in DialogService.
|
protectedpure virtual |
When overridden creates a new instance of the registered dialog with specified model, shows it and returns closing code. If dialog was not registered for this model type, returns false.
Implemented in DialogService.
|
protectedpure virtual |
When overridden removes dialog constructor for the specified model type.
Returns true if dialog constructor for the specified model type has been registered. Otherwise, returns false.
Implemented in DialogService.