ROOT logo
#ifndef __DGFSetFilesPanel_h__
#define __DGFSetFilesPanel_h__

//_________________________________________________[C++ CLASS DEFINITION FILE]
//////////////////////////////////////////////////////////////////////////////
// Name:           DGFSetFilesPanel.h
// Purpose:        Class defs for the XIA DGF-4C GUI
// Class:          DGFSetFilesPanel
// Description:    A GUI to operate a XIA DGF-4C
// Author:         R. Lutter
// Revision:       $Id: DGFSetFilesPanel.h,v 1.8 2008-12-29 13:48:25 Rudolf.Lutter Exp $       
// Date:           
// URL:            
// Keywords:       
//////////////////////////////////////////////////////////////////////////////

#include "TList.h"

#include "TGWindow.h"
#include "TGFrame.h"

#include "TMrbLofNamedX.h"
#include "TMrbDGF.h"

#include "TGMrbTextButton.h"
#include "TGMrbLabelEntry.h"
#include "TGMrbFileEntry.h"
#include "TGMrbFocusList.h"

#include "DGFControlCommon.h"

//______________________________________________________[C++ CLASS DEFINITION]
//////////////////////////////////////////////////////////////////////////////
// Name:           DGFSetFilesPanel
// Purpose:        Main frame to define filenames and paths
// Description:    A dialog window to enter file names and paths
// Keywords:       
//////////////////////////////////////////////////////////////////////////////

class DGFSetFilesPanel : public TGCompositeFrame {

	public:

		// cmd ids to dispatch over X events in this panel
		enum EDGFSetFilesCmdId 	{	kDGFSetFilesUserPath,
									kDGFSetFilesUserSettings,
									kDGFSetFilesUserRunData,
									kDGFSetFilesSystemPath,
									kDGFSetFilesSystemDSPCode,
									kDGFSetFilesSystemDSPParams,
									kDGFSetFilesSystemUPSAParams,
									kDGFSetFilesSystemSystemFPGAConfig,
									kDGFSetFilesSystemFippiFPGAConfig,
									kDGFSetFilesSystemDgfSettings,
									kDGFSetFilesSystemCptmCode,
									kDGFSetFilesSystemCptmSettings,
									kDGFSetFilesApply,
								};

	public:
		DGFSetFilesPanel(TGCompositeFrame * TabFrame);
		virtual ~DGFSetFilesPanel() { fHeap.Delete(); };

		void PerformAction(Int_t FrameId, Int_t Selection); 	//slot method

	protected:
		TList fHeap;									//! list of objects created on heap
		TGGroupFrame * fUserFrame; 						// user
		TGMrbLabelEntry * fUserRunDataEntry;			//		run data file
		TGGroupFrame * fSystemDgfFrame; 				// system (dgf)
		TGMrbFileEntry * fSystemDSPCodeEntry;			//		DSP code
		TGMrbFileEntry * fSystemDSPParamsEntry; 		//		params
		TGMrbFileEntry * fSystemUPSAParamsEntry; 		//		... user psa
		TGMrbFileEntry * fSystemSystemFPGAConfigEntry;	//		FPGA config (system)
		TGMrbFileEntry * fSystemFippiFPGAConfig[TMrbDGFData::kNofRevs];	//		... (fippi, rev D, E)
		TGMrbFileEntry * fSystemDgfSettingsEntry;		//		dgf settings
		TGGroupFrame * fSystemCptmFrame; 				// system (cptm)
		TGMrbFileEntry * fSystemCptmCodeEntry;			//		C_PTM module
		TGMrbFileEntry * fSystemCptmSettingsEntry;		//		cptm settings

		TGGroupFrame * fActionFrame;
		TGMrbTextButtonList * fButtonFrame; 			// buttons: apply/close

														// file info
		TGFileInfo fSystemDSPCodeFileInfo;				//		DSP code
		TGFileInfo fSystemDSPParamsFileInfo; 			//		params
		TGFileInfo fSystemUPSAParamsFileInfo; 			//		... user psa
		TGFileInfo fSystemSystemFPGAFileInfo;			//		FPGA config (system)
		TGFileInfo fSystemFippiFPGAFileInfo[TMrbDGFData::kNofRevs];	//		... (fippi, revD, revE)
		TGFileInfo fSystemDgfSettingsPathInfo;			//		dgf settings
		TGFileInfo fSystemCptmCodeFileInfo;				//		CPTM code
		TGFileInfo fSystemCptmSettingsPathInfo;			//		cptm settings

		TMrbLofNamedX fLofButtons; 
		TGMrbFocusList fFocusList;

	ClassDef(DGFSetFilesPanel, 0)		// [DGFControl] Define file paths
};

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