// @(#)root/gpad:$Id$
// Author: Rene Brun   08/01/2000

/*************************************************************************
 * 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_TInspectCanvas
#define ROOT_TInspectCanvas


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TInspectCanvas                                                       //
//                                                                      //
// This class is a specialized canvas to inspect Root objects.          //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TCanvas
#include "TCanvas.h"
#endif
#ifndef ROOT_TAttText
#include "TAttText.h"
#endif

class TButton;

class TInspectCanvas : public TCanvas, public TAttText {

protected:

   TButton     *fBackward;      //Pointer to the Backward button
   TButton     *fForward;       //Pointer to the Forward button
   TList       *fObjects;       //List of objects inspected
   TObject     *fCurObject;     //Pointer to object being inspected

public:
   TInspectCanvas();
   TInspectCanvas(UInt_t ww, UInt_t wh);
   virtual        ~TInspectCanvas();
   TButton       *GetBackward() const  {return fBackward;}
   TButton       *GetForward() const    {return fForward;}
   TObject       *GetCurObject() const  {return fCurObject;}
   TList         *GetObjects() const    {return fObjects;}
   static  void   GoBackward();
   static  void   GoForward();
   static  void   Inspector(TObject *obj);
   virtual void   InspectObject(TObject *obj);
   virtual void   RecursiveRemove(TObject *obj);

   //dummies
   virtual void   Divide(Int_t nx=1, Int_t ny=1, Float_t xmargin=0.01, Float_t ymargin=0.01, Int_t color=0);
   virtual void   SetGrid(Int_t valuex = 1, Int_t valuey = 1);
   virtual void   SetGridx(Int_t value = 1);
   virtual void   SetGridy(Int_t value = 1);
   virtual void   SetLogx(Int_t value = 1);
   virtual void   SetLogy(Int_t value = 1);
   virtual void   SetLogz(Int_t value = 1);
   virtual void   SetTickx(Int_t value = 1);
   virtual void   SetTicky(Int_t value = 1);
   virtual void   x3d(Option_t *option="");

   ClassDef(TInspectCanvas,1)  //The canvas Inspector
};

inline void TInspectCanvas::Divide(Int_t, Int_t, Float_t, Float_t, Int_t) { }
inline void TInspectCanvas::SetGrid(Int_t, Int_t) { }
inline void TInspectCanvas::SetGridx(Int_t) { }
inline void TInspectCanvas::SetGridy(Int_t) { }
inline void TInspectCanvas::SetLogx(Int_t) { }
inline void TInspectCanvas::SetLogy(Int_t) { }
inline void TInspectCanvas::SetLogz(Int_t) { }
inline void TInspectCanvas::SetTickx(Int_t) { }
inline void TInspectCanvas::SetTicky(Int_t) { }
inline void TInspectCanvas::x3d(Option_t *) { }

#endif

 TInspectCanvas.h:1
 TInspectCanvas.h:2
 TInspectCanvas.h:3
 TInspectCanvas.h:4
 TInspectCanvas.h:5
 TInspectCanvas.h:6
 TInspectCanvas.h:7
 TInspectCanvas.h:8
 TInspectCanvas.h:9
 TInspectCanvas.h:10
 TInspectCanvas.h:11
 TInspectCanvas.h:12
 TInspectCanvas.h:13
 TInspectCanvas.h:14
 TInspectCanvas.h:15
 TInspectCanvas.h:16
 TInspectCanvas.h:17
 TInspectCanvas.h:18
 TInspectCanvas.h:19
 TInspectCanvas.h:20
 TInspectCanvas.h:21
 TInspectCanvas.h:22
 TInspectCanvas.h:23
 TInspectCanvas.h:24
 TInspectCanvas.h:25
 TInspectCanvas.h:26
 TInspectCanvas.h:27
 TInspectCanvas.h:28
 TInspectCanvas.h:29
 TInspectCanvas.h:30
 TInspectCanvas.h:31
 TInspectCanvas.h:32
 TInspectCanvas.h:33
 TInspectCanvas.h:34
 TInspectCanvas.h:35
 TInspectCanvas.h:36
 TInspectCanvas.h:37
 TInspectCanvas.h:38
 TInspectCanvas.h:39
 TInspectCanvas.h:40
 TInspectCanvas.h:41
 TInspectCanvas.h:42
 TInspectCanvas.h:43
 TInspectCanvas.h:44
 TInspectCanvas.h:45
 TInspectCanvas.h:46
 TInspectCanvas.h:47
 TInspectCanvas.h:48
 TInspectCanvas.h:49
 TInspectCanvas.h:50
 TInspectCanvas.h:51
 TInspectCanvas.h:52
 TInspectCanvas.h:53
 TInspectCanvas.h:54
 TInspectCanvas.h:55
 TInspectCanvas.h:56
 TInspectCanvas.h:57
 TInspectCanvas.h:58
 TInspectCanvas.h:59
 TInspectCanvas.h:60
 TInspectCanvas.h:61
 TInspectCanvas.h:62
 TInspectCanvas.h:63
 TInspectCanvas.h:64
 TInspectCanvas.h:65
 TInspectCanvas.h:66
 TInspectCanvas.h:67
 TInspectCanvas.h:68
 TInspectCanvas.h:69
 TInspectCanvas.h:70
 TInspectCanvas.h:71
 TInspectCanvas.h:72
 TInspectCanvas.h:73
 TInspectCanvas.h:74
 TInspectCanvas.h:75
 TInspectCanvas.h:76
 TInspectCanvas.h:77
 TInspectCanvas.h:78
 TInspectCanvas.h:79
 TInspectCanvas.h:80
 TInspectCanvas.h:81
 TInspectCanvas.h:82
 TInspectCanvas.h:83