ROOT logo

#ifndef ROOT_GrCanvas
#define ROOT_GrCanvas

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// GrCanvas                                                              //
//                                                                      //
// Graphics canvas .                                                     //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#include "TList.h"
#include "TCanvas.h"
#include "TRootCanvas.h"
#include <iostream>

namespace std {} using namespace std;


class HprElement;
class GEdit;

class GrCanvas : public TCanvas {


private:
   TRootCanvas    * fRootCanvas;      //! dont stream
   GEdit          * fGEdit;           //! dont stream
   Int_t          fConnections;     //! dont stream
   Bool_t         fButtonsEnabled;    //! dont stream
   Bool_t         fEditorIsShown;     //! dont stream
   TList          *fHiddenPrimitives; //

   Double_t       fEditGridX;         //
   Double_t       fEditGridY;         //
   Int_t          fUseEditGrid;       //
   UInt_t         fOrigWw;
   UInt_t         fOrigWh;
   Int_t          fCurrentPlane;      //

//   void Build();
//
public:
   enum {
      kIsObjectList  = BIT(22),
      kIsAEditorPage = BIT(23)
   };
   GrCanvas();
   GrCanvas(const Text_t *name, const Text_t *title, Int_t wtopx, Int_t wtopy,
           Int_t ww, Int_t wh);
   virtual ~GrCanvas();
   virtual void HandleInput(EEventType button, Int_t x, Int_t y);
   virtual void DrawEventStatus(Int_t event, Int_t px, Int_t py, TObject *selected);
   void   RunAutoExec();
//   void   SetLog(Int_t state);
   void   MyClose();
	TRootCanvas * GetRootCanvas() { return fRootCanvas; } 
   Double_t GetEditGridX() {return fEditGridX;};
   Double_t GetEditGridY() {return fEditGridY;};
   void     SetEditGrid(Double_t x, Double_t y) {fEditGridX = x, fEditGridY = y;};
   void    SetUseEditGrid(Int_t use = 1) {fUseEditGrid = use;};
   Int_t   GetUseEditGrid() {return fUseEditGrid;};
   void    Add2ConnectedClasses(TObject *obj);
	void    RemoveFromConnectedClasses(TObject *obj);
	void    ObjectCreated(Int_t, Int_t, TObject*);
   void    ObjectMoved(Int_t, Int_t, TObject*);
   static  TObject * WaitForCreate(const char * what, TPad **pad);
   Double_t PutOnGridX(Double_t);
   Double_t PutOnGridY(Double_t);
   Double_t PutOnGridX_NDC(Double_t);
   Double_t PutOnGridY_NDC(Double_t);
   void     HideObject(TObject*);
   void     ViewObject(TObject*);
   void     ViewAllObjects();       // *MENU*
   Int_t    GetCurrentPlane() {return fCurrentPlane;};
   void     SetCurrentPlane(Int_t p) {fCurrentPlane = p;};
   TList    *GetHiddenPrimitives() {return fHiddenPrimitives;};
	void 		ListPrimitives();             // *MENU*
//______________________________________________________________________________

	void RemovePicture()
	{
		TList * lop = GetListOfPrimitives();
		TIter next(lop );
		TObject * obj;
		while ( (obj = next()) ) {
			if (obj->InheritsFrom("HprImage")) {
				lop->Remove(obj);
				break;
			}
		}
		Modified();
		Update();
	}                // *MENU*

   void     SetEnableButtons(Bool_t enable = kTRUE) {fButtonsEnabled = enable;};
   Bool_t   GetEnableButtons() {return fButtonsEnabled ;};
	UInt_t   GetOrigWw() { return fOrigWw; };
	UInt_t   GetOrigWh() { return fOrigWh; };
   void     SetShowEditor(Bool_t y = kTRUE) { fEditorIsShown = y; };
   Bool_t   GetShowEditor() { return fEditorIsShown; };
   GEdit    *GetGEdit() { return fGEdit; };
   void     SetGEdit(GEdit *ed) { fGEdit = ed; };
//   TList   *GetConnectedClasses() { return &fConnectedClasses;};
   ClassDef(GrCanvas,1)            //Graphics canvas
};

#endif

 GrCanvas.h:1
 GrCanvas.h:2
 GrCanvas.h:3
 GrCanvas.h:4
 GrCanvas.h:5
 GrCanvas.h:6
 GrCanvas.h:7
 GrCanvas.h:8
 GrCanvas.h:9
 GrCanvas.h:10
 GrCanvas.h:11
 GrCanvas.h:12
 GrCanvas.h:13
 GrCanvas.h:14
 GrCanvas.h:15
 GrCanvas.h:16
 GrCanvas.h:17
 GrCanvas.h:18
 GrCanvas.h:19
 GrCanvas.h:20
 GrCanvas.h:21
 GrCanvas.h:22
 GrCanvas.h:23
 GrCanvas.h:24
 GrCanvas.h:25
 GrCanvas.h:26
 GrCanvas.h:27
 GrCanvas.h:28
 GrCanvas.h:29
 GrCanvas.h:30
 GrCanvas.h:31
 GrCanvas.h:32
 GrCanvas.h:33
 GrCanvas.h:34
 GrCanvas.h:35
 GrCanvas.h:36
 GrCanvas.h:37
 GrCanvas.h:38
 GrCanvas.h:39
 GrCanvas.h:40
 GrCanvas.h:41
 GrCanvas.h:42
 GrCanvas.h:43
 GrCanvas.h:44
 GrCanvas.h:45
 GrCanvas.h:46
 GrCanvas.h:47
 GrCanvas.h:48
 GrCanvas.h:49
 GrCanvas.h:50
 GrCanvas.h:51
 GrCanvas.h:52
 GrCanvas.h:53
 GrCanvas.h:54
 GrCanvas.h:55
 GrCanvas.h:56
 GrCanvas.h:57
 GrCanvas.h:58
 GrCanvas.h:59
 GrCanvas.h:60
 GrCanvas.h:61
 GrCanvas.h:62
 GrCanvas.h:63
 GrCanvas.h:64
 GrCanvas.h:65
 GrCanvas.h:66
 GrCanvas.h:67
 GrCanvas.h:68
 GrCanvas.h:69
 GrCanvas.h:70
 GrCanvas.h:71
 GrCanvas.h:72
 GrCanvas.h:73
 GrCanvas.h:74
 GrCanvas.h:75
 GrCanvas.h:76
 GrCanvas.h:77
 GrCanvas.h:78
 GrCanvas.h:79
 GrCanvas.h:80
 GrCanvas.h:81
 GrCanvas.h:82
 GrCanvas.h:83
 GrCanvas.h:84
 GrCanvas.h:85
 GrCanvas.h:86
 GrCanvas.h:87
 GrCanvas.h:88
 GrCanvas.h:89
 GrCanvas.h:90
 GrCanvas.h:91
 GrCanvas.h:92
 GrCanvas.h:93
 GrCanvas.h:94
 GrCanvas.h:95
 GrCanvas.h:96
 GrCanvas.h:97
 GrCanvas.h:98
 GrCanvas.h:99
 GrCanvas.h:100
 GrCanvas.h:101
 GrCanvas.h:102
 GrCanvas.h:103
 GrCanvas.h:104
 GrCanvas.h:105
 GrCanvas.h:106
 GrCanvas.h:107
 GrCanvas.h:108
 GrCanvas.h:109
 GrCanvas.h:110