GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
TGo4BrowserOptions.cpp
Go to the documentation of this file.
1 // $Id$
2 //-----------------------------------------------------------------------
3 // The GSI Online Offline Object Oriented (Go4) Project
4 // Experiment Data Processing at EE department, GSI
5 //-----------------------------------------------------------------------
6 // Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7 // Planckstr. 1, 64291 Darmstadt, Germany
8 // Contact: http://go4.gsi.de
9 //-----------------------------------------------------------------------
10 // This software can be used under the license agreements as stated
11 // in Go4License.txt file which is part of the distribution.
12 //-----------------------------------------------------------------------
13 
14 #include "TGo4BrowserOptions.h"
15 
16 #include "TGo4BrowserProxy.h"
17 #include "TGo4ServerProxy.h"
18 #include "TGo4AnalysisProxy.h"
19 #include "TGo4DabcProxy.h"
20 #include "TGo4HttpProxy.h"
21 
22 TGo4BrowserOptions::TGo4BrowserOptions(QWidget *parent, const char *name) :
23  QGo4Widget(parent,name)
24 {
25  setupUi(this);
26  QObject::connect(RefreshBtn, &QToolButton::clicked, this, &TGo4BrowserOptions::RefreshBtn_clicked);
27  QObject::connect(ClearBtn, &QToolButton::clicked, this, &TGo4BrowserOptions::ClearBtn_clicked);
28  QObject::connect(StartMonitorBtn, &QToolButton::clicked, this, &TGo4BrowserOptions::StartMonitorBtn_clicked);
29  QObject::connect(StopMonitorBtn, &QToolButton::clicked, this, &TGo4BrowserOptions::StopMonitorBtn_clicked);
30  QObject::connect(FilterBox, QOverload<int>::of(&QComboBox::activated), this, &TGo4BrowserOptions::FilterBox_activated);
31 
32 }
33 
35 {
36  AddLink("","Browser");
37  UpdateView();
38 }
39 
41 {
42  int interval = Browser()->MonitoringPeriod()/1000;
43  StartMonitorBtn->setEnabled(interval <= 0);
44  StopMonitorBtn->setEnabled(interval > 0);
45 
46  if ((interval>1) && (IntervalSpin->value()!=interval))
47  IntervalSpin->setValue(interval);
48 }
49 
50 void TGo4BrowserOptions::linkedObjectUpdated(const char *linkname, TObject *obj)
51 {
52  if (strcmp(linkname,"Browser") == 0)
53  UpdateView();
54 }
55 
57 {
59  if (an) an->RefreshNamesList();
60 
61  TObjArray prlist;
62  Browser()->MakeDabcList(&prlist);
63  for (Int_t n = 0; n <= prlist.GetLast(); n++) {
64  TGo4DabcProxy *pr = dynamic_cast<TGo4DabcProxy *>(prlist.At(n));
65  if (pr) pr->RefreshNamesList();
66  }
67 
68  prlist.Clear();
69  Browser()->MakeHttpList(&prlist);
70  for (Int_t n = 0; n <= prlist.GetLast(); n++) {
71  TGo4HttpProxy *pr = dynamic_cast<TGo4HttpProxy *>(prlist.At(n));
72  if (pr) pr->RefreshNamesList();
73  }
74 
76 }
77 
79 {
81  if (an) {
83  } else {
84  TGo4ServerProxy *root_serv = Browser()->FindServer(nullptr, kFALSE);
85  if (root_serv) {
86  TString cmd = root_serv->FindCommand("Clear");
87  if (cmd.Length()>0) root_serv->SubmitCommand(cmd);
88  }
89  }
91 }
92 
94 {
95  int period = IntervalSpin->value();
96 
97  Browser()->ToggleMonitoring(period*1000);
98 
99  UpdateView();
100 }
101 
103 {
105 
106  UpdateView();
107 }
108 
110 {
111  Browser()->SetItemsFilter(indx);
112 }
virtual void StopMonitorBtn_clicked()
void MakeHttpList(TObjArray *arr)
Int_t MonitoringPeriod() const
virtual void ClearBtn_clicked()
virtual void FilterBox_activated(int indx)
Int_t UpdateVisibleAnalysisObjects(bool checkmonitor)
virtual void StartMonitorBtn_clicked()
virtual Bool_t RefreshNamesList()
virtual void UpdateView()
TGo4BrowserProxy * Browser()
Definition: QGo4Widget.cpp:219
virtual Bool_t SubmitCommand(const char *name, Int_t waitres=-1, const char *arg1=nullptr, const char *arg2=nullptr, const char *arg3=nullptr)
void linkedObjectUpdated(const char *linkname, TObject *obj) override
Bool_t RefreshNamesList() override
TGo4BrowserOptions(QWidget *parent=nullptr, const char *name=nullptr)
void MakeDabcList(TObjArray *arr)
virtual void RefreshBtn_clicked()
virtual void ClearAllAnalysisObjects()
Bool_t RefreshNamesList() override
void AddLink(const char *itemname, const char *linkname)
Definition: QGo4Widget.cpp:117
virtual TString FindCommand(const char *name)
void SetItemsFilter(Int_t filter)
virtual void StartWorking()
TGo4ServerProxy * FindServer(const char *itemname=nullptr, Bool_t asanalysis=kTRUE)
void ToggleMonitoring(Int_t period)