// @(#)root/proofplayer:$Id$
// Author: Maarten Ballintijn   28/10/2003

/*************************************************************************
 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TDrawFeedback
#define ROOT_TDrawFeedback


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TDrawFeedback                                                        //
//                                                                      //
// Utility class to draw objects in the feedback list during queries.   //
// Draws histograms in separated canvases and user-defined objects via  //
// Draw(). Users requiring advanced treatment should implement their    //
// own version following this example. See also TStatsFeedback.         //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TQObject
#include "TQObject.h"
#endif
#ifndef ROOT_TObject
#include "TObject.h"
#endif

class TProof;
class TProof;
class THashList;
class TSeqCollection;

class TDrawFeedback : public TObject, public TQObject {
private:
   TString        fName;   // Identfier for this object
   Bool_t         fAll;    //draw all or selected objects
   THashList     *fNames;  //selected objects

protected:
   Option_t      *fOption; //draw option
   TProof        *fProof;  //handle to PROOF session

public:
   TDrawFeedback(TProof *proof = 0, TSeqCollection *names = 0);
   ~TDrawFeedback();

   void Feedback(TList *objs);
   const char *GetName() const { return fName.Data(); }
   ULong_t  Hash() const { return fName.Hash(); }
   void SetOption(Option_t *option) { fOption = option; }

   ClassDef(TDrawFeedback,0)  // Present PROOF query feedback
};

#endif
 TDrawFeedback.h:1
 TDrawFeedback.h:2
 TDrawFeedback.h:3
 TDrawFeedback.h:4
 TDrawFeedback.h:5
 TDrawFeedback.h:6
 TDrawFeedback.h:7
 TDrawFeedback.h:8
 TDrawFeedback.h:9
 TDrawFeedback.h:10
 TDrawFeedback.h:11
 TDrawFeedback.h:12
 TDrawFeedback.h:13
 TDrawFeedback.h:14
 TDrawFeedback.h:15
 TDrawFeedback.h:16
 TDrawFeedback.h:17
 TDrawFeedback.h:18
 TDrawFeedback.h:19
 TDrawFeedback.h:20
 TDrawFeedback.h:21
 TDrawFeedback.h:22
 TDrawFeedback.h:23
 TDrawFeedback.h:24
 TDrawFeedback.h:25
 TDrawFeedback.h:26
 TDrawFeedback.h:27
 TDrawFeedback.h:28
 TDrawFeedback.h:29
 TDrawFeedback.h:30
 TDrawFeedback.h:31
 TDrawFeedback.h:32
 TDrawFeedback.h:33
 TDrawFeedback.h:34
 TDrawFeedback.h:35
 TDrawFeedback.h:36
 TDrawFeedback.h:37
 TDrawFeedback.h:38
 TDrawFeedback.h:39
 TDrawFeedback.h:40
 TDrawFeedback.h:41
 TDrawFeedback.h:42
 TDrawFeedback.h:43
 TDrawFeedback.h:44
 TDrawFeedback.h:45
 TDrawFeedback.h:46
 TDrawFeedback.h:47
 TDrawFeedback.h:48
 TDrawFeedback.h:49
 TDrawFeedback.h:50
 TDrawFeedback.h:51
 TDrawFeedback.h:52
 TDrawFeedback.h:53
 TDrawFeedback.h:54
 TDrawFeedback.h:55
 TDrawFeedback.h:56
 TDrawFeedback.h:57
 TDrawFeedback.h:58
 TDrawFeedback.h:59
 TDrawFeedback.h:60
 TDrawFeedback.h:61