summaryrefslogtreecommitdiffstats
path: root/src/objectBrowser/qtestbrowserdlg_p.h
diff options
context:
space:
mode:
authorSunil Thaha <sunil.thaha@nokia.com>2012-08-21 15:11:48 +1000
committerSunil Thaha <sunil.thaha+qt@gmail.com>2012-08-21 07:29:26 +0200
commit8b3982051badc30d387366bea517cbaaf0a44455 (patch)
tree56de6eb123760620910f5360407ee0929224777f /src/objectBrowser/qtestbrowserdlg_p.h
parenteeb6f6284e40dd0182070b11f2e106437a31b7e1 (diff)
QtSystemTest rocks
Initial version of QtSystemTest based on the former QtUiTest Change-Id: I99b72d26dc623ce5e4a665d3dda380b9fe4eef9d Reviewed-by: Shane Bradley <shane.bradley@nokia.com> Reviewed-by: Sunil Thaha <sunil.thaha+qt@gmail.com> Reviewed-by: David Clark <dac@dclark.org.uk>
Diffstat (limited to 'src/objectBrowser/qtestbrowserdlg_p.h')
-rw-r--r--src/objectBrowser/qtestbrowserdlg_p.h210
1 files changed, 210 insertions, 0 deletions
diff --git a/src/objectBrowser/qtestbrowserdlg_p.h b/src/objectBrowser/qtestbrowserdlg_p.h
new file mode 100644
index 0000000..ecdfa8e
--- /dev/null
+++ b/src/objectBrowser/qtestbrowserdlg_p.h
@@ -0,0 +1,210 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
+**
+** This file is part of QtSystemTest.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+
+#ifndef QTESTBROWSERDLG_P_H
+#define QTESTBROWSERDLG_P_H
+
+#include <QDialog>
+#include <QLabel>
+#include <QVariant>
+#include <QVariantMap>
+#include <QtSystemTest/qstglobal.h>
+
+class QstConnection;
+
+QT_BEGIN_NAMESPACE
+class QAction;
+class QMenu;
+class QPushButton;
+class QMouseEvent;
+class QPaintEvent;
+class QTreeWidget;
+class QTreeWidgetItem;
+class QTableWidget;
+class QTableWidgetItem;
+class QComboBox;
+class QLineEdit;
+class QSpinBox;
+class QTabWidget;
+class QCheckBox;
+QT_END_NAMESPACE
+
+class TestImageViewer : public QLabel
+{
+ Q_OBJECT
+
+public:
+ TestImageViewer( QWidget * parent = 0, Qt::WindowFlags f = 0 );
+ ~TestImageViewer();
+ void setSelectedArea(const QRect& rect);
+
+protected:
+ void mouseReleaseEvent(QMouseEvent *event);
+ void paintEvent(QPaintEvent *event);
+
+signals:
+ void clicked(const QPoint&);
+
+private:
+ QRect m_selectedArea;
+};
+
+class QSYSTEMTEST_EXPORT QTestBrowserDlg : public QDialog
+{
+ Q_OBJECT
+
+public:
+ QTestBrowserDlg(QstConnection*, const QVariantMap& = QVariantMap(), const QVariantMap& = QVariantMap());
+ ~QTestBrowserDlg();
+
+ virtual QSize sizeHint() const;
+ virtual void contextMenuEvent(QContextMenuEvent *e);
+ void setSystemTest ( QstConnection *test );
+ void setImage( const QPixmap& );
+ void setBaseItems( const QVariantMap& = QVariantMap(), const QVariantMap& = QVariantMap() );
+ void setObjectMap ( const QVariantMap& );
+
+public slots:
+ void closeWindow();
+ void onImageClicked(const QPoint&);
+ void onItemChanged(QTreeWidgetItem *item, QTreeWidgetItem *prev);
+ void onAppContextChanged(const QString& context);
+ void addQueryRow(const QString &property = QString(), const QVariant &value = QString());
+ void doQuery();
+ void clearQuery();
+ void copyQuery();
+ void expandAll();
+ void collapseAll();
+ void refresh();
+ void refreshImage();
+ void showMatch(int);
+ void viewMethods();
+ void selectItem(const QString& item);
+ void onPropertyDoubleClicked(QTableWidgetItem *item);
+ void onTabCloseRequested(int);
+ void onPropertyContextMenu(const QPoint&);
+ void onMethodsContextMenu(const QPoint&);
+ void refreshProperties();
+ void viewPropertyMethods();
+ void viewPropertyProperties();
+ void addPropertyAsQueryCondition();
+ void copyTableItemValue();
+ void copyTable();
+ void onConnectionClosed();
+ void onQueryItemChanged(QTableWidgetItem *item);
+ void onQueryContextMenu(const QPoint&);
+ void onResultsItemSelected();
+ void onMenuQueryCondition(QAction *action);
+ void onAppFinished(const QString&);
+ void onAppStarted(const QString&);
+
+protected:
+ bool eventFilter( QObject *obj, QEvent *event);
+
+private:
+ void createActions();
+ void createWidgets();
+ QTabWidget *createQueryTab();
+ void updateAppContext();
+
+ void addItemToTree(const QString &item, QTreeWidgetItem *parent = 0);
+ void initTable(QTableWidget *table, const QStringList&);
+ void initPropertyTable(QTableWidget *table);
+ void initMethodsTable(QTableWidget *table);
+ void updatePropertyTable(QTableWidget *table, const QVariantMap &propertyMap);
+ void updateMethodsTable(QTableWidget *table, const QVariantList &methods);
+ QTableWidgetItem *valueToTableItem(const QVariant &value, const QVariant &previous = QVariant());
+ QString valueToString(const QVariant &value);
+ QString currentTabSignature() const;
+ bool tableItemIsWidgetIdentifier(const QTableWidgetItem *item);
+ QVariantMap widgetSpec(const QString &signature);
+ void openPropertyTab(const QString &signature);
+ QVariantMap queryMap() const;
+
+ QVariantMap m_baseItem;
+ QVariantMap m_imgItem;
+ QString m_appId;
+ QString m_visibleTabItem;
+ QPoint m_origin;
+ QVariantMap m_map;
+ QVariantMap m_geometry;
+ QVariantMap m_children;
+ QVariantMap m_window;
+ QMap<QString,QTreeWidgetItem*> m_treeMap;
+ QStringList m_matches;
+ QStringList m_tabItemSignatures;
+ QString m_currentWindowSignature;
+
+ QstConnection *m_test;
+ TestImageViewer *m_image;
+ QComboBox *m_appContext;
+ QTreeWidget *m_tree;
+ QTabWidget *m_queryTab;
+ QTabWidget *m_propertyTab;
+ QTableWidget *m_itemPropertyTable;
+ QTableWidget *m_queryTable;
+ QTableWidget *m_resultsTable;
+ QTableWidgetItem *m_contextTableItem;
+
+ QCheckBox *m_flagInvisible;
+ QCheckBox *m_flagDisabled;
+ QCheckBox *m_flagIgnoreScan;
+
+ QAction *m_refreshAction;
+ QAction *m_expandAction;
+ QAction *m_collapseAction;
+ QAction *m_methodsAction;
+
+ // Table context menu actions
+ QAction *m_propertyRefreshAction;
+ QAction *m_propertyMethodsAction;
+ QAction *m_propertyPropertiesAction;
+ QAction *m_propertyQueryAction;
+ QAction *m_propertyCopyAction;
+ QAction *m_propertyCopyTableAction;
+
+ // Query actions
+ QAction *m_queryClearAction;
+ QAction *m_queryCopyAction;
+};
+
+#endif