ROOT logo
#ifndef __DGFUntrigTracePanel_h__
#define __DGFUntrigTracePanel_h__

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

namespace std {} using namespace std;

#include <iostream>
#include <iomanip>

#include "TList.h"

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

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

#include "TGMrbCheckButton.h"
#include "TGMrbRadioButton.h"
#include "TGMrbTextButton.h"
#include "TGMrbPictureButton.h"
#include "TGMrbLabelEntry.h"
#include "TGMrbFocusList.h"

#include "DGFControlCommon.h"

//______________________________________________________[C++ CLASS DEFINITION]
//////////////////////////////////////////////////////////////////////////////
// Name:           DGFUntrigTracePanel
// Purpose:        Main frame to take untriggered traces
// Constructors:   
// Description:    A dialog window to take untriggered traces
// Keywords:       
//////////////////////////////////////////////////////////////////////////////

class DGFUntrigTracePanel : public TGCompositeFrame {

	public:

		// cmd ids to dispatch over X events in this panel
		enum EDGFUntrigTraceActionId 	{
													kDGFUntrigTraceXwait,
													kDGFUntrigTraceStart,
													kDGFUntrigTraceAbort,
													kDGFUntrigTraceSelectAll,
													kDGFUntrigTraceSelectNone,
													kDGFUntrigTraceSelectColumn
												};
				
	public:
		DGFUntrigTracePanel(TGCompositeFrame * TabFrame);
		virtual ~DGFUntrigTracePanel() { fHeap.Delete(); };

		void PerformAction(Int_t FrameId, Int_t Selection); 	// slot methods
		void SelectModule(Int_t FrameId, Int_t Selection);

	protected:
		Bool_t StartTrace();

	protected:
		TList fHeap;								//! list of objects created on heap
		TGGroupFrame * fModules;			 		// module list
		TGMrbCheckButtonList * fCluster[kNofClusters];
		TGHorizontalFrame * fGroupFrame;
		TGMrbPictureButtonList * fGroupSelect[kNofModulesPerCluster];
		TGMrbPictureButtonList * fAllSelect;
		TGHorizontalFrame * fHFrame;
		TGGroupFrame * fXFrame;
		TGMrbLabelEntry * fXwait;							// wait states
		TGMrbCheckButtonGroup * fSelectChannel;		//	channel
		TGMrbTextButtonGroup * fActionFrame;

		TMrbLofNamedX fActions;						// text buttons:	actions to be taken
		
		TMrbLofNamedX fLofChannels;				//! channel numbers

		TMrbLofNamedX fLofDGFModuleKeys[kNofClusters];
		
		TGMrbFocusList fFocusList;

	ClassDef(DGFUntrigTracePanel, 0)		// [DGFControl] Untriggered trace
};

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