bug fix on Histogram2D
This commit is contained in:
parent
fa3e015e3e
commit
83fbea2743
|
@ -59,9 +59,6 @@ FSUDAQ::FSUDAQ(QWidget *parent) : QMainWindow(parent){
|
||||||
cbOpenDigitizers = new RComboBox(this);
|
cbOpenDigitizers = new RComboBox(this);
|
||||||
cbOpenDigitizers->addItem("Open Digitizers ... ", 0);
|
cbOpenDigitizers->addItem("Open Digitizers ... ", 0);
|
||||||
cbOpenDigitizers->addItem("Open Digitizers via Optical/USB", 1);
|
cbOpenDigitizers->addItem("Open Digitizers via Optical/USB", 1);
|
||||||
// cbOpenDigitizers->addItem("Open Digitizers (default program)", 2);
|
|
||||||
// cbOpenDigitizers->addItem("Open Digitizers + load Settings", 3);
|
|
||||||
//cbOpenDigitizers->addItem("Open Digitizers via USB", 3);
|
|
||||||
cbOpenDigitizers->addItem("Open Digitizers via A4818(s)", 4);
|
cbOpenDigitizers->addItem("Open Digitizers via A4818(s)", 4);
|
||||||
layout->addWidget(cbOpenDigitizers, 0, 0);
|
layout->addWidget(cbOpenDigitizers, 0, 0);
|
||||||
connect(cbOpenDigitizers, &RComboBox::currentIndexChanged, this, &FSUDAQ::OpenDigitizers);
|
connect(cbOpenDigitizers, &RComboBox::currentIndexChanged, this, &FSUDAQ::OpenDigitizers);
|
||||||
|
|
131
Histogram2D.h
131
Histogram2D.h
|
@ -439,12 +439,15 @@ inline void Histogram2D::rightMouseClickMenu(QMouseEvent * event){
|
||||||
QAction * a4 = menu->addAction("Rebin (clear histogram)");
|
QAction * a4 = menu->addAction("Rebin (clear histogram)");
|
||||||
QAction * a8 = menu->addAction("Load Cut(s)");
|
QAction * a8 = menu->addAction("Load Cut(s)");
|
||||||
QAction * a5 = menu->addAction("Create a Cut");
|
QAction * a5 = menu->addAction("Create a Cut");
|
||||||
QAction * a7 = nullptr;
|
|
||||||
|
QAction * b0 = nullptr;
|
||||||
|
QAction * b1 = nullptr;
|
||||||
|
QAction * b2 = nullptr;
|
||||||
if( numCut > 0 ) {
|
if( numCut > 0 ) {
|
||||||
a7 = menu->addAction("Save Cut(s)");
|
|
||||||
menu->addSeparator();
|
menu->addSeparator();
|
||||||
menu->addAction("Add/Edit names to Cuts");
|
b0 = menu->addAction("Save Cut(s)");
|
||||||
menu->addAction("Clear all Cuts");
|
b2 = menu->addAction("Add/Edit names to Cuts");
|
||||||
|
b1 = menu->addAction("Clear all Cuts");
|
||||||
}
|
}
|
||||||
for( int i = 0; i < cutList.size(); i++){
|
for( int i = 0; i < cutList.size(); i++){
|
||||||
if( cutList[i].isEmpty()) continue;
|
if( cutList[i].isEmpty()) continue;
|
||||||
|
@ -454,20 +457,25 @@ inline void Histogram2D::rightMouseClickMenu(QMouseEvent * event){
|
||||||
|
|
||||||
QAction *selectedAction = menu->exec(event->globalPosition().toPoint());
|
QAction *selectedAction = menu->exec(event->globalPosition().toPoint());
|
||||||
|
|
||||||
|
// qDebug() << "=======================";
|
||||||
|
// qDebug() << selectedAction;
|
||||||
|
// qDebug() << b2;
|
||||||
|
|
||||||
|
if( selectedAction == nullptr ){
|
||||||
|
usingMenu = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if( selectedAction == a1 ){
|
if( selectedAction == a1 ){
|
||||||
xAxis->setRangeLower(xMin);
|
xAxis->setRangeLower(xMin);
|
||||||
xAxis->setRangeUpper(xMax);
|
xAxis->setRangeUpper(xMax);
|
||||||
yAxis->setRangeLower(yMin);
|
yAxis->setRangeLower(yMin);
|
||||||
yAxis->setRangeUpper(yMax);
|
yAxis->setRangeUpper(yMax);
|
||||||
replot();
|
replot();
|
||||||
usingMenu = false;
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( selectedAction == a2 ) {
|
if( selectedAction == a2 ) {
|
||||||
Clear();
|
Clear();
|
||||||
usingMenu = false;
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( selectedAction == a3 ){
|
if( selectedAction == a3 ){
|
||||||
|
@ -478,23 +486,17 @@ inline void Histogram2D::rightMouseClickMenu(QMouseEvent * event){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
replot();
|
replot();
|
||||||
usingMenu = false;
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( selectedAction == a4){
|
if( selectedAction == a4){
|
||||||
rightMouseClickRebin();
|
rightMouseClickRebin();
|
||||||
usingMenu = false;
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( selectedAction == a5 ){
|
if( selectedAction == a5 ){
|
||||||
tempCut.clear();
|
tempCut.clear();
|
||||||
tempCutID ++;
|
tempCutID ++;
|
||||||
isDrawCut= true;
|
isDrawCut= true;
|
||||||
usingMenu = false;
|
|
||||||
numCut ++;
|
numCut ++;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( selectedAction == a6){
|
if( selectedAction == a6){
|
||||||
|
@ -508,6 +510,55 @@ inline void Histogram2D::rightMouseClickMenu(QMouseEvent * event){
|
||||||
replot();
|
replot();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( selectedAction == a8 ){ // load Cuts
|
||||||
|
QString filePath = QFileDialog::getOpenFileName(this,
|
||||||
|
"Load Cuts from File",
|
||||||
|
settingPath,
|
||||||
|
"Text file (*.txt)");
|
||||||
|
|
||||||
|
if (!filePath.isEmpty()) LoadCuts(filePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
//*==================================== when there are cuts
|
||||||
|
if( selectedAction == b0 ){ // Save Cuts
|
||||||
|
|
||||||
|
QString filePath = QFileDialog::getSaveFileName(this,
|
||||||
|
"Save Cuts to File",
|
||||||
|
settingPath,
|
||||||
|
"Text file (*.txt)");
|
||||||
|
|
||||||
|
if (!filePath.isEmpty()) SaveCuts(filePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
if( selectedAction == b1 ){
|
||||||
|
ClearAllCuts();
|
||||||
|
}
|
||||||
|
|
||||||
|
if( selectedAction == b2 ){
|
||||||
|
|
||||||
|
QDialog dialog(this);
|
||||||
|
dialog.setWindowTitle("Add/Edit name of cuts ");
|
||||||
|
|
||||||
|
QFormLayout layout(&dialog);
|
||||||
|
|
||||||
|
for(int i = 0; i < cutTextIDList.count(); i++){
|
||||||
|
if( cutTextIDList[i] < 0 ) continue;
|
||||||
|
QLineEdit * le = new QLineEdit(&dialog);
|
||||||
|
layout.addRow(colorCycle[i%colorCycle.count()].second, le);
|
||||||
|
le->setText( cutNameList[i] );
|
||||||
|
connect(le, &QLineEdit::textChanged, this, [=](){
|
||||||
|
le->setStyleSheet("color : blue;");
|
||||||
|
});
|
||||||
|
connect(le, &QLineEdit::returnPressed, this, [=](){
|
||||||
|
le->setStyleSheet("");
|
||||||
|
cutNameList[i] = le->text();
|
||||||
|
((QCPItemText *) this->item(cutTextIDList[i]))->setText(le->text());
|
||||||
|
replot();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
dialog.exec();
|
||||||
|
}
|
||||||
|
|
||||||
if( selectedAction && numCut > 0 && selectedAction->text().contains("Delete ") ){
|
if( selectedAction && numCut > 0 && selectedAction->text().contains("Delete ") ){
|
||||||
|
|
||||||
QString haha = selectedAction->text();
|
QString haha = selectedAction->text();
|
||||||
|
@ -542,61 +593,11 @@ inline void Histogram2D::rightMouseClickMenu(QMouseEvent * event){
|
||||||
cutNameList.clear();
|
cutNameList.clear();
|
||||||
cutEntryList.clear();
|
cutEntryList.clear();
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if( selectedAction && numCut > 0 && selectedAction->text().contains("Clear all Cuts") ){
|
|
||||||
ClearAllCuts();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( selectedAction && numCut > 0 && selectedAction->text().contains("Add/Edit names to Cuts") ){
|
|
||||||
|
|
||||||
QDialog dialog(this);
|
|
||||||
dialog.setWindowTitle("Add/Edit name of cuts ");
|
|
||||||
|
|
||||||
QFormLayout layout(&dialog);
|
|
||||||
|
|
||||||
for(int i = 0; i < cutTextIDList.count(); i++){
|
|
||||||
if( cutTextIDList[i] < 0 ) continue;
|
|
||||||
QLineEdit * le = new QLineEdit(&dialog);
|
|
||||||
layout.addRow(colorCycle[i%colorCycle.count()].second, le);
|
|
||||||
le->setText( cutNameList[i] );
|
|
||||||
connect(le, &QLineEdit::textChanged, this, [=](){
|
|
||||||
le->setStyleSheet("color : blue;");
|
|
||||||
});
|
|
||||||
connect(le, &QLineEdit::returnPressed, this, [=](){
|
|
||||||
le->setStyleSheet("");
|
|
||||||
cutNameList[i] = le->text();
|
|
||||||
((QCPItemText *) this->item(cutTextIDList[i]))->setText(le->text());
|
|
||||||
replot();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
dialog.exec();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( selectedAction == a8 ){ // load Cuts
|
|
||||||
QString filePath = QFileDialog::getOpenFileName(this,
|
|
||||||
"Load Cuts from File",
|
|
||||||
settingPath,
|
|
||||||
"Text file (*.txt)");
|
|
||||||
|
|
||||||
if (!filePath.isEmpty()) LoadCuts(filePath);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if( selectedAction == a7 ){ // Save Cuts
|
|
||||||
|
|
||||||
QString filePath = QFileDialog::getSaveFileName(this,
|
|
||||||
"Save Cuts to File",
|
|
||||||
settingPath,
|
|
||||||
"Text file (*.txt)");
|
|
||||||
|
|
||||||
if (!filePath.isEmpty()) SaveCuts(filePath);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
usingMenu = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user