10 if (typeof JSROOT !=
"object") {
11 var e1 =
new Error(
"httptextlog.js requires JSROOT to be already loaded");
12 e1.source =
"httptextlog.js";
16 function MakeMsgListRequest(hitem, item) {
20 var arg =
"&max=1000";
21 if (
'last-id' in item) arg+=
"&id="+item[
'last-id'];
22 return 'exe.json.gz?method=Select' + arg;
25 function AfterMsgListRequest(hitem, item, obj) {
28 if (item==
null)
return;
31 delete item[
'last-id'];
35 if (obj[
'_typename'] !=
'TList')
return;
38 obj[
'_typename'] =
"TMsgList";
40 if (obj.arr.length>0) {
41 item[
'last-id'] = obj.arr[0].fString;
44 if (!(
'clear' in item))
45 item[
'clear'] =
function() {
delete this[
'last-id']; }
50 function DrawMsgList(divid, lst, opt) {
52 var painter =
new JSROOT.TBasePainter();
53 painter.SetDivId(divid);
55 painter.Draw =
function(lst) {
56 if (lst ==
null)
return;
58 var frame = d3.select(
"#" + this.divid);
60 var
main = frame.select(
"div");
62 main = frame.append(
"div")
63 .style(
'max-width',
'100%')
64 .style(
'max-height',
'100%')
65 .style(
'overflow',
'auto');
67 var old = main.selectAll(
"pre");
68 var newsize = old.size() + lst.arr.length - 1;
72 old.select(
function(d,i) {
return i < newsize - 1000 ?
this :
null; }).
remove();
74 for (var i=lst.arr.length-1;i>0;i--)
75 main.append(
"pre").html(lst.arr[i].fString);
78 this.SetDivId(this.divid);
81 painter.RedrawObject =
function(obj) {
87 return painter.DrawingReady();
90 JSROOT.addDrawFunc({
name:
"TMsgList", icon:
"img_text", make_request:MakeMsgListRequest, after_request:AfterMsgListRequest,
func:DrawMsgList, opt:
"list"});
void Error(const char *location, const char *msgfmt,...)
double func(double *x, double *p)
int main(int argc, char **argv)