ROOT logo
#ifndef __TGMrbGeometry_h__
#define __TGMrbGeometry_h__

//_________________________________________________[C++ CLASS DEFINITION FILE]
//////////////////////////////////////////////////////////////////////////////
// Name:           gutils/inc/TGMrbGeometry.h
// Purpose:        Define utilities to be used with the MARaBOU GUI
// Class:          TGMrbGeometry                  -- window geometry
// Description:    Graphic utilities for the MARaBOU GUI.
// Author:         R. Lutter
// Revision:       $Id: TGMrbGeometry.h,v 1.1 2005-09-09 06:59:14 Rudolf.Lutter Exp $       
// Date:           
// Keywords:
//////////////////////////////////////////////////////////////////////////////

#include "Rtypes.h"
#include "GuiTypes.h"

#include "TSystem.h"
#include "TVirtualX.h"
#include "TGWindow.h"
#include "TGClient.h"
//______________________________________________________[C++ CLASS DEFINITION]
//////////////////////////////////////////////////////////////////////////////
// Name:           TGMrbGeometry
// Purpose:        A utility to ease use of ROOT's GC mechanisms
// Description:    Defines window geometry
// Keywords:
//////////////////////////////////////////////////////////////////////////////

class TGMrbGeometry : public TObject {

	public:
		enum	{	kGMrbScalePerc	=	80	};

	public:
		TGMrbGeometry(const Char_t * Application, Double_t ScaleFactor = 0.); // ctor
		TGMrbGeometry(TGWindow * Parent = NULL, Double_t ScaleFactor = 0.);
		~TGMrbGeometry() {};						// dtor

		inline const Char_t * GetApplication() { return(fApplication.Data()); };

		Bool_t SetScaleFactor(Double_t ScaleFactor = 0.);
		inline Double_t GetScaleFactor() { return(fScaleFactor); };

		inline Int_t GetParentX() { return(fParentX); };
		inline Int_t GetParentY() { return(fParentY); };
		inline Int_t GetParentWidth() { return((Int_t) fParentWidth); };
		inline Int_t GetParentHeight() { return((Int_t) fParentHeight); };
		inline Int_t GetX() { return(fX); };
		inline Int_t GetY() { return(fY); };
		inline Int_t GetWidth() { return((Int_t) fWidth); };
		inline Int_t GetHeight() { return((Int_t) fHeight); };

		inline void Help() { gSystem->Exec(Form("mrbHelp %s", this->ClassName())); };

	protected:
		TString fApplication;
		TGWindow * fParent;
		Double_t fScaleFactor;
		Int_t fParentX;
		Int_t fParentY;
		UInt_t fParentWidth;
		UInt_t fParentHeight;
		Int_t fX;
		Int_t fY;
		UInt_t fWidth;
		UInt_t fHeight;

	ClassDef(TGMrbGeometry, 0)		// [GraphUtils] Window geometry
};

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