ROOT logo
#ifndef __TGMrbFileEntry_h__
#define __TGMrbFileEntry_h__

//_________________________________________________[C++ CLASS DEFINITION FILE]
//////////////////////////////////////////////////////////////////////////////
// Name:           gutils/inc/TGMrbFileEntry.h
// Purpose:        Define utilities to be used with the MARaBOU GUI
// Class:          TGMrbFileEntry         -- a TGMrbLabelEntry suitable to
//                                           browse files
// Description:    Graphic utilities for the MARaBOU GUI.
// Author:         R. Lutter
// Revision:       $Id: TGMrbFileEntry.h,v 1.7 2008-09-23 10:44:11 Rudolf.Lutter Exp $       
// Date:           
// Keywords:
//////////////////////////////////////////////////////////////////////////////

#include "Rtypes.h"
#include "TSystem.h"
#include "TGWindow.h"
#include "TGFrame.h"
#include "TGButton.h"
#include "TGFileDialog.h"
#include "TGTextEntry.h"

#include "TGMrbObject.h"
#include "TGMrbLayout.h"

//______________________________________________________[C++ CLASS DEFINITION]
//////////////////////////////////////////////////////////////////////////////
// Name:           TGMrbFileEntry
// Purpose:        Define a labelled text entry to browse files
// Description:    Defines a label together with a text entry field.
//                 A BROWSE button on left side opens a file dialog.
// Keywords:
//////////////////////////////////////////////////////////////////////////////

class TGMrbFileEntry: public TGCompositeFrame, public TGMrbObject {

	public:
		enum						{	kFrameIdShift 		=	16	};

	public:
		TGMrbFileEntry(const TGWindow * Parent, const Char_t * Label,				// ctor
							Int_t BufferSize, Int_t EntryId,
							Int_t Width, Int_t Height, Int_t EntryWidth,
							TGFileInfo * FileInfo,
							EFileDialogMode DialogMode,
							TGMrbLayout * FrameGC,
							TGMrbLayout * LabelGC = NULL,
							TGMrbLayout * EntryGC = NULL,
							TGMrbLayout * BrowseGC = NULL,
							UInt_t FrameOptions = kHorizontalFrame,
							UInt_t EntryOptions = kSunkenFrame | kDoubleBorder);

		~TGMrbFileEntry() {};				// default dtor

		inline TGTextEntry * GetEntry() const { return(fEntry); };
		inline const Char_t * GetText() { return(fEntry->GetText()); };
		inline void SetText(const Char_t * Text) { fEntry->SetText(Text); };

		void FileButtonEnable(Bool_t Flag = kTRUE);			// enable/disable file button

		void Browse();										// slot method called upon Clicked() signal

		void EntryChanged(Int_t FrameId, Int_t Signal = 0); //*SIGNAL*

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

	protected:
		Int_t fFrameId;
		TGTextEntry * fEntry;				//!
		TGPictureButton * fBrowse;	 		//!
		TGFileInfo fFileInfo;	 			//!
		EFileDialogMode fDialogMode;

	ClassDef(TGMrbFileEntry, 1) 	// [GraphUtils] A labelled entry field to browse file names
};

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