Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions roottest/root/meta/enums/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,7 @@ ROOTTEST_ADD_TEST(enumSize
ROOTTEST_ADD_TEST(testUsingEnum.cxx
MACRO test_usingenum.cxx
OUTREF test_usingenum.ref)

ROOTTEST_ADD_TEST(enumOptList
MACRO execenumOptList.C
OUTREF execenumOptList.ref)
21 changes: 21 additions & 0 deletions roottest/root/meta/enums/execenumOptList.C
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
void execenumOptList()
{
const char *tname = "TAttImage::EImageQuality";

printf("List of values in enum %s\n", tname);
if (auto enumDict = TEnum::GetEnum(tname)) {
TIter iEnumConst(enumDict->GetConstants());
while (auto enumConst = static_cast<TEnumConstant*>(iEnumConst())) {
printf(" name %s value %lld\n", enumConst->GetName(), enumConst->GetValue());
}
}

auto cl = TClass::GetClass("TAttImage");
auto member = cl->GetDataMember("fImageQuality");

printf("List of options for TAttImage::fImageQuality member\n");
TIter nxt(member->GetOptions());
while (auto it = dynamic_cast<TOptionListItem*>(nxt())) {
printf(" name %s label %s value %ld\n", it->fOptName.Data(), it->fOptLabel.Data(), it->fValue);
}
}
13 changes: 13 additions & 0 deletions roottest/root/meta/enums/execenumOptList.ref
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Processing execenumOptList.C...
List of values in enum TAttImage::EImageQuality
name kImgDefault value -1
name kImgPoor value 0
name kImgFast value 1
name kImgGood value 2
name kImgBest value 3
List of options for TAttImage::fImageQuality member
name Default label kImgDefault value -1
name Poor label kImgPoor value 0
name Fast label kImgFast value 1
name Good label kImgGood value 2
name Best label kImgBest value 3
Loading