14#include <QApplication>
17#include <adtf_utils.h>
18#include <adtfbase/exception_handling.h>
42 auto fnFindObject = [&]() -> T*
44 for (
auto pWidget : qApp->topLevelWidgets())
46 if (
auto pFound = qobject_cast<T*>(pWidget))
48 if (strObjectName.isEmpty() || strObjectName == pFound->objectName())
54 if (
auto pFound = pWidget->findChild<T*>(strObjectName))
65 if (QThread::currentThread() == qApp->thread())
67 pObject = fnFindObject();
71 QMetaObject::invokeMethod(qApp, fnFindObject, Qt::BlockingQueuedConnection, &pObject);
76 THROW_ERROR_DESC(ERR_NOT_FOUND,
"No widget with name %s and type %s.", strObjectName.toLocal8Bit().data(),
77 T::staticMetaObject.className());
90QString
dump_tree(
const QTreeWidgetItem* pNode,
size_t nColumnCount, QString strPrefix =
"");
98QString
dump_tree(
const QTreeWidget* pTree,
size_t nColumnCount);
106tResult
compare_dump(
const QString& strChecked,
const QString& strExpected);
135 std::chrono::milliseconds tmTimeout = std::chrono::milliseconds{0});
157QAction*
find_action(QMenu* pMenu,
const QString& strName,
bool bThrow =
true);
164void trigger_action(QAction* pAction, Qt::ConnectionType eConnectionType = Qt::BlockingQueuedConnection);
172 Qt::ConnectionType eConnectionType = Qt::BlockingQueuedConnection);
188 const QModelIndex oNode = QModelIndex(),
189 QString strPrefix =
"");
226 std::unique_ptr<QApplication> m_pApp;
243 throw std::runtime_error(
"QApplication already exists!");
248 m_argv[0] =
const_cast<char*
>(
"adtf_test");
251 m_pApp = std::make_unique<QApplication>(m_argc, m_argv);
cInitQt()
Constructor that checks for and initializes the Qt environment.
Definition qt_test_tools.h:238
A RAII utility class for automatic Qt Application initialization.
Definition qt_test_tools.h:219
cInitQt(const cInitQt &)=delete
Deleted copy constructor to prevent multiple ownership of the QApplication.
cInitQt()
Constructor that checks for and initializes the Qt environment.
Definition qt_test_tools.h:238
cInitQt & operator=(const cInitQt &)=delete
Deleted assignment operator.
Legacy version namespace for all functionality taken over from ADTF v3.7.
Definition qt_test_tools.h:28
QString dump_tree(const QTreeWidgetItem *pNode, size_t nColumnCount, QString strPrefix="")
tResult wait_for_next_ui_timer(std::chrono::nanoseconds tmTimeout=std::chrono::nanoseconds{-1})
T * find_qobject(const QString &strObjectName)
Definition qt_test_tools.h:40
tResult compare_dump(const QString &strChecked, const QString &strExpected)
Legacy version namespace for all functionality taken over from ADTF v3.11.
Definition qt_test_tools.h:119
void schedule_in_gui_thread(std::function< void()> fnFunction)
tResult execute_in_gui_thread(std::function< tResult()> fnFunction, std::chrono::milliseconds tmTimeout=std::chrono::milliseconds{0})
Legacy version namespace for all functionality taken over from ADTF v3.12.
Definition qt_test_tools.h:140
QAction * find_action(QMenu *pMenu, const QString &strName, bool bThrow=true)
tResult wait_for_next_idle(std::chrono::nanoseconds tmTimeout=std::chrono::nanoseconds{-1})
void trigger_action(QAction *pAction, Qt::ConnectionType eConnectionType=Qt::BlockingQueuedConnection)
Legacy version namespace for all functionality taken over from ADTF v3.13.
Definition qt_test_tools.h:177
QString dump_tree(const QAbstractItemModel *pTree, size_t nColumnCount, const QModelIndex oNode=QModelIndex(), QString strPrefix="")
Namespace for all functionality provided since v1.0.
Definition qt_test_tools.h:193
void schedule_in_gui_thread(std::function< void()> fnFunction)
QAction * find_action(QMenu *pMenu, const QString &strName, bool bThrow=true)
QString dump_tree(const QTreeWidgetItem *pNode, size_t nColumnCount, QString strPrefix="")
tResult execute_in_gui_thread(std::function< tResult()> fnFunction, std::chrono::milliseconds tmTimeout=std::chrono::milliseconds{0})
tResult wait_for_next_ui_timer(std::chrono::nanoseconds tmTimeout=std::chrono::nanoseconds{-1})
T * find_qobject(const QString &strObjectName)
Definition qt_test_tools.h:40
tResult wait_for_next_idle(std::chrono::nanoseconds tmTimeout=std::chrono::nanoseconds{-1})
tResult compare_dump(const QString &strChecked, const QString &strExpected)
void trigger_action(QAction *pAction, Qt::ConnectionType eConnectionType=Qt::BlockingQueuedConnection)
Namespace for all functionality provided since v1.2.
Definition qt_test_tools.h:209
Namespace for all provided testing functionality helper.
Definition qt_test_tools.h:26
Namespace for the ADTF UI SDK.
Definition adtfui_pkg.h:13
Namespace for all functionality provided by ADTF and its SDKs.
Definition adtfui_pkg.h:13