18 #include <QFileDialog> 62 : QWidget( parent, fl )
64 setObjectName( name ? name :
"Go4ConfigStep");
97 SpinBoxPortNumber->setVisible(
false);
98 TextLabelPortNumber->setVisible(
false);
99 SpinBoxRetryNumber->setVisible(
false);
100 TextLabelRetryNumber->setVisible(
false);
101 SpinBoxTimeout->setVisible(
false);
102 TextLabelTimeout->setVisible(
false);
104 SpinBoxStartEvent->setVisible(
false);
105 SpinBoxStopEvent->setVisible(
false);
106 SpinBoxInterEvent->setVisible(
false);
108 LineEditArgs->setVisible(
false);
109 TextLabelArgs->setVisible(
false);
110 LineEditTagfile->setVisible(
false);
111 TextLabelTagfile->setVisible(
false);
119 ExtraBtn->setText(
fExtra ?
"-" :
"+");
122 OutputCombo->removeItem(3);
123 EventSourceCombo->removeItem(8);
130 for (
int n = 0; n <
ParsSize; n++) {
140 int ParId=SourcePar->
GetID();
150 bool stepon = EnableStepBox->isChecked();
151 bool on = EnableSourceBox->isChecked();
154 SourceBox->setEnabled(stepon && on);
165 switch (SourcePar->
GetID()) {
197 switch (SourcePar->
GetID()) {
225 LineEditTagfile->setVisible(!islml);
226 TextLabelTagfile->setVisible(!islml);
228 SpinBoxStartEvent->setEnabled(!islml);
229 SpinBoxStopEvent->setEnabled(!islml);
230 SpinBoxInterEvent->setEnabled(!islml);
236 bool stepon = EnableStepBox->isChecked();
237 bool on = EnableStoreBox->isChecked();
240 StoreBox->setEnabled(stepon && on);
241 StoreBox->setVisible(on);
246 parentWidget()->adjustSize();
247 parentWidget()->parentWidget()->adjustSize();
250 fxPanel->parentWidget()->adjustSize();
260 bool on = EnableStepBox->isChecked();
263 EnableSourceBox->setEnabled(on);
264 EnableStoreBox->setEnabled(on);
274 if (!StepStatus)
return;
300 EventSourceCombo->setCurrentIndex(srckind);
310 switch(StorePar->
GetID()) {
380 bool delsrcpar =
true;
392 if (delsrcpar)
delete srcpar;
396 TString filename, hostname;
399 switch(srcpar->
GetID()) {
403 filename = srcpar->GetName();
410 hostname = srcpar->GetName();
411 port = mbspar ? mbspar->
GetPort() : 0;
477 fPars[kind] = newpar;
484 if (delsrcpar)
delete srcpar;
489 SourceNameEdit->setText(name);
490 SpinBoxTimeout->setValue(timeout);
495 SpinBoxStartEvent->setValue(start);
496 SpinBoxStopEvent->setValue(stop);
497 SpinBoxInterEvent->setValue(interval);
498 SpinBoxPortNumber->setValue(port);
499 SpinBoxRetryNumber->setValue(0);
511 SpinBoxPortNumber->setVisible(
false);
512 TextLabelPortNumber->setVisible(
false);
513 SpinBoxRetryNumber->setVisible(
false);
514 TextLabelRetryNumber->setVisible(
false);
515 LineEditArgs->setVisible(
false);
516 TextLabelArgs->setVisible(
false);
517 LineEditTagfile->setVisible(
false);
518 TextLabelTagfile->setVisible(
false);
520 SpinBoxStartEvent->setVisible(
false);
521 SpinBoxStopEvent->setVisible(
false);
522 SpinBoxInterEvent->setVisible(
false);
523 SpinBoxTimeout->setVisible(
false);
524 TextLabelTimeout->setVisible(
false);
525 FileNameBtn->setEnabled(
false);
526 MbsMonitorBtn->setEnabled(
false);
532 SourceNameEdit->setText(srcpar->GetName());
533 SpinBoxTimeout->setValue(srcpar->
GetTimeout());
541 SpinBoxPortNumber->setValue(mbspar->
GetPort());
542 SpinBoxRetryNumber->setValue(mbspar->
GetRetryCnt());
553 FileNameBtn->setEnabled(
true);
557 FileNameBtn->setEnabled(
true);
562 LineEditTagfile->setText(tagfile);
565 LineEditTagfile->setText(
"");
568 LineEditTagfile->setVisible(
fExtra);
569 TextLabelTagfile->setVisible(
fExtra);
571 SpinBoxStartEvent->setVisible(
fExtra);
572 SpinBoxStopEvent->setVisible(
fExtra);
573 SpinBoxInterEvent->setVisible(
fExtra);
580 TextLabelTimeout->setVisible(
fExtra);
581 SpinBoxTimeout->setVisible(
fExtra);
582 TextLabelPortNumber->setVisible(
fExtra);
583 SpinBoxPortNumber->setVisible(
fExtra);
584 TextLabelRetryNumber->setVisible(
fExtra);
585 SpinBoxRetryNumber->setVisible(
fExtra);
587 SpinBoxStartEvent->setVisible(
fExtra);
588 SpinBoxStopEvent->setVisible(
fExtra);
589 SpinBoxInterEvent->setVisible(
fExtra);
596 FileNameBtn->setEnabled(
true);
597 SpinBoxPortNumber->setValue(userpar->
GetPort());
599 SpinBoxPortNumber->setVisible(
fExtra);
600 TextLabelPortNumber->setVisible(
fExtra);
601 LineEditArgs->setVisible(
fExtra);
602 TextLabelArgs->setVisible(
fExtra);
603 TextLabelTimeout->setVisible(
fExtra);
604 SpinBoxTimeout->setVisible(
fExtra);
608 FileNameBtn->setEnabled(
true);
615 parentWidget()->adjustSize();
616 parentWidget()->parentWidget()->adjustSize();
619 fxPanel->parentWidget()->adjustSize();
625 StoreNameEdit->setDisabled(
false);
628 SplitLevel->setDisabled(
false);
629 BufferSize->setDisabled(
false);
630 CompLevel->setDisabled(
false);
631 StoreOverwriteMode->setDisabled(
false);
632 FileNameOutput->setDisabled(
false);
633 TreeAutosave->setDisabled(
false);
635 StoreNameEdit->setDisabled(
true);
638 SplitLevel->setDisabled(
false);
639 BufferSize->setDisabled(
false);
640 CompLevel->setDisabled(
true);
641 StoreOverwriteMode->setDisabled(
true);
642 FileNameOutput->setDisabled(
true);
643 TreeAutosave->setDisabled(
true);
645 StoreNameEdit->setDisabled(
false);
648 SplitLevel->setDisabled(
true);
649 BufferSize->setDisabled(
true);
650 CompLevel->setDisabled(
true);
651 StoreOverwriteMode->setDisabled(
true);
652 FileNameOutput->setDisabled(
false);
653 TreeAutosave->setDisabled(
true);
656 StoreNameEdit->setDisabled(
false);
659 StoreOverwriteMode->setDisabled(
false);
660 FileNameOutput->setDisabled(
false);
661 CompLevel->setDisabled(
true);
662 TreeAutosave->setDisabled(
true);
663 SplitLevel->setDisabled(
true);
664 BufferSize->setDisabled(
true);
674 if(storepar->InheritsFrom(TGo4FileStoreParameter::Class()))
675 filters =
"Go4FileSource (*.root)";
676 else if (storepar->InheritsFrom(TGo4UserStoreParameter::Class()))
677 filters =
"Go4UserStore (*.root)";
679 else if (storepar->InheritsFrom(TGo4HDF5StoreParameter::Class())) {
680 filters=
"Go4HDF5 (*.h5)";
684 std::cout <<
"Unknown storepar " <<storepar->ClassName() << std::endl;
687 QFileDialog fd(
this,
"Select file name for step output",
689 fd.setFileMode( QFileDialog::AnyFile);
690 if ( fd.exec() != QDialog::Accepted )
return;
692 QStringList flst = fd.selectedFiles();
693 if (flst.isEmpty())
return;
695 QString fileName = flst[0];
696 std::cout <<
"output file is "<<fileName.toLatin1().constData() << std::endl;
698 if(!fileName.endsWith(
".h5")) fileName.append(
".h5");
699 std::cout <<
"output file is now "<<fileName.toLatin1().constData() << std::endl;
700 StoreNameEdit->setText(fileName);
764 int ParId=SourcePar->
GetID();
774 filpar->
SetTagName(tag.trimmed().toLatin1().constData());
819 bool mbsfilemode =
false;
822 if(sourcepar->InheritsFrom(TGo4FileSourceParameter::Class()))
823 filters =
"Go4FileSource (*.root)";
825 if (sourcepar->InheritsFrom(TGo4MbsFileParameter::Class())) {
827 filters=
"Go4MbsFile (*";
831 filters+=
");;Go4 list mode list (*";
837 if (sourcepar->InheritsFrom(TGo4UserSourceParameter::Class())) {
838 filters =
"all files (*.*)";
841 else if (sourcepar->InheritsFrom(TGo4HDF5SourceParameter::Class())) {
842 filters=
"Go4HDF5 (*.h5)";
846 std::cout <<
"Unknown sourcepar " <<sourcepar->ClassName() << std::endl;
850 fd.setFileMode(QFileDialog::ExistingFile);
852 if ( fd.exec() != QDialog::Accepted )
return;
854 QStringList flst = fd.selectedFiles();
855 if (flst.isEmpty())
return;
857 QString fileName = flst[0];
859 SourceNameEdit->setText(fileName);
863 LineEditTagfile->setVisible(!islml);
864 TextLabelTagfile->setVisible(!islml);
865 SpinBoxStartEvent->setEnabled(!islml);
866 SpinBoxStopEvent->setEnabled(!islml);
867 SpinBoxInterEvent->setEnabled(!islml);
881 res += EnableStepBox->isChecked() ?
"x" :
"o";
882 res += EnableSourceBox->isChecked() ?
"x" :
"o";
883 res += EnableStoreBox->isChecked() ?
"x" :
"o";
890 EnableStepBox->setChecked(process);
891 EnableSourceBox->setChecked(source);
892 EnableStoreBox->setChecked(store);
899 process = EnableStepBox->isChecked();
900 source = EnableSourceBox->isChecked();
901 store = EnableStoreBox->isChecked();
914 LineEditTagfile->setText(TagFile);
916 LineEditTagfile->setText(
"");
938 SpinBoxPortNumber->setValue(port>0 ? port : 0);
943 SpinBoxPortNumber->setValue(port > 0 ? port : 0);
948 SpinBoxRetryNumber->setValue(retry > 0 ? retry : 0);
960 SpinBoxPortNumber->setValue(port);
961 LineEditArgs->setText(expr);
967 EventSourceCombo->setCurrentIndex(
kind_HDF5);
968 LineEditArgs->setText(name);
975 name = SourceNameEdit->text();
976 timeout = SpinBoxTimeout->value();
977 start = SpinBoxStartEvent->value();
978 stop = SpinBoxStopEvent->value();
979 interval = SpinBoxInterEvent->value();
989 nport = SpinBoxPortNumber->value();
990 nretry = SpinBoxRetryNumber->value();
995 return EventSourceCombo->currentIndex();
1000 TagFile = LineEditTagfile->text();
1006 port = SpinBoxPortNumber->value();
1007 expr = LineEditArgs->text();
1012 StoreNameEdit->setEnabled(
true);
1013 StoreNameEdit->setText(name);
1014 OutputCombo->setCurrentIndex(0);
1015 StoreOverwriteMode->setChecked(overwrite);
1016 StoreOverwriteMode->setEnabled(
true);
1017 BufferSize->setEnabled(
true);
1018 SplitLevel->setEnabled(
true);
1019 BufferSize->setValue(bufsize/1000);
1020 SplitLevel->setValue(splitlevel);
1021 CompLevel->setValue(compression);
1022 TreeAutosave->setValue(autosave);
1023 CompLevel->setEnabled(
true);
1024 FileNameOutput->setEnabled(
true);
1030 StoreNameEdit->setEnabled(
false);
1032 OutputCombo->setCurrentIndex(1);
1033 BufferSize->setEnabled(
true);
1034 SplitLevel->setEnabled(
true);
1035 BufferSize->setValue(bufsize/1000);
1036 SplitLevel->setValue(splitlevel);
1037 StoreOverwriteMode->setEnabled(
false);
1038 CompLevel->setEnabled(
false);
1039 FileNameOutput->setEnabled(
false);
1045 StoreNameEdit->setEnabled(
true);
1046 StoreNameEdit->setText(name);
1047 OutputCombo->setCurrentIndex(2);
1049 BufferSize->setEnabled(
false);
1050 SplitLevel->setEnabled(
false);
1051 StoreOverwriteMode->setEnabled(
false);
1052 CompLevel->setEnabled(
false);
1053 FileNameOutput->setEnabled(
true);
1061 StoreNameEdit->setEnabled(
false);
1062 StoreNameEdit->setText(name);
1063 OutputCombo->setCurrentIndex(3);
1064 StoreOverwriteMode->setEnabled(
true);
1072 FileNameOutput->setEnabled(
true);
1080 QString name =
"BackStoreTree_";
1087 int typ = OutputCombo->currentIndex();
1089 else name = StoreNameEdit->text();
1095 overwrite = StoreOverwriteMode->isChecked();
1096 bufsize = BufferSize->value() * 1000;
1097 splitlevel = SplitLevel->value();
1098 compression = CompLevel->value();
1099 autosaveperiod = TreeAutosave->value();
1104 bufsize = BufferSize->value() * 1000;
1105 splitlevel = SplitLevel->value();
1124 ExtraBtn->setText(
fExtra ?
"-" :
"+");
virtual void ChangeEventInterval(int num)
void SetCompression(Int_t comp)
void SetStartEvent(UInt_t firstindex)
void SetProcessEnabled(Bool_t on=kTRUE)
virtual ~TGo4ConfigStep()
void SetStoreEnabled(Bool_t on=kTRUE)
void SetRetryCnt(Int_t cnt)
virtual void InputStateChanged(int)
void SetSplitlevel(Int_t split)
TGo4AnalysisConfiguration * fxPanel
virtual void SetStepStatus(TGo4AnalysisConfiguration *panel, TGo4AnalysisStepStatus *StepStatus, int number=-1)
Bool_t IsSourceEnabled() const
void SetSplitlevel(Int_t split)
virtual void SetMbsStreamSource()
virtual void SetUserSource(int port, QString expr)
virtual void OutputNameText(const QString &Name)
void SetStopEvent(UInt_t lastindex)
Int_t GetAutosaveSize() const
virtual void InputTagfile(const QString &tag)
virtual void OutputStateChanged(int)
virtual void StoreBufferSize(int t)
virtual void RetryCntChanged(int)
virtual void StoreOverWrite(bool overwrite)
virtual QString GetTabTitle()
virtual void SetBackStore(QString name, int bufsize, int splitlevel)
virtual void GetHDF5Store(int &flags)
virtual void SetMbsRetryCnt(int retry)
virtual void SetHDF5Store(QString name, int flags)
virtual QString GetBackStoreName()
virtual void SetSourcePath(const QString &v)
virtual void ChangeSourceTimeout(int tim)
Bool_t IsStoreEnabled() const
void SetSourceEnabled(Bool_t on=kTRUE)
virtual void SetMbsRevServSource(int port)
virtual void ExtraBtn_clicked()
UInt_t GetStopEvent() const
virtual void StepStateChanged(int)
Bool_t IsProcessEnabled() const
TGo4EventSourceParameter * GetSourcePar() const
const char * TGo4MbsFile__fgcLMDSUF
UInt_t GetStartEvent() const
const char * GetTagName() const
void SetAutosaveSize(Int_t interval)
virtual void GetFileStore(bool &overwrite, int &bufsize, int &splitlevel, int &compression, int &autosaveinterval)
TGo4EventSourceParameter * fPars[ParsSize]
void SetTagName(const char *name)
virtual void InputPortChanged(int)
virtual void MbsMonitorBtn_clicked()
void SetStorePar(TGo4EventStoreParameter *kind)
void ChangeSourceParameter(int kind)
void SetSourcePar(TGo4EventSourceParameter *kind)
virtual void GetMbsFileSource(QString &TagFile)
virtual void SetHDF5Source(QString name)
const char * GetExpression() const
void SetOverwriteMode(Bool_t over=kTRUE)
virtual int GetStoreSetup(QString &name)
virtual void GetStepControl(bool &process, bool &source, bool &store)
const char * TGo4MbsFile__fgcFILELISTSUF
Int_t IsOverwriteMode() const
virtual void SetMbsFileSource(const QString &TagFile)
Int_t GetRetryCnt() const
virtual void SetRandomSource()
TGo4EventSourceParameter * TakeSourcePar()
virtual void SetFileSource()
Int_t GetSplitlevel() const
virtual QString GetStepName()
virtual void StoreComboHighlighted(int k)
virtual void SetFileStore(QString name, bool overwrite, int bufsize, int splitlevel, int compression, int autosave=0)
void SetTimeout(Int_t out)
const char * TGo4MbsFile__fgcNOTAGFILE
virtual void SetStepControl(bool process, bool source, bool store)
void SetEventInterval(UInt_t skipinterval)
void SetBufsize(Int_t bufsize)
TGo4AnalysisStepStatus * fStepStatus
virtual void SetSourceWidgets(const QString &name, int timeout)
virtual void GetBackStore(int &bufsize, int &splitlevel)
UInt_t GetEventInterval() const
virtual QString GetSourcePath()
virtual void SetMbsTransportSource()
virtual void SetMbsSourceWidgets(int start, int stop, int interval, int port=0)
virtual void OutputFileDialog()
void SetHDF5Flags(Go4_H5_File_Flags flags)
Go4_H5_File_Flags GetHDF5Flags() const
virtual QString GetStorePath()
virtual void GetUserSource(int &port, QString &expr)
Int_t GetSplitlevel() const
virtual void InputSourceText(const QString &Name)
void SetExpression(const char *name)
virtual void ChangeStartEvent(int num)
TGo4EventStoreParameter * GetStorePar() const
virtual void SetStorePath(const QString &v)
virtual int GetSourceSetup(QString &name, int &timeout, int &start, int &stop, int &interval, int &port, int &nretry)
Int_t GetCompression() const
void SetBufsize(Int_t bufsize)
virtual void DisplayMbsMonitor(const QString &mbsname)
TGo4ConfigStep(QWidget *parent=nullptr, const char *name=nullptr, Qt::WindowFlags fl=Qt::Widget)
virtual void StoreCompLevel(int t)
virtual void InputArguments(const QString &Arg)
virtual void InputFileDialog()
virtual void StoreTreeAutoSave(int t)
virtual void SourceComboHighlighted(int kind)
void ChangeTabTitle(TGo4ConfigStep *step, int number)
virtual void SetUserStore(QString name)
virtual void SetMbsEventServerSource()
virtual void SetMbsPort(int port)
virtual void ChangeStopEvent(int num)
virtual void StoreSplitLevel(int t)