#ifndef __TGMrbProgressBar_h__
#define __TGMrbProgressBar_h__
#include "Rtypes.h"
#include "TSystem.h"
#include "TGWindow.h"
#include "TGFrame.h"
#include "TGLabel.h"
#include "TGProgressBar.h"
#include "TGTextView.h"
#include "TMrbLogger.h"
#include "TMrbLofNamedX.h"
#include "TGMrbTextButton.h"
class TGMrbProgressBar: public TGTransientFrame {
public:
enum { kBarWidth = 400, kBarHeight = 50 };
public:
TGMrbProgressBar(const TGWindow * Parent, const TGWindow * Main,
const Char_t * Title,
UInt_t Width = kBarWidth,
const Char_t * BarColor = "blue",
const Char_t * BarText = NULL,
Bool_t WithDetail = kFALSE);
~TGMrbProgressBar() { fHeap.Delete(); };
inline void SetRange(Float_t Min, Float_t Max) { fBar->SetRange(Min, Max); };
inline void Increment(Float_t Incr, const Char_t * Detail = NULL, Int_t Sleep = 50) {
fBar->Increment(Incr);
if (Detail && fDetail) fDetail->SetText(Detail);
gSystem->Sleep(Sleep);
};
inline void SetBarColor(const Char_t * Color) { fBar->SetBarColor(Color); };
inline void SetPosition(Int_t Position) { fBar->SetPosition(Position); };
inline void Reset() { fBar->Reset(); };
inline TGHProgressBar * Bar() { return fBar; };
inline void DeleteWindow() { TGTransientFrame::DeleteWindow(); };
inline void Help() { gSystem->Exec(Form("mrbHelp %s", this->ClassName())); };
protected:
TList fHeap;
TGHProgressBar * fBar;
TGLabel * fDetail;
TGMrbTextButtonList * fAction;
TMrbLofNamedX fLofActions;
ClassDef(TGMrbProgressBar, 1)
};
#endif