本文整理汇总了C++中TObject::TestBit方法的典型用法代码示例。如果您正苦于以下问题:C++ TObject::TestBit方法的具体用法?C++ TObject::TestBit怎么用?C++ TObject::TestBit使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TObject
的用法示例。
在下文中一共展示了TObject::TestBit方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Form
KVLVEntry::~KVLVEntry()
{
// Dtor
// disconnect fUserData object's Modified signal from our Refresh method if connected
delete [] fBoolean;
if (fDisconnectRefresh && fUserData) {
TObject* obj = (TObject*)fUserData;
if (obj && obj->TestBit(kNotDeleted)) gInterpreter->Execute(obj, obj->IsA(), "Disconnect",
Form("\"Modified()\",(KVLVEntry*)%ld,\"Refresh()\"", (ULong_t)this));
}
}
示例2: OpenContextMenu
void KVLVContainer::OpenContextMenu(TGFrame* f, Int_t but, Int_t x, Int_t y)
{
// Open context menu when user right-clicks an object in the list.
// Calling AllowContextMenu(kFALSE) will disable this.
// We also fill the list fPickOrderedObjects with the selected objects
// in the order of clicking
//
// if fUseObjLabelAsRealClass=kTRUE (and if objects inherit from KVBase)
// then the context menu opened will be that of the class given by
// KVBase::GetLabel. The object's KVBase::GetObject() method must
// return the real object to use.
if (but == kButton1) {
TGLVEntry* el = (TGLVEntry*)f;
TObject* ob = (TObject*)el->GetUserData();
if (!fControlClick || !GetMultipleSelection()) fPickOrderedObjects->Clear();
if (ob) {
Bool_t in_list = fPickOrderedObjects->FindObject(ob);
if (in_list) fPickOrderedObjects->Remove(ob);
else fPickOrderedObjects->AddLast(ob);
}
return;
}
// context menus globally disabled and no exceptions defined
if (!fAllowContextMenu && !fContextMenuClassExceptions) return;
if (but == kButton3) {
// Error("OpenContextMenu","x=%d y=%d",x,y);
// fContextMenu->Popup(x,y,this); return;
TGLVEntry* el = (TGLVEntry*)f;
TObject* ob = (TObject*)el->GetUserData();
if (ob) {
TObject* CMob = ob;
TString CMobClass = ob->ClassName();
if (fUseObjLabelAsRealClass && ob->TestBit(KVBase::kIsKaliVedaObject)) {
KVBase* bob = dynamic_cast<KVBase*>(ob);
CMobClass = bob->GetLabel();
CMob = bob->GetObject();
}
// check class context menu status
if (fContextMenuClassExceptions) {
if ((!fAllowContextMenu && fContextMenuClassExceptions->FindObject(CMobClass))
|| (fAllowContextMenu && !fContextMenuClassExceptions->FindObject(CMobClass)))
fContextMenu->Popup(x, y, CMob);
} else if (fAllowContextMenu) fContextMenu->Popup(x, y, CMob);
}
}
}
示例3: FillList
void KVLVContainer::FillList(const TCollection* l)
{
// Fill list from list
// Pointers to objects are stored in internal list fUserItems for Refresh()
if (l) {
fUserItems->Clear();
}
if (l && !l->GetSize()) return;
TCollection* theList = (TCollection*)(l ? l : fUserItems);
TIter nxt(theList);
TObject* obj = 0;
while ((obj = nxt())) {
if (l) fUserItems->Add(obj);
KVLVEntry* ent;
if (fUseObjLabelAsRealClass && obj->TestBit(KVBase::kIsKaliVedaObject))
ent = new KVLVEntry(obj, dynamic_cast<KVBase*>(obj)->GetLabel(), this, fNcols, fColData);
else
ent = new KVLVEntry(obj, this, fNcols, fColData);
AddItem(ent);
}
}
示例4: ojtable
void ojtable(const char *className)
{
static int fTableOffset = 0;
if (!fTableOffset) fTableOffset = gObjectTable->IsA()->GetDataMemberOffset("fTable");
// gObjectTable->Print();
TClass *kl;
if (className && !*className) className=0;
const char *qwe = ".*";
if (className) qwe = className;
TRegexp regexp(qwe);
int regexpLen=0;
int sz = gObjectTable->GetSize();
int *ptr = new int[sz];
int *idx = new int[sz];
TObject **tab = *((TObject ***)((char*)gObjectTable+fTableOffset));
TObject *to;
printf ("tab %p[%d]\n",tab,sz);
int i,num=0;
double hSize=0;
int hNumb=0;
const char *info_name = 0;
for (i=0; i<sz; i++)
{
to = tab[i];
if (!to) continue;
if (!to->TestBit(TObject::kNotDeleted)) continue;
int hs = SizeOfH(to);
if (hs) {
hSize+=hs;
hNumb++;
}
if (className && regexp.Index(to->ClassName(),®expLen)<0) continue;
const char *mk = StMkDeb::GetUser(to);
if(mk && *mk) printf("%s(%p) in %s\n",to->ClassName(),to,mk);
ptr[num++]=int(to);
}
printf("TH1 N=%d, Size = %g\n",hNumb,hSize);
TMath::Sort(num,ptr,idx,0);
int last = 0;
printf("Selected %d objects\n",num);
for (i=0; i<num; i++) {
int ix = idx[i];
to = (TObject*)ptr[ix];
int dist = 0;
if (i) dist = ptr[ix]-last;
last = ptr[ix];
// if ((int)to == 0xc94ff34) {
// printf("Skipped %p\n",to); continue; }
info_name = "??";
info_name=typeid(*to).name();
kl = to->IsA();
printf ("%4d +%6d : obj = %p(%3d) %s::%s \tinfo=%s\n",i,dist,to,kl->Size(),kl->GetName(),to->GetName(),info_name);
if (strcmp("TClonesArray",kl->GetName())) continue;
TClonesArray *tcl = ((TClonesArray*)to);
printf(" Sizes = %d %d\n",tcl->GetLast()+1,tcl->Capacity());
tcl->ls("");
}
delete [] ptr;
delete [] idx;
}