ROOT logo
#ifndef __DGFSaveModuleSettingsPanel_h__
#define __DGFSaveModuleSettingsPanel_h__

//_________________________________________________[C++ CLASS DEFINITION FILE]
//////////////////////////////////////////////////////////////////////////////
// Name:           DGFSaveModuleSettingsPanel.h
// Purpose:        Class defs for the XIA DGF-4C GUI
// Class:          DGFSaveModuleSettingsPanel
// Description:    A GUI to operate a XIA DGF-4C
// Author:         R. Lutter
// Revision:       $Id: DGFSaveModuleSettingsPanel.h,v 1.8 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:           DGFSaveModuleSettingsPanel
// Purpose:        Main frame to save module settings
// Constructors:   
// Description:    A dialog window to save module settings
// Keywords:       
//////////////////////////////////////////////////////////////////////////////

class DGFSaveModuleSettingsPanel : public TGCompositeFrame {

	public:

		// cmd ids to dispatch over X events in this panel
		enum EDGFSaveModuleSettingsActionsId 	{	kDGFSaveModuleSettingsRestore,
													kDGFSaveModuleSettingsSelectAll,
													kDGFSaveModuleSettingsSelectNone,
													kDGFSaveModuleSettingsSelectColumn
												};
				
	public:
		DGFSaveModuleSettingsPanel(TGCompositeFrame * TabFrame);
		virtual ~DGFSaveModuleSettingsPanel() { fHeap.Delete(); };

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

	protected:
		Bool_t SaveDatabase();						// save dgf settings to file

	protected:
		TList fHeap;								//! list of objects created on heap
		TGGroupFrame * fModules;			 		// module list
		TGMrbCheckButtonList * fCluster[kNofClusters];
		TGHorizontalFrame * fGroupFrame;
		TGMrbPictureButtonList * fGroupSelect[kNofModulesPerCluster];
		TGMrbPictureButtonList * fAllSelect;
		TGGroupFrame * fActionFrame;
		TGMrbTextButtonList * fActionButtons;
		
		TMrbLofNamedX fActions;						// text buttons:	actions to be taken
		
		TMrbLofNamedX fLofModuleKeys[kNofClusters];
		
		TGMrbFocusList fFocusList;

	ClassDef(DGFSaveModuleSettingsPanel, 0)		// [DGFControl] Save settings
};

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