#ifndef __DGFOffsetsPanel_h__
#define __DGFOffsetsPanel_h__
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"
class DGFOffsetsPanel : public TGCompositeFrame {
public:
enum EDGFOffsetsActionId { kDGFOffsetsStart,
kDGFOffsetsAbort,
kDGFOffsetsSelectAll,
kDGFOffsetsSelectNone,
kDGFOffsetsSelectColumn
};
public:
DGFOffsetsPanel(TGCompositeFrame * TabFrame);
virtual ~DGFOffsetsPanel() { fHeap.Delete(); };
void SelectModule(Int_t FrameId, Int_t Selection);
void PerformAction(Int_t FrameId, Int_t Selection);
protected:
Bool_t StartRamp();
protected:
Int_t CalibrateDac(const Char_t * DgfName, Int_t Channel, Int_t Data[], Int_t NofWords, Int_t Offset, Int_t & DacValue);
protected:
TList fHeap;
TGGroupFrame * fModules;
TGMrbCheckButtonList * fCluster[kNofClusters];
TGHorizontalFrame * fGroupFrame;
TGMrbPictureButtonList * fGroupSelect[kNofModulesPerCluster];
TGMrbPictureButtonList * fAllSelect;
TGHorizontalFrame * fHFrame;
TGGroupFrame * fActionFrame;
TGMrbTextButtonList * fActionButtons;
TGGroupFrame * fOffsetFrame;
TGMrbLabelEntry * fOffsetValue;
TMrbLofNamedX fActions;
TMrbLofNamedX fLofModuleKeys[kNofClusters];
TGMrbFocusList fFocusList;
ClassDef(DGFOffsetsPanel, 0)
};
#endif