gui changes (#87)

This commit is contained in:
Dhanya Thattil
2020-03-11 10:08:30 +01:00
committed by GitHub
parent dea8cba985
commit 2acf64b09c
2 changed files with 49 additions and 46 deletions

View File

@ -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;

View File

@ -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