GSI Object Oriented Online Offline (Go4)
GO4-6.3.0
|
#include <TGo4ObjectManager.h>
Public Member Functions | |
TGo4ObjectManager () | |
TGo4ObjectManager (const char *name, const char *title) | |
virtual | ~TGo4ObjectManager () |
void | ProduceFullName (TString &name, TGo4Slot *toparent=nullptr) override |
TGo4ObjectManager * | GetOM () const override |
void | MakeFolder (const char *pathname) |
TGo4Slot * | Add (const char *pathname, TObject *obj, Bool_t owner=kFALSE, Bool_t canrename=kFALSE) |
TGo4Slot * | MakeObjSlot (const char *foldername, const char *name=nullptr, const char *title=nullptr) |
TGo4Slot * | AddLink (TGo4Slot *source, const char *pathname, const char *linkname, const char *linktitle) |
TGo4Slot * | AddLink (TGo4Slot *source, const char *pathname) |
TGo4Slot * | AddLink (const char *sourcename, const char *pathname) |
TGo4Slot * | GetLinked (TGo4Slot *link) |
void | AddFile (const char *pathname, const char *filename) |
void | CloseFiles (const char *pathname) |
void | AddDir (const char *pathname, TDirectory *dir, Bool_t owner=kFALSE, Bool_t readright=kFALSE) |
void | AddTree (const char *pathname, TTree *tree, Bool_t owner=kFALSE) |
void | AddFolder (const char *pathname, TFolder *folder, Bool_t owner=kFALSE) |
void | AddROOTFolder (const char *pathname, const char *foldername) |
void | AddROOTFolders (const char *pathname, Bool_t selected=kTRUE) |
void | AddProxy (const char *pathname, TGo4Proxy *cont, const char *name, const char *title="title") |
TGo4Proxy * | GetProxy (const char *name) |
void | DeleteSlot (const char *pathname) |
void | SaveDataToFile (TFile *f, Bool_t onlyobjs=kFALSE, TGo4Slot *startslot=nullptr) |
void | ReadDataFromFile (TFile *f) |
void | RegisterLink (TGo4Slot *source, TGo4Slot *target, Bool_t exapndchilds=kFALSE) |
void | UnregisterLink (TGo4Slot *target) |
std::unique_ptr< TGo4Access > | ProvideAccess (const char *name=nullptr) override |
void | Event (TGo4Slot *source, Int_t id, void *param=nullptr) override |
void | RetranslateEvent (TGo4Slot *source, Int_t id, void *param=nullptr) |
void | RegisterObjectWith (TObject *obj, TGo4Slot *slot) |
void | UnregisterObject (TObject *obj, TGo4Slot *slot) |
void | PrintSlots () |
Int_t | IterateSlots () |
Int_t | RequestObject (const char *source, const char *targetslot, Int_t waittime_millisec=0) |
void | RecursiveRemove (TObject *obj) override |
![]() | |
TGo4Slot () | |
TGo4Slot (TGo4Slot *parent) | |
TGo4Slot (TGo4Slot *parent, const char *name, const char *title) | |
virtual | ~TGo4Slot () |
TGo4Slot * | GetParent () const |
void | SetParent (TGo4Slot *parent) |
Bool_t | IsParent (const TGo4Slot *slot) const |
TString | GetFullName (TGo4Slot *toparent=nullptr) |
const char * | GetInfo () |
Int_t | GetSizeInfo () |
void | SetPar (const char *name, const char *value) |
const char * | GetPar (const char *name) const |
void | RemovePar (const char *name) |
void | SetIntPar (const char *name, Int_t value) |
Bool_t | GetIntPar (const char *name, Int_t &value) const |
void | PrintPars (Int_t level=3) |
Int_t | NumChilds () const |
TGo4Slot * | GetChild (Int_t n) const |
TGo4Slot * | FindChild (const char *name) const |
Int_t | GetIndexOf (const TGo4Slot *child) const |
TGo4Slot * | GetNextChild (const TGo4Slot *child) const |
TGo4Slot * | GetNext () const |
void | DeleteChild (const char *name) |
void | DeleteChilds (const char *startedwith=nullptr) |
void | Delete (Option_t *opt="") override |
TGo4Slot * | DefineSubSlot (const char *name, const char *&subname) const |
TGo4Slot * | GetSlot (const char *name, Bool_t force=kFALSE) |
TGo4Slot * | FindSlot (const char *fullpath, const char **subname=nullptr) |
Bool_t | ShiftSlotBefore (TGo4Slot *slot, TGo4Slot *before) |
Bool_t | ShiftSlotAfter (TGo4Slot *slot, TGo4Slot *after) |
void | SetProxy (TGo4Proxy *cont) |
TGo4Proxy * | GetProxy () const |
Int_t | GetSlotKind () const |
const char * | GetSlotClassName () const |
Bool_t | IsAcceptObject (TClass *cl) const |
Bool_t | AssignObject (TObject *obj, Bool_t owner) |
TObject * | GetAssignedObject () |
virtual void | Update (Bool_t strong=kFALSE) |
Int_t | GetAssignFlag () const |
void | ResetAssignFlag () |
Int_t | GetAssignCnt () const |
Bool_t | HasSubLevels () const |
Bool_t | HasSlotsSubLevels () const |
TGo4LevelIter * | MakeLevelIter () const |
std::unique_ptr< TGo4Access > | ProvideSlotAccess (const char *name) |
void | SaveData (TDirectory *dir, Bool_t onlyobjs=kFALSE) |
void | ReadData (TDirectory *dir) |
void | ForwardEvent (TGo4Slot *source, Int_t id, void *param=nullptr) |
void | RecursiveRemove (TObject *obj) override |
void | Print (Option_t *opt="") const override |
Bool_t | DoingDelete () const |
ClassDefOverride (TGo4Slot, 1) | |
![]() | |
TGo4AccessWrapper () | |
virtual | ~TGo4AccessWrapper () |
TObject * | GetObject (const char *name=nullptr) |
TClass * | GetObjectClass (const char *name=nullptr) |
const char * | GetObjectClassName (const char *name=nullptr) |
ClassDef (TGo4AccessWrapper, 1) | |
Protected Member Functions | |
virtual Bool_t | AssignObject (const char *path, TObject *obj, Bool_t ownership) |
void | RemoveFromLinks (const TGo4Slot *slot) |
ClassDefOverride (TGo4ObjectManager, 1) | |
list of registered cleanups More... | |
![]() | |
void | CleanProxy () |
void | AddChild (TGo4Slot *child) |
void | RemoveChild (TGo4Slot *child) |
Protected Attributes | |
TObjArray | fLinks |
TObjArray | fCleanups |
list of links between slots More... | |
![]() | |
TGo4Slot * | fParent {nullptr} |
TObjArray * | fChilds {nullptr} |
TObjArray | fPars |
TGo4Proxy * | fProxy {nullptr} |
! More... | |
Int_t | fAssignFlag {-1} |
! use in object manager to poll until object is assigned More... | |
Int_t | fAssignCnt {0} |
! counts number of object assignment More... | |
Friends | |
class | TGo4Access |
Additional Inherited Members | |
![]() | |
enum | { evDelete = 0, evCreate = 1, evObjAssigned = 2, evContAssigned = 3, evObjUpdated = 4, evSubslotUpdated = 5, evObjDeleted = 6 } |
![]() | |
static const char * | FindFolderSeparator (const char *name) |
static void | ProduceFolderAndName (const char *fullname, TString &foldername, TString &objectname) |
![]() | |
enum | ESlotBits { kStartDelete = BIT(23) } |
Definition at line 28 of file TGo4ObjectManager.h.
TGo4ObjectManager::TGo4ObjectManager | ( | ) |
Definition at line 74 of file TGo4ObjectManager.cxx.
TGo4ObjectManager::TGo4ObjectManager | ( | const char * | name, |
const char * | title | ||
) |
Definition at line 82 of file TGo4ObjectManager.cxx.
|
virtual |
Definition at line 90 of file TGo4ObjectManager.cxx.
References TGo4Slot::DeleteChilds(), fCleanups, and fLinks.
TGo4Slot * TGo4ObjectManager::Add | ( | const char * | pathname, |
TObject * | obj, | ||
Bool_t | owner = kFALSE , |
||
Bool_t | canrename = kFALSE |
||
) |
Definition at line 117 of file TGo4ObjectManager.cxx.
References MakeObjSlot(), and TGo4Slot::SetProxy().
void TGo4ObjectManager::AddDir | ( | const char * | pathname, |
TDirectory * | dir, | ||
Bool_t | owner = kFALSE , |
||
Bool_t | readright = kFALSE |
||
) |
Definition at line 154 of file TGo4ObjectManager.cxx.
References MakeObjSlot(), and TGo4Slot::SetProxy().
Referenced by AddFile().
void TGo4ObjectManager::AddFile | ( | const char * | pathname, |
const char * | filename | ||
) |
Definition at line 135 of file TGo4ObjectManager.cxx.
References AddDir().
Referenced by TGo4MainWindow::OpenRemoteFileSlot().
void TGo4ObjectManager::AddFolder | ( | const char * | pathname, |
TFolder * | folder, | ||
Bool_t | owner = kFALSE |
||
) |
Definition at line 178 of file TGo4ObjectManager.cxx.
References MakeObjSlot(), and TGo4Slot::SetProxy().
TGo4Slot * TGo4ObjectManager::AddLink | ( | TGo4Slot * | source, |
const char * | pathname, | ||
const char * | linkname, | ||
const char * | linktitle | ||
) |
Definition at line 249 of file TGo4ObjectManager.cxx.
References fLinks, TGo4ObjManLink::GetSource(), TGo4ObjManLink::GetTarget(), MakeObjSlot(), TGo4Slot::ProduceFullName(), and TGo4Slot::SetProxy().
Referenced by TGo4Interface::AddAnalysisProxy(), AddLink(), TGo4MainWindow::editorServiceSlot(), and TGo4Interface::TGo4Interface().
Definition at line 271 of file TGo4ObjectManager.cxx.
References MakeObjSlot(), and TGo4Slot::SetProxy().
TGo4Slot * TGo4ObjectManager::AddLink | ( | const char * | sourcename, |
const char * | pathname | ||
) |
Definition at line 283 of file TGo4ObjectManager.cxx.
References AddLink(), and TGo4Slot::GetSlot().
void TGo4ObjectManager::AddProxy | ( | const char * | pathname, |
TGo4Proxy * | cont, | ||
const char * | name, | ||
const char * | title = "title" |
||
) |
Definition at line 218 of file TGo4ObjectManager.cxx.
References MakeObjSlot(), and TGo4Slot::SetProxy().
Referenced by TGo4Interface::AddAnalysisProxy(), TGo4MainWindow::AddAnalysisProxy(), TGo4MainWindow::GetWidgetTopSlot(), TGo4Interface::TGo4Interface(), and TGo4MainWindow::TGo4MainWindow().
void TGo4ObjectManager::AddROOTFolder | ( | const char * | pathname, |
const char * | foldername | ||
) |
Definition at line 187 of file TGo4ObjectManager.cxx.
References TGo4FolderProxy::LocateROOTFolder(), MakeObjSlot(), and TGo4Slot::SetProxy().
Referenced by AddROOTFolders().
void TGo4ObjectManager::AddROOTFolders | ( | const char * | pathname, |
Bool_t | selected = kTRUE |
||
) |
Definition at line 198 of file TGo4ObjectManager.cxx.
References AddROOTFolder(), and TGo4Slot::GetSlot().
void TGo4ObjectManager::AddTree | ( | const char * | pathname, |
TTree * | tree, | ||
Bool_t | owner = kFALSE |
||
) |
Definition at line 168 of file TGo4ObjectManager.cxx.
References MakeObjSlot(), and TGo4Slot::SetProxy().
|
protectedvirtual |
Definition at line 531 of file TGo4ObjectManager.cxx.
References TGo4Slot::AssignObject(), and TGo4Slot::GetSlot().
Referenced by TGo4Access::DoObjectAssignement(), and ProvideAccess().
|
protected |
list of registered cleanups
void TGo4ObjectManager::CloseFiles | ( | const char * | pathname | ) |
Definition at line 140 of file TGo4ObjectManager.cxx.
References TGo4Slot::GetChild(), TGo4Slot::GetProxy(), TGo4Slot::GetSlot(), TGo4DirProxy::IsFile(), and TGo4Slot::NumChilds().
Referenced by TGo4MainWindow::CloseAllFilesSlot().
void TGo4ObjectManager::DeleteSlot | ( | const char * | pathname | ) |
Definition at line 486 of file TGo4ObjectManager.cxx.
References TGo4Slot::GetSlot().
|
overridevirtual |
Reimplemented from TGo4Slot.
Definition at line 341 of file TGo4ObjectManager.cxx.
References TGo4Slot::evDelete, TGo4Slot::Event(), TGo4Slot::GetFullName(), RemoveFromLinks(), RetranslateEvent(), and UnregisterObject().
Referenced by ProvideAccess().
Definition at line 288 of file TGo4ObjectManager.cxx.
References TGo4LinkProxy::GetLink(), and TGo4Slot::GetProxy().
|
overridevirtual |
Reimplemented from TGo4Slot.
Definition at line 106 of file TGo4ObjectManager.cxx.
TGo4Proxy * TGo4ObjectManager::GetProxy | ( | const char * | name | ) |
Definition at line 225 of file TGo4ObjectManager.cxx.
References TGo4Slot::GetProxy(), and TGo4Slot::GetSlot().
Referenced by TGo4MainWindow::Browser().
Int_t TGo4ObjectManager::IterateSlots | ( | ) |
Definition at line 478 of file TGo4ObjectManager.cxx.
References TGo4Iter::next().
Referenced by ProvideAccess().
void TGo4ObjectManager::MakeFolder | ( | const char * | pathname | ) |
Definition at line 111 of file TGo4ObjectManager.cxx.
References TGo4Slot::GetSlot().
Referenced by TGo4Interface::TGo4Interface(), and TGo4MainWindow::TGo4MainWindow().
TGo4Slot * TGo4ObjectManager::MakeObjSlot | ( | const char * | foldername, |
const char * | name = nullptr , |
||
const char * | title = nullptr |
||
) |
Definition at line 231 of file TGo4ObjectManager.cxx.
References TGo4Slot::FindChild(), TGo4Slot::GetSlot(), and TGo4Slot::TGo4Slot().
Referenced by Add(), AddDir(), AddFolder(), AddLink(), AddProxy(), AddROOTFolder(), AddTree(), and TGo4MainWindow::editorServiceSlot().
void TGo4ObjectManager::PrintSlots | ( | ) |
Definition at line 468 of file TGo4ObjectManager.cxx.
References TGo4Iter::getname(), TGo4Iter::level(), and TGo4Iter::next().
Referenced by ProvideAccess().
|
overridevirtual |
Reimplemented from TGo4Slot.
Definition at line 101 of file TGo4ObjectManager.cxx.
|
inlineoverridevirtual |
Reimplemented from TGo4AccessWrapper.
Definition at line 81 of file TGo4ObjectManager.h.
References AssignObject(), Event(), IterateSlots(), PrintSlots(), TGo4Slot::ProvideSlotAccess(), RecursiveRemove(), RegisterObjectWith(), RemoveFromLinks(), RequestObject(), RetranslateEvent(), and UnregisterObject().
void TGo4ObjectManager::ReadDataFromFile | ( | TFile * | f | ) |
Definition at line 394 of file TGo4ObjectManager.cxx.
References TGo4Iter::getname(), TGo4Iter::getslot(), TGo4Iter::isfolder(), TGo4Iter::levelchange(), TGo4Iter::next(), and TGo4Slot::ReadData().
|
override |
Definition at line 446 of file TGo4ObjectManager.cxx.
References TGo4Slot::evObjDeleted, fCleanups, TGo4Slot::ForwardEvent(), TGo4ObjManCleanup::GetObject(), TGo4ObjManCleanup::GetSlot(), and TGo4Slot::RecursiveRemove().
Referenced by TGo4DrawCloneProxy::CleanupClone(), and ProvideAccess().
void TGo4ObjectManager::RegisterLink | ( | TGo4Slot * | source, |
TGo4Slot * | target, | ||
Bool_t | exapndchilds = kFALSE |
||
) |
Definition at line 297 of file TGo4ObjectManager.cxx.
References fLinks.
Referenced by TGo4LinkProxy::Initialize().
void TGo4ObjectManager::RegisterObjectWith | ( | TObject * | obj, |
TGo4Slot * | slot | ||
) |
Definition at line 423 of file TGo4ObjectManager.cxx.
References fCleanups.
Referenced by TGo4DrawCloneProxy::AssignClone(), TGo4HStackProxy::Initialize(), TGo4CanvasProxy::Initialize(), TGo4ObjectProxy::Initialize(), and ProvideAccess().
|
protected |
Definition at line 307 of file TGo4ObjectManager.cxx.
References fLinks, TGo4ObjManLink::GetSource(), and TGo4ObjManLink::GetTarget().
Referenced by Event(), ProvideAccess(), and UnregisterLink().
Int_t TGo4ObjectManager::RequestObject | ( | const char * | source, |
const char * | targetslot, | ||
Int_t | waittime_millisec = 0 |
||
) |
Definition at line 492 of file TGo4ObjectManager.cxx.
References TGo4Slot::GetAssignFlag(), TGo4Slot::GetSlot(), TGo4Slot::ProvideSlotAccess(), and TGo4Slot::ResetAssignFlag().
Referenced by ProvideAccess().
void TGo4ObjectManager::RetranslateEvent | ( | TGo4Slot * | source, |
Int_t | id, | ||
void * | param = nullptr |
||
) |
Definition at line 322 of file TGo4ObjectManager.cxx.
References TGo4ObjManLink::CheckEventSource(), TGo4Slot::Event(), fLinks, TGo4Slot::GetFullName(), and TGo4ObjManLink::GetTarget().
Referenced by Event(), TGo4LinkProxy::Finalize(), and ProvideAccess().
void TGo4ObjectManager::SaveDataToFile | ( | TFile * | f, |
Bool_t | onlyobjs = kFALSE , |
||
TGo4Slot * | startslot = nullptr |
||
) |
Definition at line 356 of file TGo4ObjectManager.cxx.
References TGo4Iter::getname(), TGo4Iter::getslot(), TGo4Iter::isfolder(), TGo4Iter::levelchange(), TGo4Iter::next(), and TGo4Slot::SaveData().
void TGo4ObjectManager::UnregisterLink | ( | TGo4Slot * | target | ) |
Definition at line 302 of file TGo4ObjectManager.cxx.
References RemoveFromLinks().
void TGo4ObjectManager::UnregisterObject | ( | TObject * | obj, |
TGo4Slot * | slot | ||
) |
Definition at line 430 of file TGo4ObjectManager.cxx.
References fCleanups, TGo4ObjManCleanup::GetObject(), and TGo4ObjManCleanup::GetSlot().
Referenced by TGo4DrawCloneProxy::CleanupClone(), Event(), TGo4HStackProxy::Finalize(), TGo4CanvasProxy::Finalize(), TGo4ObjectProxy::Finalize(), and ProvideAccess().
|
friend |
Definition at line 29 of file TGo4ObjectManager.h.
|
protected |
list of links between slots
Definition at line 105 of file TGo4ObjectManager.h.
Referenced by RecursiveRemove(), RegisterObjectWith(), UnregisterObject(), and ~TGo4ObjectManager().
|
protected |
Definition at line 103 of file TGo4ObjectManager.h.
Referenced by AddLink(), RegisterLink(), RemoveFromLinks(), RetranslateEvent(), and ~TGo4ObjectManager().