##// END OF EJS Templates
Merge branch 'feature/WidgetsNames' into develop
Alexandre Leroux -
r204:418c600ae7b7 merge
parent child
Show More
@@ -1,43 +1,43
1 1 #ifndef SCIQLOP_VISUALIZATIONGRAPHWIDGET_H
2 2 #define SCIQLOP_VISUALIZATIONGRAPHWIDGET_H
3 3
4 4 #include "Visualization/IVisualizationWidget.h"
5 5
6 6 #include <QWidget>
7 7
8 8 #include <memory>
9 9
10 10 #include <Common/spimpl.h>
11 11
12 12 class Variable;
13 13
14 14 namespace Ui {
15 15 class VisualizationGraphWidget;
16 16 } // namespace Ui
17 17
18 18 class VisualizationGraphWidget : public QWidget, public IVisualizationWidget {
19 19 Q_OBJECT
20 20
21 21 public:
22 explicit VisualizationGraphWidget(QWidget *parent = 0);
22 explicit VisualizationGraphWidget(const QString name = {}, QWidget *parent = 0);
23 23 virtual ~VisualizationGraphWidget();
24 24
25 25 void addVariable(std::shared_ptr<Variable> variable);
26 26
27 27 // IVisualizationWidget interface
28 28 void accept(IVisualizationWidget *visitor) override;
29 29 void close() override;
30 30 QString name() const;
31 31
32 32 private:
33 33 Ui::VisualizationGraphWidget *ui;
34 34
35 35 class VisualizationGraphWidgetPrivate;
36 36 spimpl::unique_impl_ptr<VisualizationGraphWidgetPrivate> impl;
37 37
38 38 private slots:
39 39 /// Slot called when a mouse wheel was made, to perform some processing before the zoom is done
40 40 void onMouseWheel(QWheelEvent *event) noexcept;
41 41 };
42 42
43 43 #endif // SCIQLOP_VISUALIZATIONGRAPHWIDGET_H
@@ -1,39 +1,50
1 1 #ifndef SCIQLOP_VISUALIZATIONTABWIDGET_H
2 2 #define SCIQLOP_VISUALIZATIONTABWIDGET_H
3 3
4 4 #include "Visualization/IVisualizationWidget.h"
5 5
6 #include <Common/spimpl.h>
7
6 8 #include <QWidget>
7 9
10 class Variable;
8 11 class VisualizationZoneWidget;
9 12
10 13 namespace Ui {
11 14 class VisualizationTabWidget;
12 15 } // namespace Ui
13 16
14 17 class VisualizationTabWidget : public QWidget, public IVisualizationWidget {
15 18 Q_OBJECT
16 19
17 20 public:
18 explicit VisualizationTabWidget(QWidget *parent = 0);
21 explicit VisualizationTabWidget(const QString &name = {}, QWidget *parent = 0);
19 22 virtual ~VisualizationTabWidget();
20 23
21 24 /// Add a zone widget
22 25 void addZone(VisualizationZoneWidget *zoneWidget);
23 26
24 /// Create a zone using a Variable
25 VisualizationZoneWidget *createZone();
27 /**
28 * Creates a zone using a variable. The variable will be displayed in a new graph of the new
29 * zone.
30 * @param variable the variable for which to create the zone
31 * @return the pointer to the created zone
32 */
33 VisualizationZoneWidget *createZone(std::shared_ptr<Variable> variable);
26 34
27 35 /// Remove a zone
28 36 void removeZone(VisualizationZoneWidget *zone);
29 37
30 38 // IVisualizationWidget interface
31 39 void accept(IVisualizationWidget *visitor) override;
32 40 void close() override;
33 41 QString name() const override;
34 42
35 43 private:
36 44 Ui::VisualizationTabWidget *ui;
45
46 class VisualizationTabWidgetPrivate;
47 spimpl::unique_impl_ptr<VisualizationTabWidgetPrivate> impl;
37 48 };
38 49
39 50 #endif // SCIQLOP_VISUALIZATIONTABWIDGET_H
@@ -1,39 +1,44
1 1 #ifndef SCIQLOP_VISUALIZATIONZONEWIDGET_H
2 2 #define SCIQLOP_VISUALIZATIONZONEWIDGET_H
3 3
4 4 #include "Visualization/IVisualizationWidget.h"
5 5
6 class VisualizationGraphWidget;
7
8 6 #include <QWidget>
9 7
10 8 namespace Ui {
11 9 class VisualizationZoneWidget;
12 10 } // Ui
13 11
12 class Variable;
13 class VisualizationGraphWidget;
14
14 15 class VisualizationZoneWidget : public QWidget, public IVisualizationWidget {
15 16 Q_OBJECT
16 17
17 18 public:
18 explicit VisualizationZoneWidget(QWidget *parent = 0);
19 explicit VisualizationZoneWidget(const QString &name = {}, QWidget *parent = 0);
19 20 virtual ~VisualizationZoneWidget();
20 21
21 22 /// Add a graph widget
22 23 void addGraph(VisualizationGraphWidget *graphWidget);
23 24
24 /// Create a graph using a Variable
25 VisualizationGraphWidget *createGraph();
25 /**
26 * Creates a graph using a variable. The variable will be displayed in the new graph.
27 * @param variable the variable for which to create the graph
28 * @return the pointer to the created graph
29 */
30 VisualizationGraphWidget *createGraph(std::shared_ptr<Variable> variable);
26 31
27 32 /// Remove a graph
28 33 void removeGraph(VisualizationGraphWidget *graph);
29 34
30 35 // IVisualizationWidget interface
31 36 void accept(IVisualizationWidget *visitor) override;
32 37 void close() override;
33 38 QString name() const override;
34 39
35 40 private:
36 41 Ui::VisualizationZoneWidget *ui;
37 42 };
38 43
39 44 #endif // SCIQLOP_VISUALIZATIONZONEWIDGET_H
@@ -1,86 +1,95
1 1 #include "Visualization/VisualizationGraphWidget.h"
2 2 #include "Visualization/GraphPlottablesFactory.h"
3 3 #include "ui_VisualizationGraphWidget.h"
4 4
5 5 #include <Variable/Variable.h>
6 6
7 7 #include <unordered_map>
8 8
9 9 namespace {
10 10
11 11 /// Key pressed to enable zoom on horizontal axis
12 12 const auto HORIZONTAL_ZOOM_MODIFIER = Qt::NoModifier;
13 13
14 14 /// Key pressed to enable zoom on vertical axis
15 15 const auto VERTICAL_ZOOM_MODIFIER = Qt::ControlModifier;
16 16
17 17 } // namespace
18 18
19 19 struct VisualizationGraphWidget::VisualizationGraphWidgetPrivate {
20 20
21 21 // 1 variable -> n qcpplot
22 22 std::unordered_map<std::shared_ptr<Variable>, QCPAbstractPlottable *> m_VariableToPlotMap;
23 23 };
24 24
25 VisualizationGraphWidget::VisualizationGraphWidget(QWidget *parent)
25 VisualizationGraphWidget::VisualizationGraphWidget(const QString name, QWidget *parent)
26 26 : QWidget{parent},
27 27 ui{new Ui::VisualizationGraphWidget},
28 28 impl{spimpl::make_unique_impl<VisualizationGraphWidgetPrivate>()}
29 29 {
30 30 ui->setupUi(this);
31 31
32 // qcpplot title
33 ui->widget->plotLayout()->insertRow(0);
34 ui->widget->plotLayout()->addElement(0, 0, new QCPTextElement{ui->widget, name});
35
32 36 // Set qcpplot properties :
33 37 // - Drag (on x-axis) and zoom are enabled
34 38 // - Mouse wheel on qcpplot is intercepted to determine the zoom orientation
35 39 ui->widget->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom);
36 40 ui->widget->axisRect()->setRangeDrag(Qt::Horizontal);
37 41 connect(ui->widget, &QCustomPlot::mouseWheel, this, &VisualizationGraphWidget::onMouseWheel);
38 42 }
39 43
40 44 VisualizationGraphWidget::~VisualizationGraphWidget()
41 45 {
42 46 delete ui;
43 47 }
44 48
45 49 void VisualizationGraphWidget::addVariable(std::shared_ptr<Variable> variable)
46 50 {
47 51 // Uses delegate to create the qcpplot components according to the variable
48 52 auto createdPlottables = GraphPlottablesFactory::create(variable, *ui->widget);
49 53
50 54 for (auto createdPlottable : qAsConst(createdPlottables)) {
51 55 impl->m_VariableToPlotMap.insert({variable, createdPlottable});
52 56 }
53 57 }
54 58
55 59 void VisualizationGraphWidget::accept(IVisualizationWidget *visitor)
56 60 {
57 61 // TODO: manage the visitor
58 62 }
59 63
60 64 void VisualizationGraphWidget::close()
61 65 {
62 66 // The main view cannot be directly closed.
63 67 return;
64 68 }
65 69
66 70 QString VisualizationGraphWidget::name() const
67 71 {
68 return QStringLiteral("MainView");
72 if (auto title = dynamic_cast<QCPTextElement *>(ui->widget->plotLayout()->elementAt(0))) {
73 return title->text();
74 }
75 else {
76 return QString{};
77 }
69 78 }
70 79
71 80 void VisualizationGraphWidget::onMouseWheel(QWheelEvent *event) noexcept
72 81 {
73 82 auto zoomOrientations = QFlags<Qt::Orientation>{};
74 83
75 84 // Lambda that enables a zoom orientation if the key modifier related to this orientation has
76 85 // been pressed
77 86 auto enableOrientation
78 87 = [&zoomOrientations, event](const auto &orientation, const auto &modifier) {
79 88 auto orientationEnabled = event->modifiers().testFlag(modifier);
80 89 zoomOrientations.setFlag(orientation, orientationEnabled);
81 90 };
82 91 enableOrientation(Qt::Vertical, VERTICAL_ZOOM_MODIFIER);
83 92 enableOrientation(Qt::Horizontal, HORIZONTAL_ZOOM_MODIFIER);
84 93
85 94 ui->widget->axisRect()->setRangeZoom(zoomOrientations);
86 95 }
@@ -1,49 +1,77
1 1 #include "Visualization/VisualizationTabWidget.h"
2 2 #include "ui_VisualizationTabWidget.h"
3 3
4 4 #include "Visualization/VisualizationZoneWidget.h"
5 5
6 namespace {
6 7
7 VisualizationTabWidget::VisualizationTabWidget(QWidget *parent)
8 : QWidget{parent}, ui{new Ui::VisualizationTabWidget}
8 /// Generates a default name for a new zone, according to the number of zones already displayed in
9 /// the tab
10 QString defaultZoneName(const QLayout &layout)
11 {
12 auto count = 0;
13 for (auto i = 0; i < layout.count(); ++i) {
14 if (dynamic_cast<VisualizationZoneWidget *>(layout.itemAt(i)->widget())) {
15 count++;
16 }
17 }
18
19 return QObject::tr("Zone %1").arg(count + 1);
20 }
21
22 } // namespace
23
24 struct VisualizationTabWidget::VisualizationTabWidgetPrivate {
25 explicit VisualizationTabWidgetPrivate(const QString &name) : m_Name{name} {}
26
27 QString m_Name;
28 };
29
30 VisualizationTabWidget::VisualizationTabWidget(const QString &name, QWidget *parent)
31 : QWidget{parent},
32 ui{new Ui::VisualizationTabWidget},
33 impl{spimpl::make_unique_impl<VisualizationTabWidgetPrivate>(name)}
9 34 {
10 35 ui->setupUi(this);
11 36 }
12 37
13 38 VisualizationTabWidget::~VisualizationTabWidget()
14 39 {
15 40 delete ui;
16 41 }
17 42
18 43 void VisualizationTabWidget::addZone(VisualizationZoneWidget *zoneWidget)
19 44 {
20 45 this->layout()->addWidget(zoneWidget);
21 46 }
22 47
23 VisualizationZoneWidget *VisualizationTabWidget::createZone()
48 VisualizationZoneWidget *VisualizationTabWidget::createZone(std::shared_ptr<Variable> variable)
24 49 {
25 auto zoneWidget = new VisualizationZoneWidget{this};
50 auto zoneWidget = new VisualizationZoneWidget{defaultZoneName(*layout()), this};
26 51 this->addZone(zoneWidget);
27 52
53 // Creates a new graph into the zone
54 zoneWidget->createGraph(variable);
55
28 56 return zoneWidget;
29 57 }
30 58
31 59 void VisualizationTabWidget::removeZone(VisualizationZoneWidget *zone)
32 60 {
33 61 }
34 62
35 63 void VisualizationTabWidget::accept(IVisualizationWidget *visitor)
36 64 {
37 65 // TODO: manage the visitor
38 66 }
39 67
40 68 void VisualizationTabWidget::close()
41 69 {
42 70 // The main view cannot be directly closed.
43 71 return;
44 72 }
45 73
46 74 QString VisualizationTabWidget::name() const
47 75 {
48 return QStringLiteral("MainView");
76 return impl->m_Name;
49 77 }
@@ -1,117 +1,112
1 1 #include "Visualization/VisualizationWidget.h"
2 2 #include "Visualization/VisualizationGraphWidget.h"
3 3 #include "Visualization/VisualizationTabWidget.h"
4 4 #include "Visualization/VisualizationZoneWidget.h"
5 5 #include "Visualization/qcustomplot.h"
6 6
7 7 #include "ui_VisualizationWidget.h"
8 8
9 9 #include <QToolButton>
10 10
11 11 Q_LOGGING_CATEGORY(LOG_VisualizationWidget, "VisualizationWidget")
12 12
13 13 VisualizationWidget::VisualizationWidget(QWidget *parent)
14 14 : QWidget{parent}, ui{new Ui::VisualizationWidget}
15 15 {
16 16 ui->setupUi(this);
17 17
18 18 auto addTabViewButton = new QToolButton{ui->tabWidget};
19 19 addTabViewButton->setText(tr("Add View"));
20 20 addTabViewButton->setCursor(Qt::ArrowCursor);
21 21 ui->tabWidget->setCornerWidget(addTabViewButton, Qt::TopRightCorner);
22 22
23 23 auto enableMinimumCornerWidgetSize = [this](bool enable) {
24 24
25 25 auto tabViewCornerWidget = ui->tabWidget->cornerWidget();
26 26 auto width = enable ? tabViewCornerWidget->width() : 0;
27 27 auto height = enable ? tabViewCornerWidget->height() : 0;
28 28 tabViewCornerWidget->setMinimumHeight(height);
29 29 tabViewCornerWidget->setMinimumWidth(width);
30 30 ui->tabWidget->setMinimumHeight(height);
31 31 ui->tabWidget->setMinimumWidth(width);
32 32 };
33 33
34 34 auto addTabView = [this, enableMinimumCornerWidgetSize]() {
35 auto index = ui->tabWidget->addTab(new VisualizationTabWidget(ui->tabWidget),
36 QString("View %1").arg(ui->tabWidget->count() + 1));
35 auto widget = new VisualizationTabWidget{QString{"View %1"}.arg(ui->tabWidget->count() + 1),
36 ui->tabWidget};
37 auto index = ui->tabWidget->addTab(widget, widget->name());
37 38 if (ui->tabWidget->count() > 0) {
38 39 enableMinimumCornerWidgetSize(false);
39 40 }
40 41 qCInfo(LOG_VisualizationWidget()) << tr("add the tab of index %1").arg(index);
41 42 };
42 43
43 44 auto removeTabView = [this, enableMinimumCornerWidgetSize](int index) {
44 45 if (ui->tabWidget->count() == 1) {
45 46 enableMinimumCornerWidgetSize(true);
46 47 }
47 48
48 49 ui->tabWidget->removeTab(index);
49 50 qCInfo(LOG_VisualizationWidget()) << tr("remove the tab of index %1").arg(index);
50 51
51 52 };
52 53
53 54 ui->tabWidget->setTabsClosable(true);
54 55
55 56 connect(addTabViewButton, &QToolButton::clicked, addTabView);
56 57 connect(ui->tabWidget, &QTabWidget::tabCloseRequested, removeTabView);
58
59 // Adds default tab
60 addTabView();
57 61 }
58 62
59 63 VisualizationWidget::~VisualizationWidget()
60 64 {
61 65 delete ui;
62 66 }
63 67
64 68 void VisualizationWidget::addTab(VisualizationTabWidget *tabWidget)
65 69 {
66 70 // NOTE: check is this method has to be deleted because of its dupplicated version visible as
67 71 // lambda function (in the constructor)
68 72 }
69 73
70 74 VisualizationTabWidget *VisualizationWidget::createTab()
71 75 {
72 76 }
73 77
74 78 void VisualizationWidget::removeTab(VisualizationTabWidget *tab)
75 79 {
76 80 // NOTE: check is this method has to be deleted because of its dupplicated version visible as
77 81 // lambda function (in the constructor)
78 82 }
79 83
80 84 void VisualizationWidget::accept(IVisualizationWidget *visitor)
81 85 {
82 86 // TODO: manage the visitor
83 87 }
84 88
85 89 void VisualizationWidget::close()
86 90 {
87 91 // The main view cannot be directly closed.
88 92 return;
89 93 }
90 94
91 95 QString VisualizationWidget::name() const
92 96 {
93 97 return QStringLiteral("MainView");
94 98 }
95 99
96 100 void VisualizationWidget::displayVariable(std::shared_ptr<Variable> variable) noexcept
97 101 {
98 102 if (auto currentTab = dynamic_cast<VisualizationTabWidget *>(ui->tabWidget->currentWidget())) {
99 if (auto newZone = currentTab->createZone()) {
100 if (auto newGraph = newZone->createGraph()) {
101 newGraph->addVariable(variable);
102 }
103 else {
104 qCCritical(LOG_VisualizationWidget())
105 << tr("Can't display the variable : can't create the graph");
106 }
107 }
108 else {
103 if (!currentTab->createZone(variable)) {
109 104 qCCritical(LOG_VisualizationWidget())
110 105 << tr("Can't display the variable : can't create a new zone in the current tab");
111 106 }
112 107 }
113 108 else {
114 109 qCCritical(LOG_VisualizationWidget())
115 110 << tr("Can't display the variable : there is no current tab");
116 111 }
117 112 }
@@ -1,48 +1,71
1 1 #include "Visualization/VisualizationZoneWidget.h"
2 2 #include "ui_VisualizationZoneWidget.h"
3 3
4 4 #include "Visualization/VisualizationGraphWidget.h"
5 5
6 VisualizationZoneWidget::VisualizationZoneWidget(QWidget *parent)
6 namespace {
7
8 /// Generates a default name for a new graph, according to the number of graphs already displayed in
9 /// the zone
10 QString defaultGraphName(const QLayout &layout)
11 {
12 auto count = 0;
13 for (auto i = 0; i < layout.count(); ++i) {
14 if (dynamic_cast<VisualizationGraphWidget *>(layout.itemAt(i)->widget())) {
15 count++;
16 }
17 }
18
19 return QObject::tr("Graph %1").arg(count + 1);
20 }
21
22 } // namespace
23
24 VisualizationZoneWidget::VisualizationZoneWidget(const QString &name, QWidget *parent)
7 25 : QWidget{parent}, ui{new Ui::VisualizationZoneWidget}
8 26 {
9 27 ui->setupUi(this);
28
29 ui->zoneNameLabel->setText(name);
10 30 }
11 31
12 32 VisualizationZoneWidget::~VisualizationZoneWidget()
13 33 {
14 34 delete ui;
15 35 }
16 36
17 37 void VisualizationZoneWidget::addGraph(VisualizationGraphWidget *graphWidget)
18 38 {
19 39 ui->visualizationZoneFrame->layout()->addWidget(graphWidget);
20 40 }
21 41
22 VisualizationGraphWidget *VisualizationZoneWidget::createGraph()
42 VisualizationGraphWidget *VisualizationZoneWidget::createGraph(std::shared_ptr<Variable> variable)
23 43 {
24 auto graphWidget = new VisualizationGraphWidget{this};
44 auto graphWidget = new VisualizationGraphWidget{
45 defaultGraphName(*ui->visualizationZoneFrame->layout()), this};
25 46 this->addGraph(graphWidget);
26 47
48 graphWidget->addVariable(variable);
49
27 50 return graphWidget;
28 51 }
29 52
30 53 void VisualizationZoneWidget::removeGraph(VisualizationGraphWidget *graph)
31 54 {
32 55 }
33 56
34 57 void VisualizationZoneWidget::accept(IVisualizationWidget *visitor)
35 58 {
36 59 // TODO: manage the visitor
37 60 }
38 61
39 62 void VisualizationZoneWidget::close()
40 63 {
41 64 // The main view cannot be directly closed.
42 65 return;
43 66 }
44 67
45 68 QString VisualizationZoneWidget::name() const
46 69 {
47 return QStringLiteral("MainView");
70 return ui->zoneNameLabel->text();
48 71 }
@@ -1,41 +1,28
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <ui version="4.0">
3 3 <class>VisualizationWidget</class>
4 4 <widget class="QWidget" name="VisualizationWidget">
5 5 <property name="geometry">
6 6 <rect>
7 7 <x>0</x>
8 8 <y>0</y>
9 9 <width>400</width>
10 10 <height>300</height>
11 11 </rect>
12 12 </property>
13 13 <property name="windowTitle">
14 14 <string>Form</string>
15 15 </property>
16 16 <layout class="QVBoxLayout" name="verticalLayout">
17 17 <item>
18 18 <widget class="QTabWidget" name="tabWidget">
19 19 <property name="currentIndex">
20 <number>0</number>
20 <number>-1</number>
21 21 </property>
22 <widget class="VisualizationTabWidget" name="firstView">
23 <attribute name="title">
24 <string>View 1</string>
25 </attribute>
26 </widget>
27 22 </widget>
28 23 </item>
29 24 </layout>
30 25 </widget>
31 <customwidgets>
32 <customwidget>
33 <class>VisualizationTabWidget</class>
34 <extends>QWidget</extends>
35 <header location="global">Visualization/VisualizationTabWidget.h</header>
36 <container>1</container>
37 </customwidget>
38 </customwidgets>
39 26 <resources/>
40 27 <connections/>
41 28 </ui>
@@ -1,50 +1,76
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <ui version="4.0">
3 3 <class>VisualizationZoneWidget</class>
4 4 <widget class="QWidget" name="VisualizationZoneWidget">
5 5 <property name="geometry">
6 6 <rect>
7 7 <x>0</x>
8 8 <y>0</y>
9 9 <width>400</width>
10 10 <height>300</height>
11 11 </rect>
12 12 </property>
13 13 <property name="windowTitle">
14 14 <string>Form</string>
15 15 </property>
16 16 <layout class="QVBoxLayout" name="verticalLayout_2">
17 <property name="spacing">
18 <number>3</number>
19 </property>
20 <property name="leftMargin">
21 <number>0</number>
22 </property>
23 <property name="topMargin">
24 <number>0</number>
25 </property>
26 <property name="rightMargin">
27 <number>0</number>
28 </property>
29 <property name="bottomMargin">
30 <number>0</number>
31 </property>
17 <item>
18 <widget class="QWidget" name="infobar" native="true">
19 <property name="sizePolicy">
20 <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
21 <horstretch>0</horstretch>
22 <verstretch>0</verstretch>
23 </sizepolicy>
24 </property>
25 <layout class="QHBoxLayout" name="horizontalLayout">
26 <property name="leftMargin">
27 <number>0</number>
28 </property>
29 <property name="topMargin">
30 <number>0</number>
31 </property>
32 <property name="rightMargin">
33 <number>0</number>
34 </property>
35 <property name="bottomMargin">
36 <number>0</number>
37 </property>
38 <item>
39 <widget class="QLabel" name="zoneNameLabel">
40 <property name="styleSheet">
41 <string notr="true">color: rgb(127, 127, 127);
42 </string>
43 </property>
44 <property name="text">
45 <string>TextLabel</string>
46 </property>
47 </widget>
48 </item>
49 </layout>
50 </widget>
51 </item>
32 52 <item>
33 53 <widget class="QFrame" name="visualizationZoneFrame">
54 <property name="sizePolicy">
55 <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
56 <horstretch>0</horstretch>
57 <verstretch>0</verstretch>
58 </sizepolicy>
59 </property>
34 60 <property name="frameShape">
35 61 <enum>QFrame::Box</enum>
36 62 </property>
37 63 <property name="frameShadow">
38 64 <enum>QFrame::Raised</enum>
39 65 </property>
40 66 <property name="lineWidth">
41 67 <number>1</number>
42 68 </property>
43 69 <layout class="QVBoxLayout" name="verticalLayout"/>
44 70 </widget>
45 71 </item>
46 72 </layout>
47 73 </widget>
48 74 <resources/>
49 75 <connections/>
50 76 </ui>
@@ -1,11 +1,13
1 1 \.h:\d+:.IPSIS_S04.*found: ui
2 2 qcustomplot\.h:\d+:.IPSIS
3 3 qcustomplot\.cpp:\d+:.IPSIS
4 4
5 5 # Ignore false positive relative to App macro
6 6 SqpApplication\.h:\d+:.IPSIS_S03.*found: sqpApp
7 7 SqpApplication\.h:\d+:.IPSIS_S04_VARIABLE.*found: sqpApp
8 8
9 9 # Ignore false positive relative to unnamed namespace
10 10 DataSourceTreeWidgetItem\.cpp:\d+:.*IPSIS_F13.*
11 VisualizationTabWidget\.cpp:\d+:.*IPSIS_F13.*
12 VisualizationZoneWidget\.cpp:\d+:.*IPSIS_F13.*
11 13
General Comments 0
You need to be logged in to leave comments. Login now