Skip to content

Commit 2119e7c

Browse files
committed
Adjust streamer info display
1 parent 7492fb8 commit 2119e7c

File tree

2 files changed

+84
-71
lines changed

2 files changed

+84
-71
lines changed

scripts/JSRootPainter.js

Lines changed: 69 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -6462,41 +6462,6 @@
64626462
return true;
64636463
}
64646464

6465-
JSROOT.Painter.StreamerInfoHierarchy = function(folder, lst) {
6466-
folder['_childs'] = [];
6467-
6468-
for ( var i = 0; i < lst.arr.length; ++i) {
6469-
var entry = lst.arr[i]
6470-
6471-
if (entry._typename == "TList") continue;
6472-
6473-
if (typeof (entry['fName']) == 'undefined') {
6474-
JSROOT.console("strange element in StreamerInfo with type " + entry._typename);
6475-
continue;
6476-
}
6477-
6478-
var item = {
6479-
_name : entry['fName'],
6480-
_kind : "",
6481-
_childs : []
6482-
};
6483-
6484-
folder._childs.push(item);
6485-
6486-
item._childs.push({ _name : 'Checksum: ' + entry['fCheckSum'] });
6487-
item._childs.push({ _name : 'Class version: ' + entry['fClassVersion'] });
6488-
if (entry['fTitle'] != '') item._childs.push({ _name : 'Title: ' + entry['fTitle'] });
6489-
if (typeof entry['fElements'] == 'undefined') continue;
6490-
for ( var l = 0; l < entry['fElements']['arr'].length; ++l) {
6491-
var elem = entry['fElements']['arr'][l];
6492-
if ((elem == null) || (typeof (elem['fName']) == 'undefined')) continue;
6493-
var info = elem['fTypeName'] + " " + elem['fName'] + ";";
6494-
if (elem['fTitle'] != '') info += " // " + elem['fTitle'];
6495-
item._childs.push({ _name : info });
6496-
}
6497-
}
6498-
}
6499-
65006465
JSROOT.Painter.ObjectHierarchy = function(top, obj, nosimple) {
65016466
if ((top==null) || (obj==null)) return false;
65026467

@@ -7928,11 +7893,44 @@
79287893
});
79297894
}
79307895

7931-
JSROOT.Painter.drawStreamerInfo = function(divid, obj) {
7896+
JSROOT.Painter.drawStreamerInfo = function(divid, lst) {
79327897
var painter = new JSROOT.HierarchyPainter('sinfo', divid, 'white');
79337898

7934-
painter.h = { _name : "StreamerInfo" };
7935-
JSROOT.Painter.StreamerInfoHierarchy(painter.h, obj);
7899+
painter.h = { _name : "StreamerInfo", _childs : [] };
7900+
7901+
for ( var i = 0; i < lst.arr.length; ++i) {
7902+
var entry = lst.arr[i]
7903+
7904+
if (entry._typename == "TList") continue;
7905+
7906+
if (typeof (entry['fName']) == 'undefined') {
7907+
JSROOT.console("strange element in StreamerInfo with type " + entry._typename);
7908+
continue;
7909+
}
7910+
7911+
var item = {
7912+
_name : entry.fName + ";" + entry.fClassVersion,
7913+
_kind : "class " + entry.fName,
7914+
_title : "class:" + entry.fName + ' version:' + entry.fClassVersion + ' checksum:' + entry.fCheckSum,
7915+
_icon: "img_class",
7916+
_childs : []
7917+
};
7918+
7919+
if (entry.fTitle != '') item._title += ' ' + entry.fTitle;
7920+
7921+
painter.h._childs.push(item);
7922+
7923+
if (typeof entry['fElements'] == 'undefined') continue;
7924+
for ( var l = 0; l < entry.fElements.arr.length; ++l) {
7925+
var elem = entry.fElements.arr[l];
7926+
if ((elem == null) || (typeof (elem.fName) == 'undefined')) continue;
7927+
var info = elem['fTypeName'] + " " + elem['fName'] + ";";
7928+
if (elem['fTitle'] != '') info += " // " + elem['fTitle'];
7929+
item._childs.push({ _name : info, _title: elem.fTypeName, _kind:elem.fTypeName, _icon: (elem.fTypeName == 'BASE') ? "img_class" : "img_member" });
7930+
}
7931+
}
7932+
7933+
79367934
painter.RefreshHtml(function() {
79377935
painter.SetDivId(divid);
79387936
painter.DrawingReady();
@@ -8287,30 +8285,30 @@
82878285
window.addEventListener('resize', ProcessResize);
82888286
}
82898287

8290-
JSROOT.addDrawFunc({ name: "TCanvas", icon: "img_canvas", func:JSROOT.Painter.drawCanvas });
8291-
JSROOT.addDrawFunc({ name: "TPad", icon: "img_canvas", func:JSROOT.Painter.drawPad });
8292-
JSROOT.addDrawFunc({ name: "TFrame", icon: "img_frame", func:JSROOT.Painter.drawFrame });
8293-
JSROOT.addDrawFunc({ name: "TPaveText", icon: "img_pavetext", func:JSROOT.Painter.drawPaveText });
8294-
JSROOT.addDrawFunc({ name: "TPaveStats", icon: "img_pavetext", func:JSROOT.Painter.drawPaveText });
8295-
JSROOT.addDrawFunc({ name: "TLatex", icon:"img_text", func:JSROOT.Painter.drawText });
8296-
JSROOT.addDrawFunc({ name: "TMathText", icon:"img_text", func:JSROOT.Painter.drawText });
8297-
JSROOT.addDrawFunc({ name: "TText", icon:"img_text", func:JSROOT.Painter.drawText });
8298-
JSROOT.addDrawFunc({ name: "TPaveLabel", icon: "img_pavelabel", func:JSROOT.Painter.drawText });
8299-
JSROOT.addDrawFunc({ name: /^TH1/, icon: "img_histo1d", func:JSROOT.Painter.drawHistogram1D, opt:";P;P0;E;E1;E2;same"});
8300-
JSROOT.addDrawFunc({ name: "TProfile", icon: "img_profile", func:JSROOT.Painter.drawHistogram1D, opt:";E0;E1;E2;p;hist"});
8301-
JSROOT.addDrawFunc({ name: /^TH2/, icon: "img_histo2d", prereq: "more2d", func:"JSROOT.Painter.drawHistogram2D", opt:";COL;COLZ;COL0Z;COL3;LEGO;same" });
8288+
JSROOT.addDrawFunc({ name: "TCanvas", icon: "img_canvas", func: JSROOT.Painter.drawCanvas });
8289+
JSROOT.addDrawFunc({ name: "TPad", icon: "img_canvas", func: JSROOT.Painter.drawPad });
8290+
JSROOT.addDrawFunc({ name: "TFrame", icon: "img_frame", func: JSROOT.Painter.drawFrame });
8291+
JSROOT.addDrawFunc({ name: "TPaveText", icon: "img_pavetext", func: JSROOT.Painter.drawPaveText });
8292+
JSROOT.addDrawFunc({ name: "TPaveStats", icon: "img_pavetext", func: JSROOT.Painter.drawPaveText });
8293+
JSROOT.addDrawFunc({ name: "TLatex", icon:"img_text", func: JSROOT.Painter.drawText });
8294+
JSROOT.addDrawFunc({ name: "TMathText", icon:"img_text", func: JSROOT.Painter.drawText });
8295+
JSROOT.addDrawFunc({ name: "TText", icon:"img_text", func: JSROOT.Painter.drawText });
8296+
JSROOT.addDrawFunc({ name: "TPaveLabel", icon: "img_pavelabel", func: JSROOT.Painter.drawText });
8297+
JSROOT.addDrawFunc({ name: /^TH1/, icon: "img_histo1d", func: JSROOT.Painter.drawHistogram1D, opt:";P;P0;E;E1;E2;same"});
8298+
JSROOT.addDrawFunc({ name: "TProfile", icon: "img_profile", func: JSROOT.Painter.drawHistogram1D, opt:";E0;E1;E2;p;hist"});
8299+
JSROOT.addDrawFunc({ name: /^TH2/, icon: "img_histo2d", prereq: "more2d", func: "JSROOT.Painter.drawHistogram2D", opt:";COL;COLZ;COL0Z;COL3;LEGO;same" });
83028300
JSROOT.addDrawFunc({ name: /^TH3/, icon: 'img_histo3d', prereq: "3d", func: "JSROOT.Painter.drawHistogram3D" });
83038301
JSROOT.addDrawFunc({ name: "TPolyMarker3D", icon: 'img_histo3d', prereq: "3d", func: "JSROOT.Painter.drawPolyMarker3D" });
8304-
JSROOT.addDrawFunc({ name: /^TGraph/, icon:"img_graph", func:JSROOT.Painter.drawGraph, opt:";L;P"});
8305-
JSROOT.addDrawFunc({ name: "TCutG", icon:"img_graph", func:JSROOT.Painter.drawGraph, opt:";L;P"});
8306-
JSROOT.addDrawFunc({ name: /^RooHist/, icon:"img_graph", func:JSROOT.Painter.drawGraph, opt:";L;P" });
8307-
JSROOT.addDrawFunc({ name: /^RooCurve/, icon:"img_graph", func:JSROOT.Painter.drawGraph, opt:";L;P" });
8302+
JSROOT.addDrawFunc({ name: /^TGraph/, icon:"img_graph", func: JSROOT.Painter.drawGraph, opt:";L;P"});
8303+
JSROOT.addDrawFunc({ name: "TCutG", icon:"img_graph", func: JSROOT.Painter.drawGraph, opt:";L;P"});
8304+
JSROOT.addDrawFunc({ name: /^RooHist/, icon:"img_graph", func: JSROOT.Painter.drawGraph, opt:";L;P" });
8305+
JSROOT.addDrawFunc({ name: /^RooCurve/, icon:"img_graph", func: JSROOT.Painter.drawGraph, opt:";L;P" });
83088306
JSROOT.addDrawFunc({ name: "THStack", prereq: "more2d", func: "JSROOT.Painter.drawHStack" });
83098307
JSROOT.addDrawFunc({ name: "TMultiGraph", icon:"img_mgraph", prereq: "more2d", func: "JSROOT.Painter.drawMultiGraph" });
8310-
JSROOT.addDrawFunc({ name: "TStreamerInfoList", icon:'img_question', func:JSROOT.Painter.drawStreamerInfo });
8308+
JSROOT.addDrawFunc({ name: "TStreamerInfoList", icon:'img_question', func: JSROOT.Painter.drawStreamerInfo });
83118309
JSROOT.addDrawFunc({ name: "TPaletteAxis", icon: "img_colz", prereq: "more2d", func: "JSROOT.Painter.drawPaletteAxis" });
8312-
JSROOT.addDrawFunc({ name: "kind:Text", icon:"img_text", func:JSROOT.Painter.drawRawText });
8313-
JSROOT.addDrawFunc({ name: "TF1", icon: "img_graph", prereq: "math;more2d", func:"JSROOT.Painter.drawFunction" });
8310+
JSROOT.addDrawFunc({ name: "kind:Text", icon:"img_text", func: JSROOT.Painter.drawRawText });
8311+
JSROOT.addDrawFunc({ name: "TF1", icon: "img_graph", prereq: "math;more2d", func: "JSROOT.Painter.drawFunction" });
83148312
JSROOT.addDrawFunc({ name: "TEllipse", icon: 'img_graph', prereq: "more2d", func: "JSROOT.Painter.drawEllipse" });
83158313
JSROOT.addDrawFunc({ name: "TLine", icon: 'img_graph', prereq: "more2d", func: "JSROOT.Painter.drawLine" });
83168314
JSROOT.addDrawFunc({ name: "TArrow", icon: 'img_graph', prereq: "more2d", func: "JSROOT.Painter.drawArrow" });
@@ -8319,20 +8317,20 @@
83198317
JSROOT.addDrawFunc({ name: "TEveGeoShapeExtract", icon: 'img_histo3d', prereq: "geom", func: "JSROOT.Painter.drawGeometry", painter_kind : "base" });
83208318
JSROOT.addDrawFunc({ name: "TGeoManager", icon: 'img_histo3d', prereq: "geom", expand: "JSROOT.expandGeoManagerHierarchy" });
83218319
// these are not draw functions, but provide extra info about correspondent classes
8322-
JSROOT.addDrawFunc({ name: "kind:Command", icon:"img_execute", execute: true });
8323-
JSROOT.addDrawFunc({ name: "TFolder", icon:"img_folder", icon2:"img_folderopen", noinspect:true });
8324-
JSROOT.addDrawFunc({ name: "TTree", icon:"img_tree", noinspect:true });
8325-
JSROOT.addDrawFunc({ name: "TNtuple", icon:"img_tree", noinspect:true });
8326-
JSROOT.addDrawFunc({ name: "TBranch", icon:"img_branch", noinspect:true });
8327-
JSROOT.addDrawFunc({ name: /^TLeaf/, icon:"img_leaf" });
8328-
JSROOT.addDrawFunc({ name: "TList", icon:"img_list" });
8329-
JSROOT.addDrawFunc({ name: "TObjArray", icon:"img_list" });
8330-
JSROOT.addDrawFunc({ name: "TColor", icon:"img_color" });
8331-
JSROOT.addDrawFunc({ name: "TFile", icon:"img_file", noinspect:true });
8332-
JSROOT.addDrawFunc({ name: "TMemFile", icon:"img_file", noinspect:true });
8333-
JSROOT.addDrawFunc({ name: "Session", icon:"img_globe" });
8334-
JSROOT.addDrawFunc({ name: "kind:TopFolder", icon:"img_base" });
8335-
JSROOT.addDrawFunc({ name: "kind:Folder", icon:"img_folder", icon2:"img_folderopen", noinspect:true });
8320+
JSROOT.addDrawFunc({ name: "kind:Command", icon: "img_execute", execute: true });
8321+
JSROOT.addDrawFunc({ name: "TFolder", icon: "img_folder", icon2: "img_folderopen", noinspect: true });
8322+
JSROOT.addDrawFunc({ name: "TTree", icon: "img_tree", noinspect:true });
8323+
JSROOT.addDrawFunc({ name: "TNtuple", icon: "img_tree", noinspect:true });
8324+
JSROOT.addDrawFunc({ name: "TBranch", icon: "img_branch", noinspect:true });
8325+
JSROOT.addDrawFunc({ name: /^TLeaf/, icon: "img_leaf" });
8326+
JSROOT.addDrawFunc({ name: "TList", icon: "img_list" });
8327+
JSROOT.addDrawFunc({ name: "TObjArray", icon: "img_list" });
8328+
JSROOT.addDrawFunc({ name: "TColor", icon: "img_color" });
8329+
JSROOT.addDrawFunc({ name: "TFile", icon: "img_file", noinspect:true });
8330+
JSROOT.addDrawFunc({ name: "TMemFile", icon: "img_file", noinspect:true });
8331+
JSROOT.addDrawFunc({ name: "Session", icon: "img_globe" });
8332+
JSROOT.addDrawFunc({ name: "kind:TopFolder", icon: "img_base" });
8333+
JSROOT.addDrawFunc({ name: "kind:Folder", icon: "img_folder", icon2: "img_folderopen", noinspect:true });
83368334

83378335
JSROOT.getDrawHandle = function(kind, selector) {
83388336
// return draw handle for specified item kind

style/JSRootPainter.css

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)