24 ClassImp(TSessionLogView);
 
   29 TSessionLogView::TSessionLogView(TSessionViewer *viewer, UInt_t w, UInt_t h) :
 
   30    TGTransientFrame(gClient->GetRoot(), viewer, w, h)
 
   33    fTextView = 
new TGTextView(
this, w, h, kSunkenFrame | kDoubleBorder);
 
   34    fL1 = 
new TGLayoutHints(kLHintsExpandX | kLHintsExpandY, 3, 3, 3, 3);
 
   35    AddFrame(fTextView, fL1);
 
   37    fClose = 
new TGTextButton(
this, 
"  &Close  ");
 
   38    fL2 = 
new TGLayoutHints(kLHintsBottom | kLHintsCenterX, 0, 0, 5, 5);
 
   39    AddFrame(fClose, fL2);
 
   42    fViewer->SetLogWindow(
this);
 
   46    Resize(GetDefaultSize());
 
   51 TSessionLogView::~TSessionLogView()
 
   58 void TSessionLogView::SetTitle()
 
   61    title.Form(
"PROOF Processing Logs: %s", (fViewer->GetActDesc()->fProof ?
 
   62               fViewer->GetActDesc()->fProof->GetMaster() : 
"<dummy>"));
 
   70 void TSessionLogView::Popup()
 
   78 void TSessionLogView::AddBuffer(
const char *buffer)
 
   81    txt.LoadBuffer(buffer);
 
   82    fTextView->AddText(&txt);
 
   83    fTextView->ShowBottom();
 
   89 void TSessionLogView::ClearLogView()
 
   97 void TSessionLogView::LoadBuffer(
const char *buffer)
 
   99    fTextView->LoadBuffer(buffer);
 
  100    fTextView->ShowBottom();
 
  106 void TSessionLogView::LoadFile(
const char *file)
 
  108    fTextView->LoadFile(file);
 
  109    fTextView->ShowBottom();
 
  115 void TSessionLogView::CloseWindow()
 
  117    if (fViewer->GetActDesc()->fProof) {
 
  118       fViewer->GetActDesc()->fProof->Disconnect(
 
  119             "LogMessage(const char*,Bool_t)", fViewer,
 
  120             "LogMessage(const char*,Bool_t)");
 
  122    fViewer->SetLogWindow(0);
 
  133 Bool_t TSessionLogView::ProcessMessage(Long_t msg, Long_t, Long_t)
 
  135    switch (GET_MSG(msg)) {
 
  137          switch (GET_SUBMSG(msg)) {