mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-06-13 05:17:13 +02:00
gui changes (#87)
This commit is contained in:
@ -69,17 +69,17 @@ class qDetectorMain : public QMainWindow, private Ui::DetectorMainObject {
|
|||||||
};
|
};
|
||||||
slsDetectorDefs::detectorType detType;
|
slsDetectorDefs::detectorType detType;
|
||||||
std::unique_ptr<sls::Detector> det;
|
std::unique_ptr<sls::Detector> det;
|
||||||
std::unique_ptr<qDrawPlot> plot;
|
qDrawPlot *plot;
|
||||||
std::unique_ptr<MyTabWidget> tabs;
|
MyTabWidget* tabs;
|
||||||
std::unique_ptr<QScrollArea> scroll[NumberOfTabs];
|
std::unique_ptr<QScrollArea> scroll[NumberOfTabs];
|
||||||
std::unique_ptr<qTabMeasurement> tabMeasurement;
|
qTabMeasurement *tabMeasurement;
|
||||||
std::unique_ptr<qTabDataOutput> tabDataOutput;
|
qTabDataOutput *tabDataOutput;
|
||||||
std::unique_ptr<qTabPlot> tabPlot;
|
qTabPlot *tabPlot;
|
||||||
std::unique_ptr<qTabSettings> tabSettings;
|
qTabSettings *tabSettings;
|
||||||
std::unique_ptr<qTabAdvanced> tabAdvanced;
|
qTabAdvanced *tabAdvanced;
|
||||||
std::unique_ptr<qTabDebugging> tabDebugging;
|
qTabDebugging *tabDebugging;
|
||||||
std::unique_ptr<qTabDeveloper> tabDeveloper;
|
qTabDeveloper *tabDeveloper;
|
||||||
std::unique_ptr<qTabMessages> tabMessages;
|
qTabMessages *tabMessages;
|
||||||
int isDeveloper;
|
int isDeveloper;
|
||||||
int heightPlotWindow;
|
int heightPlotWindow;
|
||||||
int heightCentralWidget;
|
int heightCentralWidget;
|
||||||
|
@ -114,29 +114,32 @@ qDetectorMain::qDetectorMain(int multiId, const std::string& fname, bool isDevel
|
|||||||
SetUpWidgetWindow();
|
SetUpWidgetWindow();
|
||||||
}
|
}
|
||||||
|
|
||||||
qDetectorMain::~qDetectorMain() = default;
|
qDetectorMain::~qDetectorMain(){
|
||||||
|
disconnect(tabs, SIGNAL(currentChanged(int)), this,
|
||||||
|
SLOT(Refresh(int)));
|
||||||
|
}
|
||||||
|
|
||||||
void qDetectorMain::SetUpWidgetWindow() {
|
void qDetectorMain::SetUpWidgetWindow() {
|
||||||
setFont(QFont("Sans Serif", qDefs::Q_FONT_SIZE, QFont::Normal));
|
setFont(QFont("Sans Serif", qDefs::Q_FONT_SIZE, QFont::Normal));
|
||||||
|
|
||||||
// plot setup
|
// plot setup
|
||||||
plot = sls::make_unique<qDrawPlot>(dockWidgetPlot, det.get());
|
plot = new qDrawPlot(dockWidgetPlot, det.get());
|
||||||
FILE_LOG(logDEBUG) << "DockPlot ready";
|
FILE_LOG(logDEBUG) << "DockPlot ready";
|
||||||
dockWidgetPlot->setWidget(plot.get());
|
dockWidgetPlot->setWidget(plot);
|
||||||
|
|
||||||
// tabs setup
|
// tabs setup
|
||||||
tabs = sls::make_unique<MyTabWidget>(this);
|
tabs = new MyTabWidget(this);
|
||||||
layoutTabs->addWidget(tabs.get());
|
layoutTabs->addWidget(tabs);
|
||||||
|
|
||||||
// creating all the other tab widgets
|
// creating all the other tab widgets
|
||||||
tabMeasurement =
|
tabMeasurement =
|
||||||
sls::make_unique<qTabMeasurement>(this, det.get(), plot.get());
|
new qTabMeasurement(this, det.get(), plot);
|
||||||
tabDataOutput = sls::make_unique<qTabDataOutput>(this, det.get());
|
tabDataOutput = new qTabDataOutput(this, det.get());
|
||||||
tabPlot = sls::make_unique<qTabPlot>(this, det.get(), plot.get());
|
tabPlot = new qTabPlot(this, det.get(), plot);
|
||||||
tabSettings = sls::make_unique<qTabSettings>(this, det.get());
|
tabSettings = new qTabSettings(this, det.get());
|
||||||
tabAdvanced = sls::make_unique<qTabAdvanced>(this, det.get(), plot.get());
|
tabAdvanced = new qTabAdvanced(this, det.get(), plot);
|
||||||
tabDebugging = sls::make_unique<qTabDebugging>(this, det.get());
|
tabDebugging = new qTabDebugging(this, det.get());
|
||||||
tabDeveloper = sls::make_unique<qTabDeveloper>(this, det.get());
|
tabDeveloper = new qTabDeveloper(this, det.get());
|
||||||
|
|
||||||
// creating the scroll area widgets for the tabs
|
// creating the scroll area widgets for the tabs
|
||||||
for (int i = 0; i < NumberOfTabs; ++i) {
|
for (int i = 0; i < NumberOfTabs; ++i) {
|
||||||
@ -144,13 +147,13 @@ void qDetectorMain::SetUpWidgetWindow() {
|
|||||||
scroll[i]->setFrameShape(QFrame::NoFrame);
|
scroll[i]->setFrameShape(QFrame::NoFrame);
|
||||||
}
|
}
|
||||||
// setting the tab widgets to the scrollareas
|
// setting the tab widgets to the scrollareas
|
||||||
scroll[MEASUREMENT]->setWidget(tabMeasurement.get());
|
scroll[MEASUREMENT]->setWidget(tabMeasurement);
|
||||||
scroll[DATAOUTPUT]->setWidget(tabDataOutput.get());
|
scroll[DATAOUTPUT]->setWidget(tabDataOutput);
|
||||||
scroll[PLOT]->setWidget(tabPlot.get());
|
scroll[PLOT]->setWidget(tabPlot);
|
||||||
scroll[SETTINGS]->setWidget(tabSettings.get());
|
scroll[SETTINGS]->setWidget(tabSettings);
|
||||||
scroll[ADVANCED]->setWidget(tabAdvanced.get());
|
scroll[ADVANCED]->setWidget(tabAdvanced);
|
||||||
scroll[DEBUGGING]->setWidget(tabDebugging.get());
|
scroll[DEBUGGING]->setWidget(tabDebugging);
|
||||||
scroll[DEVELOPER]->setWidget(tabDeveloper.get());
|
scroll[DEVELOPER]->setWidget(tabDeveloper);
|
||||||
// inserting all the tabs
|
// inserting all the tabs
|
||||||
tabs->insertTab(MEASUREMENT, scroll[MEASUREMENT].get(), "Measurement");
|
tabs->insertTab(MEASUREMENT, scroll[MEASUREMENT].get(), "Measurement");
|
||||||
tabs->insertTab(DATAOUTPUT, scroll[DATAOUTPUT].get(), "Data Output");
|
tabs->insertTab(DATAOUTPUT, scroll[DATAOUTPUT].get(), "Data Output");
|
||||||
@ -160,17 +163,17 @@ void qDetectorMain::SetUpWidgetWindow() {
|
|||||||
tabs->insertTab(DEBUGGING, scroll[DEBUGGING].get(), "Debugging");
|
tabs->insertTab(DEBUGGING, scroll[DEBUGGING].get(), "Debugging");
|
||||||
tabs->insertTab(DEVELOPER, scroll[DEVELOPER].get(), "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, "Terminal");
|
||||||
|
|
||||||
// swap tabs so that messages is last tab
|
// swap tabs so that messages is last tab
|
||||||
tabs->tabBar()->moveTab(tabs->indexOf(tabMeasurement.get()), MEASUREMENT);
|
tabs->tabBar()->moveTab(tabs->indexOf(tabMeasurement), MEASUREMENT);
|
||||||
tabs->tabBar()->moveTab(tabs->indexOf(tabSettings.get()), SETTINGS);
|
tabs->tabBar()->moveTab(tabs->indexOf(tabSettings), SETTINGS);
|
||||||
tabs->tabBar()->moveTab(tabs->indexOf(tabDataOutput.get()), DATAOUTPUT);
|
tabs->tabBar()->moveTab(tabs->indexOf(tabDataOutput), DATAOUTPUT);
|
||||||
tabs->tabBar()->moveTab(tabs->indexOf(tabPlot.get()), PLOT);
|
tabs->tabBar()->moveTab(tabs->indexOf(tabPlot), PLOT);
|
||||||
tabs->tabBar()->moveTab(tabs->indexOf(tabAdvanced.get()), ADVANCED);
|
tabs->tabBar()->moveTab(tabs->indexOf(tabAdvanced), ADVANCED);
|
||||||
tabs->tabBar()->moveTab(tabs->indexOf(tabDebugging.get()), DEBUGGING);
|
tabs->tabBar()->moveTab(tabs->indexOf(tabDebugging), DEBUGGING);
|
||||||
tabs->tabBar()->moveTab(tabs->indexOf(tabDeveloper.get()), DEVELOPER);
|
tabs->tabBar()->moveTab(tabs->indexOf(tabDeveloper), DEVELOPER);
|
||||||
tabs->tabBar()->moveTab(tabs->indexOf(tabMessages.get()), MESSAGES);
|
tabs->tabBar()->moveTab(tabs->indexOf(tabMessages), MESSAGES);
|
||||||
tabs->setCurrentIndex(MEASUREMENT);
|
tabs->setCurrentIndex(MEASUREMENT);
|
||||||
|
|
||||||
// other tab properties
|
// other tab properties
|
||||||
@ -209,7 +212,7 @@ void qDetectorMain::SetUpDetector(const std::string& config_file, int multiID) {
|
|||||||
det = sls::make_unique<sls::Detector>(multiID);
|
det = sls::make_unique<sls::Detector>(multiID);
|
||||||
|
|
||||||
// create messages tab to capture config file loading logs
|
// create messages tab to capture config file loading logs
|
||||||
tabMessages = sls::make_unique<qTabMessages>(this);
|
tabMessages = new qTabMessages(this);
|
||||||
|
|
||||||
// loads the config file at startup
|
// loads the config file at startup
|
||||||
if (!config_file.empty())
|
if (!config_file.empty())
|
||||||
@ -252,21 +255,21 @@ void qDetectorMain::Initialization() {
|
|||||||
connect(dockWidgetPlot, SIGNAL(topLevelChanged(bool)), this,
|
connect(dockWidgetPlot, SIGNAL(topLevelChanged(bool)), this,
|
||||||
SLOT(ResizeMainWindow(bool)));
|
SLOT(ResizeMainWindow(bool)));
|
||||||
// tabs
|
// tabs
|
||||||
connect(tabs.get(), SIGNAL(currentChanged(int)), this,
|
connect(tabs, SIGNAL(currentChanged(int)), this,
|
||||||
SLOT(Refresh(int))); //( QWidget*)));
|
SLOT(Refresh(int))); //( QWidget*)));
|
||||||
// Measurement tab
|
// Measurement tab
|
||||||
connect(tabMeasurement.get(), SIGNAL(EnableTabsSignal(bool)), this,
|
connect(tabMeasurement, SIGNAL(EnableTabsSignal(bool)), this,
|
||||||
SLOT(EnableTabs(bool)));
|
SLOT(EnableTabs(bool)));
|
||||||
connect(tabMeasurement.get(), SIGNAL(FileNameChangedSignal(QString)),
|
connect(tabMeasurement, SIGNAL(FileNameChangedSignal(QString)),
|
||||||
plot.get(), SLOT(SetSaveFileName(QString)));
|
plot, SLOT(SetSaveFileName(QString)));
|
||||||
// Plot tab
|
// Plot tab
|
||||||
connect(tabPlot.get(), SIGNAL(DisableZoomSignal(bool)), this,
|
connect(tabPlot, SIGNAL(DisableZoomSignal(bool)), this,
|
||||||
SLOT(SetZoomToolTip(bool)));
|
SLOT(SetZoomToolTip(bool)));
|
||||||
|
|
||||||
// Plotting
|
// Plotting
|
||||||
connect(plot.get(), SIGNAL(AcquireFinishedSignal()), tabMeasurement.get(),
|
connect(plot, SIGNAL(AcquireFinishedSignal()), tabMeasurement,
|
||||||
SLOT(AcquireFinished()));
|
SLOT(AcquireFinished()));
|
||||||
connect(plot.get(), SIGNAL(AbortSignal()), tabMeasurement.get(),
|
connect(plot, SIGNAL(AbortSignal()), tabMeasurement,
|
||||||
SLOT(AbortAcquire()));
|
SLOT(AbortAcquire()));
|
||||||
|
|
||||||
// menubar
|
// menubar
|
||||||
|
Reference in New Issue
Block a user