#ifndef ROOT_TProofProgressLog
#define ROOT_TProofProgressLog
#ifndef ROOT_TGFrame
#include "TGFrame.h"
#endif
#ifndef ROOT_TString
#include "TString.h"
#endif
class TGTextView;
class TGTextButton;
class TProofProgressDialog;
class TProofLog;
class TGTextEntry;
class TGNumberEntry;
class TGListBox;
class TGSplitButton;
class TGVerticalFrame;
class TGCheckButton;
class TGLabel;
class TProofProgressLog : public TGTransientFrame {
private:
enum ETextType { kRaw = 0, kStd = 1, kGrep = 2 };
TString fSessionUrl;
Int_t fSessionIdx;
TGTextView *fText;
TGTextButton *fClose;
TGListBox *fLogList;
TGTextButton *fLogNew;
TProofProgressDialog *fDialog;
TProofLog *fProofLog;
TGNumberEntry *fLinesFrom;
TGNumberEntry *fLinesTo;
TGTextEntry *fGrepText;
TGTextEntry *fUrlText;
TGNumberEntry *fSessNum;
TGTextEntry *fFileName;
TGTextButton *fSave;
TGTextButton *fGrepButton;
TGTextButton *fUrlButton;
TGCheckButton *fAllLines;
TGCheckButton *fRawLines;
TGSplitButton *fAllWorkers;
TGVerticalFrame *fVworkers;
TGLabel *fGrepLabel;
TGCheckButton *fGrepCheckCmd;
TGCheckButton *fGrepCheckInv;
Bool_t fFullText;
Int_t fTextType;
void Init(Int_t w = 700, Int_t h = 600);
public:
TProofProgressLog(TProofProgressDialog *d, Int_t w = 700, Int_t h = 600);
TProofProgressLog(const char *url = 0, Int_t sessionidx = 0, Int_t w = 700, Int_t h = 600);
virtual ~TProofProgressLog();
void BuildLogList(Bool_t create = kFALSE);
void DoLog(Bool_t grep=kFALSE);
void LogMessage(const char *msg, Bool_t all);
void Rebuild();
void LoadBuffer(const char *buffer);
void AddBuffer(const char *buffer);
void LoadFile(const char *file);
void Clear(Option_t * = 0);
void Popup();
void SaveToFile();
void NoLineEntry();
void SetGrepView();
void Select(Int_t id, Bool_t all = kTRUE);
void SetUrl(const char *url) { fSessionUrl = url; }
void CloseWindow();
ClassDef(TProofProgressLog,0)
};
#endif