Files
qt-creator/plugins/autotest/testnavigationwidget.h
Christian Stenger e9b2840327 Provide 'Run This Test' context menu entry
This menu entry will be added only if current selected test (function)
is not an unnamed Quick Test. Otherwise it's now possible to execute
a particular test case or just a single test function by using the
context menu. This avoids the need of (de)selecting inside the model.

Change-Id: I857a3ffe72c72a9dbb06e948045cfe2c7843935d
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2015-06-24 16:40:34 +03:00

101 lines
2.3 KiB
C++

/****************************************************************************
**
** Copyright (C) 2015 The Qt Company Ltd
** All rights reserved.
** For any questions to The Qt Company, please use contact form at
** http://www.qt.io/contact-us
**
** This file is part of the Qt Creator Enterprise Auto Test Add-on.
**
** Licensees holding valid Qt Enterprise licenses may use this file in
** accordance with the Qt Enterprise License Agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company.
**
** If you have questions regarding the use of this file, please use
** contact form at http://www.qt.io/contact-us
**
****************************************************************************/
#ifndef TESTNAVIGATIONWIDGETTREEVIEW_H
#define TESTNAVIGATIONWIDGETTREEVIEW_H
#include <coreplugin/inavigationwidgetfactory.h>
#include <utils/navigationtreeview.h>
QT_BEGIN_NAMESPACE
class QAction;
class QMenu;
class QTimer;
class QToolButton;
QT_END_NAMESPACE
namespace Core {
class IContext;
}
namespace Utils {
class ProgressIndicator;
}
namespace Autotest {
namespace Internal {
class TestTreeModel;
class TestTreeSortFilterModel;
class TestTreeView;
class TestNavigationWidget : public QWidget
{
Q_OBJECT
public:
explicit TestNavigationWidget(QWidget *parent = 0);
~TestNavigationWidget();
void contextMenuEvent(QContextMenuEvent *event);
QList<QToolButton *> createToolButtons();
signals:
public slots:
private slots:
void onItemActivated(const QModelIndex &index);
void onSortClicked();
void onFilterMenuTriggered(QAction *action);
void onParsingStarted();
void onParsingFinished();
private:
void initializeFilterMenu();
void onRunThisTestTriggered();
TestTreeModel *m_model;
TestTreeSortFilterModel *m_sortFilterModel;
TestTreeView *m_view;
QToolButton *m_sort;
QToolButton *m_filterButton;
QMenu *m_filterMenu;
bool m_sortAlphabetically;
Utils::ProgressIndicator *m_progressIndicator;
QTimer *m_progressTimer;
};
class TestNavigationWidgetFactory : public Core::INavigationWidgetFactory
{
Q_OBJECT
public:
TestNavigationWidgetFactory();
private:
Core::NavigationView createWidget();
};
} // namespace Internal
} // namespace Autotest
#endif // TESTNAVIGATIONWIDGETTREEVIEW_H