#include <TControlBar.h>
#include "Riostream.h"

Int_t gNumber1 = 0;

class MyClass : public TObject {
   
protected:
   TControlBar   *fControlBar;  // control bar
   Int_t fNumber1;
   
public:
   MyClass();
   virtual ~MyClass();

   void Build();
   void PrintEventStats();
   void CreateEventStats();
   void ShowResults();

   ClassDef(MyClass,0)
};

MyClass::MyClass(){

   fControlBar = 0;
//   fNumber1 = 0;
   ShowResults();
}

MyClass::~MyClass(){
   if (fControlBar) delete fControlBar;
}

void MyClass::Build(){

   fControlBar = new TControlBar("vertical", "MyBar"); // Orientation & title.
   
   fControlBar->AddButton("CreateEventStats", "MyClass::CreateEventStats()", "Calls CreateEventStats");
   fControlBar->AddButton("Print Number","printf(\"Number = %d\\n\",gNumber1);", "Prints the value of gNumber1");
   fControlBar->AddButton("Quit", ".q", "Quits ROOT");
   fControlBar->Show();
   gROOT->SaveContext();
}

void MyClass::PrintEventStats(){

   printf("In PrintEventStats()\n");
}

void MyClass::CreateEventStats(){

   printf("In CreateEventStats()\n");
   gNumber1++;
}

void MyClass::ShowResults(){

   Build();
   gNumber1 = 5;
   printf("In ShowResults() build the Control Bar\n");
}

void cbar2() {
   new MyClass();
}


