mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-21 03:10:02 +02:00
gui: scroll area uniquie pointers to remove mem leak
This commit is contained in:
parent
908afc790d
commit
a4fa9ff480
@ -16,13 +16,15 @@ class qTabMessages;
|
|||||||
#include "Detector.h"
|
#include "Detector.h"
|
||||||
|
|
||||||
#include <QTabWidget>
|
#include <QTabWidget>
|
||||||
|
|
||||||
|
class QScrollArea;
|
||||||
class QResizeEvent;
|
class QResizeEvent;
|
||||||
|
|
||||||
/** To Over-ride the QTabWidget class to get the tabBar */
|
/** To Over-ride the QTabWidget class to get the tabBar protected methodTabWidget */
|
||||||
class MyTabWidget : public QTabWidget {
|
class MyTabWidget : public QTabWidget {
|
||||||
public:
|
public:
|
||||||
MyTabWidget(QWidget *parent = 0) { setParent(parent); }
|
MyTabWidget(QWidget *parent = 0) { setParent(parent); }
|
||||||
/** Overridden method from QTabWidget */
|
/** Overridden protected method from QTabWidget */
|
||||||
QTabBar *tabBar() { return QTabWidget::tabBar(); }
|
QTabBar *tabBar() { return QTabWidget::tabBar(); }
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -72,6 +74,7 @@ class qDetectorMain : public QMainWindow, private Ui::DetectorMainObject {
|
|||||||
std::unique_ptr<sls::Detector> det;
|
std::unique_ptr<sls::Detector> det;
|
||||||
std::unique_ptr<qDrawPlot> plot;
|
std::unique_ptr<qDrawPlot> plot;
|
||||||
std::unique_ptr<MyTabWidget> tabs;
|
std::unique_ptr<MyTabWidget> tabs;
|
||||||
|
std::unique_ptr<QScrollArea> scroll[NumberOfTabs];
|
||||||
std::unique_ptr<qTabMeasurement> tabMeasurement;
|
std::unique_ptr<qTabMeasurement> tabMeasurement;
|
||||||
std::unique_ptr<qTabDataOutput> tabDataOutput;
|
std::unique_ptr<qTabDataOutput> tabDataOutput;
|
||||||
std::unique_ptr<qTabPlot> tabPlot;
|
std::unique_ptr<qTabPlot> tabPlot;
|
||||||
|
@ -142,9 +142,8 @@ void qDetectorMain::SetUpWidgetWindow() {
|
|||||||
tabDeveloper = sls::make_unique<qTabDeveloper>(this, det.get());
|
tabDeveloper = sls::make_unique<qTabDeveloper>(this, det.get());
|
||||||
|
|
||||||
// creating the scroll area widgets for the tabs
|
// creating the scroll area widgets for the tabs
|
||||||
QScrollArea *scroll[NumberOfTabs];
|
|
||||||
for (int i = 0; i < NumberOfTabs; ++i) {
|
for (int i = 0; i < NumberOfTabs; ++i) {
|
||||||
scroll[i] = new QScrollArea;
|
scroll[i] = sls::make_unique<QScrollArea>();
|
||||||
scroll[i]->setFrameShape(QFrame::NoFrame);
|
scroll[i]->setFrameShape(QFrame::NoFrame);
|
||||||
}
|
}
|
||||||
// setting the tab widgets to the scrollareas
|
// setting the tab widgets to the scrollareas
|
||||||
@ -156,13 +155,13 @@ void qDetectorMain::SetUpWidgetWindow() {
|
|||||||
scroll[DEBUGGING]->setWidget(tabDebugging.get());
|
scroll[DEBUGGING]->setWidget(tabDebugging.get());
|
||||||
scroll[DEVELOPER]->setWidget(tabDeveloper.get());
|
scroll[DEVELOPER]->setWidget(tabDeveloper.get());
|
||||||
// inserting all the tabs
|
// inserting all the tabs
|
||||||
tabs->insertTab(MEASUREMENT, scroll[MEASUREMENT], "Measurement");
|
tabs->insertTab(MEASUREMENT, scroll[MEASUREMENT].get(), "Measurement");
|
||||||
tabs->insertTab(DATAOUTPUT, scroll[DATAOUTPUT], "Data Output");
|
tabs->insertTab(DATAOUTPUT, scroll[DATAOUTPUT].get(), "Data Output");
|
||||||
tabs->insertTab(PLOT, scroll[PLOT], "Plot");
|
tabs->insertTab(PLOT, scroll[PLOT].get(), "Plot");
|
||||||
tabs->insertTab(SETTINGS, scroll[SETTINGS], "Settings");
|
tabs->insertTab(SETTINGS, scroll[SETTINGS].get(), "Settings");
|
||||||
tabs->insertTab(ADVANCED, scroll[ADVANCED], "Advanced");
|
tabs->insertTab(ADVANCED, scroll[ADVANCED].get(), "Advanced");
|
||||||
tabs->insertTab(DEBUGGING, scroll[DEBUGGING], "Debugging");
|
tabs->insertTab(DEBUGGING, scroll[DEBUGGING].get(), "Debugging");
|
||||||
tabs->insertTab(DEVELOPER, scroll[DEVELOPER], "Developer");
|
tabs->insertTab(DEVELOPER, scroll[DEVELOPER].get(), "Developer");
|
||||||
// no scroll buttons this way
|
// no scroll buttons this way
|
||||||
tabs->insertTab(MESSAGES, tabMessages.get(), "Terminal");
|
tabs->insertTab(MESSAGES, tabMessages.get(), "Terminal");
|
||||||
|
|
||||||
@ -182,8 +181,7 @@ void qDetectorMain::SetUpWidgetWindow() {
|
|||||||
defaultTabColor = tabs->tabBar()->tabTextColor(DATAOUTPUT);
|
defaultTabColor = tabs->tabBar()->tabTextColor(DATAOUTPUT);
|
||||||
// Set the current tab(measurement) to blue as it is the current one
|
// Set the current tab(measurement) to blue as it is the current one
|
||||||
tabs->tabBar()->setTabTextColor(0, QColor(0, 0, 200, 255));
|
tabs->tabBar()->setTabTextColor(0, QColor(0, 0, 200, 255));
|
||||||
// increase the width so it uses all the empty space for the tab titles
|
tabs->tabBar()->setExpanding(true);
|
||||||
tabs->tabBar()->setFixedWidth(width() + 61);
|
|
||||||
|
|
||||||
// mode setup - to set up the tabs initially as disabled, not in form so
|
// mode setup - to set up the tabs initially as disabled, not in form so
|
||||||
// done here
|
// done here
|
||||||
|
Loading…
x
Reference in New Issue
Block a user