GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
TGo4WidgetProxy.cxx
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 "TGo4WidgetProxy.h"
15 
16 #include "TGo4Slot.h"
17 #include "QGo4Widget.h"
18 
19 Bool_t TGo4WidgetProxy::ProcessEvent(TGo4Slot *slot, TGo4Slot *source, Int_t id, void *param)
20 {
21  if (!fWidget) return kTRUE;
22 
23  TGo4Slot *src = source;
24 
25  if ((id == TGo4Slot::evObjAssigned) || (id == TGo4Slot::evObjUpdated))
26  fWidget->ProcessSignal(src->GetName(), true, src->GetAssignedObject(), src);
27  else if (id == TGo4Slot::evDelete)
28  fWidget->ProcessSignal(src->GetName(), false, nullptr, src);
29  else if (id == TGo4Slot::evObjDeleted)
30  fWidget->ProcessSignal(src->GetName(), false, (TObject *) param, src);
31  else if (id == TGo4Slot::evSubslotUpdated)
32  fWidget->ProcessSignal("TGo4Slot::evSubslotUpdated", true, (TObject *) param, src);
33 
34  // process further events which important for data management
35  return id==TGo4Slot::evDelete;
36 }
37 
39 {
40  if (fWidget)
41  fWidget->ProcessSignal("PadRangeAxisChanged", true, nullptr, nullptr);
42 }
43 
45 {
46  if (fWidget)
47  fWidget->ProcessSignal("PadModified", true, nullptr, nullptr);
48 }
void PadModified() override
void ProcessSignal(const char *linkname, bool assigned, TObject *obj, TGo4Slot *slot)
Definition: QGo4Widget.cpp:244
Bool_t ProcessEvent(TGo4Slot *slot, TGo4Slot *source, Int_t id, void *param) override
TObject * GetAssignedObject()
Definition: TGo4Slot.cxx:356
QGo4Widget * fWidget
void PadRangeAxisChanged() override