27 setAcceptDrops(
false);
29 LogText->sortByColumn(1, Qt::DescendingOrder);
31 LogText->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
32 LogText->header()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
33 LogText->header()->setSectionResizeMode(2, QHeaderView::ResizeToContents);
34 LogText->header()->setStretchLastSection(
true);
45 QString Date = dt.toString(
"dd.MM.yy ");
46 QString Time = dt.toString(
"hh.mm.ss ");
48 QTreeWidgetItem* Item =
new QTreeWidgetItem();
49 Item->setText(0, Date);
50 Item->setText(1, Time);
53 if(msg.contains(
"GO4-*")) level=1;
else
54 if(msg.contains(
"GO4-#")) level=2;
else
55 if(msg.contains(
"GO4-!")) level=3;
61 Item->setText(2,
"Warning");
62 Item->setIcon(0, QIcon(
":/icons/warn.png"));
65 Item->setText(2,
"Error");
66 Item->setIcon(0, QIcon(
":/icons/error.png"));
69 Item->setText(2,
"Info");
70 Item->setIcon(0, QIcon(
":/icons/info.png"));
74 Item->setText(3, msg);
76 LogText->addTopLevelItem(Item);
77 Item->setSelected(
true);
78 LogText->setCurrentItem(Item);
79 LogText->scrollToItem(Item);
84 TList *lst =
dynamic_cast<TList *
>(linkobj);
86 TListIter iter(lst, kFALSE);
87 while (
auto obj = iter()) {
89 if (obj == lst->First())
continue;
91 const char *msg = obj->GetName();
93 const char *separ = strchr(msg,
':');
94 if (!separ || (strlen(separ) < 3))
continue;
96 Long64_t tm = TString(msg, separ-msg).Atoll();
99 dt.setMSecsSinceEpoch(tm*1000);
103 if (*separ==
'2') level=2;
else
104 if (*separ==
'3') level=3;
108 }
else if (linkobj) {
109 AddMessage(QDateTime::currentDateTime(), 0, linkobj->GetName());
121 QFileDialog fd(
this,
"Save analysis log window", QString(),
122 "Plain text (*.txt)");
123 fd.setFileMode( QFileDialog::AnyFile );
124 fd.setAcceptMode(QFileDialog::AcceptSave);
126 if (fd.exec() != QDialog::Accepted)
return;
128 QStringList flst = fd.selectedFiles();
129 if (flst.isEmpty())
return;
131 QString fileName = flst[0];
132 if(!fileName.endsWith(
".txt")) fileName.append(
".txt");
133 QFile NewFile(fileName);
134 NewFile.open( QIODevice::ReadWrite | QIODevice::Append );
135 QTextStream t( &NewFile );
137 QTreeWidgetItemIterator it(LogText);
139 QTreeWidgetItem* itm = *it++;
140 t << itm->text(0) <<
" " << itm->text(1) <<
" " << itm->text(3) <<
"\n";
virtual void ClearLogInfo()
void WorkWithInfo(TGo4Slot *slot)
TGo4LogInfo(QWidget *parent=nullptr, const char *name=nullptr)
void linkedObjectUpdated(const char *linkname, TObject *obj) override
void AddMessage(const QDateTime &dt, int level, QString msg)
virtual void SaveLogInfo()